C sharp wrapper method validation
Curated, evidence-grounded skill and software-tool collections for scientific AI agents, generated by the AgenticScienceBuilder
npx -y skills add HolobiomicsLab/asb-skill-collections --skill c-sharp-wrapper-method-validationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when when integrating an R package that wraps a compiled .NET assembly (such as rawrr), you need to verify that the internal dispatch mechanism between the R layer and the C# layer is operational before attempting to read actual raw data files.
The file declares its own license as CC-BY-4.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
6.4 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
C# Wrapper Method Validation
Summary
Validate that R functions can successfully invoke compiled C# wrapper methods through system calls and retrieve assembly metadata without requiring input data files. This skill confirms the two-layer R/C# architecture is functioning correctly and that the managed .NET assembly is properly dispatched.
When to use
When integrating an R package that wraps a compiled .NET assembly (such as rawrr), you need to verify that the internal dispatch mechanism between the R layer and the C# layer is operational before attempting to read actual raw data files. Use this skill after package installation or when troubleshooting data access failures.
When NOT to use
- Input is a raw mass spectrometry data file (.raw) — use readFileHeader() or readSpectrum() instead to access actual spectral data.
- You are testing end-to-end data extraction — this skill only validates the interop layer, not data parsing correctness.
- The .NET assembly has not been installed or bundled with the package — check installation logs first.
Inputs
- Installed rawrr R package with bundled .NET 8.0 assembly
Outputs
- Assembly path string (directory containing rawrr.exe)
- Assembly version string
- Confirmation that dispatch mechanism is operational
How to apply
Load the rawrr package and call its internal assembly dispatch functions: rawrr:::.rawrrAssembly() to retrieve the precompiled .NET assembly path, and rawrr:::.getRawrrAssemblyVersion() to retrieve the version string. Both functions must execute without error and without requiring a raw data file as input. Verify that .rawrrAssembly() returns a non-empty path pointing to a valid directory containing the rawrr.exe executable, and that .getRawrrAssemblyVersion() returns a non-empty version string. This validates the two-layer architecture where R functions invoke C# wrapper methods using system calls to extract information, write it to temporary storage, and read it back into R objects.
Related tools
- rawrr (R package that wraps RawFileReader .NET assembly and provides the dispatch functions being validated) — https://github.com/fgcz/rawrr
- RawFileReader (Thermo Fisher Scientific .NET assembly providing compiled C# wrapper methods for reading Orbitrap raw files) — https://github.com/thermofisherlsms/RawFileReader
Examples
rawrr:::.rawrrAssembly(); rawrr:::.getRawrrAssemblyVersion()
Evaluation signals
- rawrr:::.rawrrAssembly() returns a non-empty path string without error
- Returned assembly path points to a valid directory containing rawrr.exe executable
- rawrr:::.getRawrrAssemblyVersion() returns a non-empty version string without error
- Both functions execute successfully without requiring any raw data file as input parameter
- Returned version string follows expected semantic versioning format (e.g., '1.0.0' or similar)
Limitations
- On Windows systems, the decimal symbol must be configured as '.' for proper data extraction downstream, though this validation step itself is platform-agnostic.
- These internal functions (.rawrrAssembly() and .getRawrrAssemblyVersion()) are undocumented/private API methods (prefixed with .), so their availability or behavior may change across package versions.
- Successful validation of the dispatch mechanism does not guarantee that actual raw data files will be readable; it only confirms the R-to-C# interop layer is operational.
Evidence
- [other] The rawrr package implements a two-layer architecture where R functions invoke compiled C# wrapper methods using system calls, with extracted information written to temporary storage and read back into R objects for parsing.: "The rawrr package implements a two-layer architecture where R functions invoke compiled C# wrapper methods using system calls, with extracted information written to temporary storage and read back"
- [other] Call rawrr:::.rawrrAssembly() to retrieve the path to the precompiled .NET 8.0 assembly bundled with the package and verify that the returned path points to a valid directory containing the rawrr.exe executable.: "Call rawrr:::.rawrrAssembly() to retrieve the path to the precompiled .NET 8.0 assembly bundled with the package. 3. Verify that the returned path points to a valid directory containing the rawrr.exe"
- [other] Confirm that both functions execute successfully without requiring a raw data file input, demonstrating the internal dispatch mechanism between the R layer and the managed C# assembly layer.: "Confirm that both functions execute successfully without requiring a raw data file input, demonstrating the internal dispatch mechanism between the R layer and the managed C# assembly layer."
- [methods] Specifically, R functions requesting access to data stored in binary raw files invoke compiled C# wrapper methods using a system call, with extracted information written to temporary locations on harddrive, read back into memory and parsed into R objects.: "Specifically,
Rfunctions requesting access to data stored in binary raw files invoke compiledC#wrapper methods using a system call... the extracted information is written to a temporary" - [readme] rawrr wraps the functionality of the RawFileReader .NET assembly, which is a group of assemblies written in C# used to read Thermo Scientific RAW files on Windows, Linux, and MacOS.: "rawrr wraps the functionality of the RawFileReader .NET assembly"
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.