Sdf format validation
Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v2/skills/sdf-format-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 sdf-format-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 you have downloaded an SDF-formatted compound database file (such as from the DNA adductomics database) and need to verify that the file is not corrupted, that each record represents a single valid chemical structure, and to obtain a record count before proceeding to structure-based.
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
5.7 KB, 902 tokens by cl100k_base, as published. Nobody here has run it
sdf-format-validation
License: restricted — no clear open-source license detected for the underlying tool; verify licensing before commercial use or redistribution. <!-- asb-license-banner -->
Summary
Validate the structural integrity and parseable format of an SDF (Structure Data Format) compound database file, confirming one entry per compound and extracting metadata for database quality assurance. This skill ensures that downloaded or deposited SDF files are suitable for downstream cheminformatics analysis.
When to use
When you have downloaded an SDF-formatted compound database file (such as from the DNA adductomics database) and need to verify that the file is not corrupted, that each record represents a single valid chemical structure, and to obtain a record count before proceeding to structure-based queries or molecular property calculations.
When NOT to use
- The SDF file has already been validated by the source repository and you are only performing structure similarity or property-based queries (validation is redundant).
- You are working with a different chemical structure format (e.g., MOL, SMILES, InChI) and do not need SDF-specific parsing.
Inputs
- SDF file (Structure Data Format compound database)
Outputs
- Validation report (count of total records, count of parseable vs. unparseable records, file integrity status)
- Parsed molecular objects (RDKit Mol objects for valid compounds)
How to apply
Download the SDF file to local storage, then parse it using RDKit's SDF reader to iterate through all molecular records. For each record, verify that the structure data is chemically valid and that the molecule can be successfully deserialized. Count the total number of records and cross-reference against expected compound counts from database documentation. Generate a validation report documenting file integrity (parse success rate), total record count, and any records that failed to parse. Use RDKit's sanitization checks to catch invalid valence states or connectivity errors.
Related tools
- RDKit (Parse SDF file to verify structural validity, extract molecular records, and perform sanitization checks on chemical structures)
Examples
from rdkit import Chem; suppl = Chem.SDMolSupplier('dna_adductomics_database.sdf'); valid_count = sum(1 for mol in suppl if mol is not None); print(f'Total records: {len(suppl)}, Valid molecules: {valid_count}')
Evaluation signals
- SDF file is successfully parsed without fatal I/O errors or format exceptions
- All molecular records can be deserialized into valid RDKit Mol objects with no valence or connectivity errors
- Extracted record count matches the expected number of DNA adduct compounds in the database (from documentation or metadata)
- Validation report shows 100% or near-100% parse success rate; any failed records are flagged with specific error reasons
- Each parsed record contains valid atom/bond topology and satisfies chemical valence rules
Limitations
- RDKit sanitization may fail on non-standard or highly unusual chemical structures that are nevertheless valid; false negatives are possible.
- The SDF file format does not guarantee uniqueness of compounds across records; validation detects format integrity but not semantic duplication.
- Very large SDF files may consume significant memory during parsing; consider streaming or chunked parsing for databases with millions of records.
Evidence
- [other] Access the nexs-metabolomics GitLab repository and locate the SDF format compound database file: "Access the nexs-metabolomics GitLab repository (gitlab.com/nexs-metabolomics/projects/dna_adductomics_database) and locate the SDF format compound database file."
- [other] Parse using RDKit to verify structural validity: "Parse the SDF file using RDKit to verify structural validity and extract the number of molecular records."
- [other] Generate validation report documenting file integrity and record count: "generate a validation report documenting file integrity, record count, and parseable structure verification."
- [intro] DNA adductomics database available in multiple formats including SDF: "The following files are available: [Excel format, Word format, online, SDF format, experimental fragments online, predicted fragments online, collection of Excel file, online databases, CFM-ID]"
- [other] Each record represents a single DNA adduct compound: "Confirm that each record represents a single DNA adduct compound and generate a validation report"
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.