agentsclimarketplace

Molecular structure validation

Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v2/skills/molecular-structure-validation

Curated, evidence-grounded skill and software-tool collections for scientific AI agents, generated by the AgenticScienceBuilder

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill molecular-structure-validation

Assembled 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 ingesting SMILES strings from CSV or other bulk molecular input files before passing them to structure-based prediction tools.

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.1 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it

molecular-structure-validation

License: restricted — no clear open-source license detected for the underlying tool; verify licensing before commercial use or redistribution. <!-- asb-license-banner -->

Summary

Validates syntactic correctness and structural integrity of SMILES strings prior to computational chemistry analysis. This skill ensures only well-formed molecular representations enter downstream processing pipelines like CypReact, preventing parsing errors and invalid predictions.

When to use

Apply this skill when ingesting SMILES strings from CSV or other bulk molecular input files before passing them to structure-based prediction tools. Validation is required whenever molecule data originates from external sources or user-supplied input, or when deduplication and data quality assessment are prerequisites for CYP isoform metabolite prediction workflows.

When NOT to use

  • SMILES strings are already validated and sourced from a trusted, curated molecular database with documented quality control.
  • Input is pre-formatted as an SDF file with embedded 3D coordinates; use SDF parsing and validation instead.
  • Molecules are represented in formats other than SMILES (e.g., InChI, molecular name) without prior conversion to SMILES.

Inputs

  • CSV file containing SMILES strings separated by commas
  • Individual SMILES string (string)

Outputs

  • Validated and deduplicated molecule list (CSV file)
  • Validated and deduplicated molecule list (JSON structured object)
  • Validation report with pass/fail status per molecule

How to apply

Load the CSV file containing comma-separated SMILES strings using a CSV parser such as pandas. For each SMILES string, invoke a molecular structure validator (RDKit or equivalent) to verify syntactic correctness and confirm the string can be converted to a valid molecular object. Flag or reject SMILES that fail to parse or produce invalid molecular graphs. Extract and deduplicate the resulting molecule list to remove redundant entries. Format the validated, deduplicated molecule list as a structured data object (DataFrame or JSON) with validated SMILES strings and metadata fields (e.g., original row index, validation status). Write the output to a CSV or JSON file compatible with downstream tools like CypReact.

Related tools

  • RDKit (Validates SMILES string syntactic correctness and converts strings to molecular structure objects for structural validation)
  • pandas (Loads and parses CSV files containing comma-separated SMILES strings; organizes validated output into DataFrames)
  • CypReact (Accepts validated and formatted SMILES input as CSV or SDF files for CYP isoform metabolite prediction) — github:bitbucket.org__Leon_Ti__cypreact

Examples

import pandas as pd; from rdkit import Chem; df = pd.read_csv('molecules.csv'); df['valid_smiles'] = [Chem.MolToSmiles(Chem.MolFromSmiles(s)) if Chem.MolFromSmiles(s) else None for s in df['smiles']]; df_valid = df.dropna(subset=['valid_smiles']).drop_duplicates(subset=['valid_smiles']); df_valid.to_csv('validated_molecules.csv', index=False)

Evaluation signals

  • All SMILES strings in the output parse successfully without exceptions when re-ingested by RDKit or equivalent validator.
  • Each validated SMILES produces a valid molecular object with atomic and bond information intact; no null or undefined molecular graphs.
  • Deduplicated molecule count is ≤ input count; duplicate SMILES are removed exactly once with no false negatives.
  • Output CSV/JSON schema matches the expected format (columns: original_smiles, validated_smiles, validation_status, deduplication_flag).
  • All molecules in the validated output file are compatible with CypReact input specifications (parseable by CypReact without file format errors).

Limitations

  • Validation does not verify chemical plausibility or biological relevance; syntactically correct SMILES may represent unstable or non-existent compounds.
  • SMILES canonicalization differences may cause false duplicate detection if isomeric variants are represented with different SMILES strings.
  • RDKit and equivalent validators may have edge-case differences in SMILES parsing; behavior is tool-dependent.
  • Validation does not assess the appropriateness of molecules for CYP metabolism prediction (e.g., molecular weight, logP thresholds specific to CypReact are not enforced).

Evidence

  • [other] Validate each SMILES string for syntactic correctness using RDKit or equivalent molecular structure validator.: "Validate each SMILES string for syntactic correctness using RDKit or equivalent molecular structure validator."
  • [intro] CSV file format and parsing requirements for CypReact input: "If the user input a .csv file, it should contains the SMILEs of all molecules and split them with ","."
  • [other] Deduplication and structured output formatting: "Extract and deduplicate the molecule list. 4. Format the parsed molecule list as a structured data object (DataFrame or JSON) compatible with CypReact input specifications."
  • [intro] Output file requirements: "The user can output a .sdf file or a .csv file."

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.