Source profileQuality 88/100

K-Dense-AI/scientific-agent-skills/skills/datamol/SKILL.md

datamol

Pythonic wrapper around RDKit with simplified interface and sensible defaults. Preferred for standard drug discovery including SMILES parsing, standardization, descriptors, fingerprints, clustering, 3D conformers, parallel processing. Returns native rdkit.Chem.Mol objects. For advanced control or custom parameters, use rdkit directly.

Source repository stars
31,966
Declared platforms
0
Static risk flags
0
Last source update
2026-07-28
Source checked
2026-07-28

Decision brief

What it does—and where it fits

Pythonic wrapper around RDKit with simplified interface and sensible defaults. Preferred for standard drug discovery including SMILES parsing, standardization, descriptors, fingerprints, clustering, 3D conformers, parallel processing.

Best for

    Not for

    • Solution: Use dm.standardizesmiles() first or try dm.fixmol()
    • Solution: Use dm.pickdiverse() instead of full clustering for large sets

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/K-Dense-AI/scientific-agent-skills --skill "skills/datamol"
    Safe inspection promptEditorial

    Inspect the Agent Skill "datamol" from https://github.com/K-Dense-AI/scientific-agent-skills/blob/e7ac42510774624f327003c95b6650e2883bc01d/skills/datamol/SKILL.md at commit e7ac42510774624f327003c95b6650e2883bc01d. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Installation and Setup

      Guide users to install datamol:

      Guide users to install datamol:RDKit is installed automatically with datamol. For remote file paths (S3, GCS, HTTP), install the matching fsspec backend:
    2. 02

      Core Workflows

      Ten workflow areas, each with worked code, are documented in references/coreworkflows.md:

      Ten workflow areas, each with worked code, are documented in references/coreworkflows.md:Three end-to-end pipelines — load/filter/analyze, SAR by scaffold series, and virtual screening — are in references/workflowpatterns.md.
    3. 03

      Parallelization

      Datamol includes built-in parallelization for many operations. Use njobs parameter: - njobs=1: Sequential (no parallelization) - njobs=-1: Use all available CPU cores - njobs=4: Use 4 cores

      njobs=1: Sequential (no parallelization)njobs=-1: Use all available CPU coresnjobs=4: Use 4 cores
    4. 04

      Reference Documentation

      For detailed API documentation, consult these reference files:

      references/coreapi.md: Core namespace functions (conversions, standardization, fingerprints, clustering)references/iomodule.md: File I/O operations (read/write SDF, CSV, Excel, remote files)references/conformersmodule.md: 3D conformer generation, clustering, SASA calculations
    5. 05

      Best Practices

      1. Always standardize molecules from external sources:

      Always standardize molecules from external sources:Check for None values after molecule parsing:Use parallel processing for large datasets:

    Permission review

    Static risk signals and limitations

    No configured static risk pattern was detected

    This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score88/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars31,966SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    K-Dense-AI/scientific-agent-skills
    Skill path
    skills/datamol/SKILL.md
    Commit
    e7ac42510774624f327003c95b6650e2883bc01d
    License
    MIT
    Collected
    2026-07-28
    Default branch
    main
    View the original SKILL.md

    Datamol Cheminformatics Skill

    Overview

    Datamol is a Python library that provides a lightweight, Pythonic abstraction layer over RDKit for molecular cheminformatics. Simplify complex molecular operations with sensible defaults, efficient parallelization, and modern I/O capabilities. All molecular objects are native rdkit.Chem.Mol instances, ensuring full compatibility with the RDKit ecosystem.

    Version note: Examples target datamol 0.12.x (PyPI stable: 0.12.5, June 2024). Since 0.10.0, modules are lazy-loaded by default (set DATAMOL_DISABLE_LAZY_LOADING=1 to disable). Since 0.12.2, RDKit is a direct PyPI dependency of datamol. Fingerprints use RDKit's rdFingerprintGenerator API (0.12.5+).

    Key capabilities:

    • Molecular format conversion (SMILES, SELFIES, InChI)
    • Structure standardization and sanitization
    • Molecular descriptors and fingerprints
    • 3D conformer generation and analysis
    • Clustering and diversity selection
    • Scaffold and fragment analysis
    • Chemical reaction application
    • Visualization and alignment
    • Batch processing with parallelization
    • Cloud storage support via fsspec

    Installation and Setup

    Guide users to install datamol:

    uv pip install datamol
    

    RDKit is installed automatically with datamol. For remote file paths (S3, GCS, HTTP), install the matching fsspec backend:

    uv pip install s3fs   # AWS S3
    uv pip install gcsfs  # Google Cloud Storage
    

    Import convention:

    import datamol as dm
    

    Core Workflows

    Ten workflow areas, each with worked code, are documented in references/core_workflows.md:

    #AreaCovers
    1Basic molecule handlingto_mol, batch conversion, error handling, canonical and isomeric SMILES, sanitization and full standardization
    2Reading and writing filesSDF, SMILES, CSV, Excel with rendered structures, the universal reader/writer, and cloud or HTTPS paths
    3Descriptors and propertiesthe standard descriptor set, parallel computation, aromaticity, stereochemistry, flexibility, and filtering
    4Fingerprints and similarityECFP4 and other types, pairwise and cross-set distances, nearest-neighbour lookup (Tanimoto distance = 1 − similarity)
    5Clustering and diversitysimilarity clustering, diverse subset picking, and cluster centroids
    6Scaffold analysisBemis-Murcko scaffolds, grouping and counting, and scaffold-disjoint train/test splits
    7Fragmentationfragmenting molecules, finding common fragments across a library, and fragment-based scoring
    83D conformersgeneration, access, RMSD clustering, representative selection, and SASA
    9Visualizationgrids, files, publication SVG, substructure alignment, atom and bond highlighting, conformer display
    10Chemical reactionsreaction SMARTS, applying to a molecule or a whole library

    Three end-to-end pipelines — load/filter/analyze, SAR by scaffold series, and virtual screening — are in references/workflow_patterns.md.

    Parallelization

    Datamol includes built-in parallelization for many operations. Use n_jobs parameter:

    • n_jobs=1: Sequential (no parallelization)
    • n_jobs=-1: Use all available CPU cores
    • n_jobs=4: Use 4 cores

    Functions supporting parallelization:

    • dm.read_sdf(..., n_jobs=-1)
    • dm.descriptors.batch_compute_many_descriptors(..., n_jobs=-1)
    • dm.cluster_mols(..., n_jobs=-1)
    • dm.pdist(..., n_jobs=-1)
    • dm.conformers.sasa(..., n_jobs=-1)

    Progress bars: Many batch operations support progress=True parameter.

    Reference Documentation

    For detailed API documentation, consult these reference files:

    • references/core_api.md: Core namespace functions (conversions, standardization, fingerprints, clustering)
    • references/io_module.md: File I/O operations (read/write SDF, CSV, Excel, remote files)
    • references/conformers_module.md: 3D conformer generation, clustering, SASA calculations
    • references/descriptors_viz.md: Molecular descriptors and visualization functions
    • references/fragments_scaffolds.md: Scaffold extraction, BRICS/RECAP fragmentation
    • references/reactions_data.md: Chemical reactions and toy datasets

    Best Practices

    1. Always standardize molecules from external sources:

      mol = dm.standardize_mol(mol, disconnect_metals=True, normalize=True, reionize=True)
      
    2. Check for None values after molecule parsing:

      mol = dm.to_mol(smiles)
      if mol is None:
          # Handle invalid SMILES
      
    3. Use parallel processing for large datasets:

      result = dm.operation(..., n_jobs=-1, progress=True)
      
    4. Use cloud I/O only when requested — confirm remote write paths; install s3fs/gcsfs as needed:

      df = dm.read_sdf("s3://bucket/compounds.sdf")
      
    5. Use appropriate fingerprints for similarity:

      • ECFP (Morgan): General purpose, structural similarity
      • MACCS: Fast, smaller feature space
      • Atom pairs: Considers atom pairs and distances
    6. Consider scale limitations:

      • Butina clustering: ~1,000 molecules (full distance matrix)
      • For larger datasets: Use diversity selection or hierarchical methods
    7. Scaffold splitting for ML: Ensure proper train/test separation by scaffold

    8. Align molecules when visualizing SAR series

    Error Handling

    # Safe molecule creation
    def safe_to_mol(smiles):
        try:
            mol = dm.to_mol(smiles)
            if mol is not None:
                mol = dm.standardize_mol(mol)
            return mol
        except Exception as e:
            print(f"Failed to process {smiles}: {e}")
            return None
    
    # Safe batch processing
    valid_mols = []
    for smiles in smiles_list:
        mol = safe_to_mol(smiles)
        if mol is not None:
            valid_mols.append(mol)
    

    Integration with Machine Learning

    Datamol ships with scipy and scikit-learn as dependencies. Import them as normal PyPI packages — they are not scripts bundled in this skill.

    import numpy as np
    
    # Feature generation
    X = np.array([dm.to_fp(mol) for mol in mols])
    
    # Or descriptors
    desc_df = dm.descriptors.batch_compute_many_descriptors(mols, n_jobs=-1)
    X = desc_df.values
    
    # Train model (scikit-learn PyPI package)
    from sklearn.ensemble import RandomForestRegressor  # third-party library
    model = RandomForestRegressor()
    model.fit(X, y_target)
    
    # Predict
    predictions = model.predict(X_test)
    

    Troubleshooting

    Issue: Molecule parsing fails

    • Solution: Use dm.standardize_smiles() first or try dm.fix_mol()

    Issue: Memory errors with clustering

    • Solution: Use dm.pick_diverse() instead of full clustering for large sets

    Issue: Slow conformer generation

    • Solution: Reduce n_confs or increase rms_cutoff to generate fewer conformers

    Issue: Remote file access fails

    • Solution: Install the matching fsspec backend (uv pip install s3fs or gcsfs) and verify only the provider credentials needed for that backend are set (see Remote file support above)

    Additional Resources

    Alternatives

    Compare before choosing

    Computed 9731,966

    K-Dense-AI/scientific-agent-skills

    biopython

    Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

    Computed 9731,966

    K-Dense-AI/scientific-agent-skills

    esm

    Use when working directly with the `esm` Python SDK, ESM3 or ESMC model IDs, Forge/Biohub inference clients, or ESMFold2 folding workflows.

    Computed 9537,126

    github/awesome-copilot

    arize-instrumentation

    Adds Arize AX tracing to an LLM application for the first time. Follows a two-phase agent-assisted flow to analyze the codebase then implement instrumentation after user confirmation. Use when the user wants to instrument their app, add tracing from scratch, set up LLM observability, integrate OpenTelemetry or openinference, or get started with Arize tracing.

    Computed 9510,762

    Jeffallan/claude-skills

    fastapi-expert

    Use when building high-performance async Python APIs with FastAPI and Pydantic V2. Invoke to create REST endpoints, define Pydantic models, implement authentication flows, set up async SQLAlchemy database operations, add JWT authentication, build WebSocket endpoints, or generate OpenAPI documentation. Trigger terms: FastAPI, Pydantic, async Python, Python API, REST API Python, SQLAlchemy async, JWT authentication, OpenAPI, Swagger Python.