agentleFS
K-Dense-AIK-Dense-AI/drug-discovery-agent-skills/skills/deepchem/SKILL.md

deepchem

Skill54 starsChanged 3 months agoMITView on GitHub

Molecular ML with diverse featurizers and pre-built datasets. Use for property prediction (ADMET, toxicity) with traditional ML or GNNs when you want extensive featurization options and MoleculeNet benchmarks. Best for quick experiments with pre-trained models, diverse molecular representations. For ready-made ADMET numbers without training a model use admet-prediction; for benchmark datasets and task-aware splits use pytdc.

  • Installs packages

12 other projects use a version of this, 10 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use usfiscaldata, scikit-bio and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • yf8578Skill

    usfiscaldata

    Query the U.S. Treasury Fiscal Data API for federal financial data including national debt, government spending, revenue, interest rates, exchange rates, and savings bonds. Access 54 datasets and 182 data tables with no API key required. Use when working with U.S. federal fiscal data, national debt tracking (Debt to the Penny), Daily Treasury Statements, Monthly Treasury Statements, Treasury securities auctions, interest rates on Treasury securities, foreign exchange rates, savings bonds, or any U.S. government financial statistics.

    Also in 4 projects that use this

  • tondevrelSkill

    scikit-bio

    Library for bioinformatics and community ecology statistics. Provides data structures and algorithms for sequences, alignments, phylogenetics, and diversity analysis. Essential for microbiome research and ecological data science. Use for alpha/beta diversity metrics, ordination (PCoA), phylogenetic trees, sequence manipulation (DNA/RNA/Protein), distance matrices, PERMANOVA, and community ecology analysis.

    Also in 5 projects that use this

  • tondevrelSkill

    simpy

    A process-based discrete-event simulation framework. Use for modeling queuing systems, supply chains, manufacturing processes, network simulation, project management, and any system where events occur at specific points in time. Load when working with discrete event simulation, process modeling, resource allocation, virtual time, simpy.Environment, simpy.Resource, or event-driven simulation.

    Also in 4 projects that use this

  • yf8578Skill

    uspto-database

    Access USPTO APIs for patent/trademark searches, examination history (PEDS), assignments, citations, office actions, TSDR, for IP analysis and prior art searches.

    Also in 4 projects that use this

  • Google DeepMindSkill

    interpro-database

    Identify domains, families, and sites in proteins; find all proteins in a family or sharing a domain; explore species distribution for a domain; annotate genomes with protein families and GO terms. InterPro combines 14 databases (e.g., Pfam, CDD) into one searchable resource. InterPro-N significantly expands annotation and sequence coverage with deep learning. Includes domain architecture (IDA) search.

    Also in 4 projects that use this

  • refly-aiSkill

    alpha-vantage

    Get financial data from Alpha Vantage. Use when you need to: (1) retrieve stock quotes and prices, (2) get forex or crypto rates, or (3) access market analytics data.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

12 rules. 9 are common, 0 are distinctive, and 3 are very specific to this project.

  • 9

    Common

    Most of the 12 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Common:

    Start with Random Forest + CircularFingerprint (fast baseline)

    line 137
  2. Common:

    Use transfer learning for small datasets or novel scaffolds

    line 141
  3. Very specific:

    Solution: Always use ScaffoldSplitter for molecular datasets.

    line 166
  4. Common:

    Ensure dataset is large enough (>10K samples typically)

    line 171
  5. Common:

    Use pretrained models (GROVER)

    line 174
  6. Common:

    Use stronger regularization (increase dropout to 0.5)

    line 179
  7. Common:

    Use simpler models (Random Forest instead of deep learning)

    line 180
  8. Very specific:

    Conda + PyTorch users: If import deepchem fails with undefined symbol: iJIT_NotifyEvent, pin MKL below 2025 (conda install "mkl<2025") — …

    line 195
  9. Common:

    All data loaders and their use cases

    line 203
  10. Common:

    When to reference: Search this file when you need specific API details, parameter names, or want to explore available options.

    line 211
  11. Common:

    When to reference: Use these workflows as templates for implementing complete solutions.

    line 224
  12. Very specific:

    Add the extra that matches your model backend (install PyTorch/TensorFlow/JAX first for GPU builds):

    line 234

“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

DeepChem

Overview

DeepChem is a comprehensive Python library for applying machine learning to chemistry, materials science, and biology. Enable molecular property prediction, drug discovery, materials design, and biomolecule analysis through specialized neural networks, molecular featurization methods, and pretrained models.

Checked against: deepchem 2.8.0 (PyPI stable, released 2024-04-02; still the current release as of August 2026). Requires Python 3.7–3.11 (<3.12 on PyPI). Core utilities (loaders, featurizers, MoleculeNet) work without a DL backend; GNN and transformer models need the matching extra (torch, tensorflow, or jax). Install the backend framework first when using GPU builds.

The release you install is much older than the code you will read about. The GitHub repository is actively developed, but 2.8.0 (April 2024) is still the newest tagged release, so pip install deepchem gives you code roughly two years behind master while the online docs and tutorials describe master. If an API in the documentation does not exist in your install, that gap is the reason. Either pin to 2.8.0 and use the 2.8.0 docs, or install from git (pip install git+https://github.com/deepchem/deepchem.git) and accept an untagged build.

When to Use This Skill

This skill should be used when:

  • Loading and processing molecular data (SMILES strings, SDF files, protein sequences)
  • Predicting molecular properties (solubility, toxicity, binding affinity, ADMET properties)
  • Training models on chemical/biological datasets
  • Using MoleculeNet benchmark datasets (Tox21, BBBP, Delaney, etc.)
  • Converting molecules to ML-ready features (fingerprints, graph representations, descriptors)
  • Implementing graph neural networks for molecules (GCN, GAT, MPNN, AttentiveFP)
  • Applying transfer learning with pretrained models (ChemBERTa, GROVER, MolFormer)
  • Predicting crystal/materials properties (bandgap, formation energy)
  • Analyzing protein or DNA sequences

Core Capabilities

Eight capability areas, each with worked code, are in references/core_capabilities.md:

  1. Molecular data loading and processing — loaders, NumpyDataset / DiskDataset.
  2. Molecular featurization — circular fingerprints, graph convolution, and descriptors.
  3. Data splitting — random, scaffold, stratified, and butina splitters, and why scaffold splitting is the honest default for molecules.
  4. Model selection and training — the model families and how to fit them.
  5. MoleculeNet benchmarks — loading standard datasets and their published splits.
  6. Transfer learning — pretraining and fine-tuning.
  7. Model evaluation — metrics appropriate to regression and classification tasks.
  8. Making predictions — applying a trained model to new molecules.

Three end-to-end workflows are in references/typical_workflows.md.

Example Scripts

This skill includes three production-ready scripts in the scripts/ directory:

1. predict_solubility.py

Train and evaluate solubility prediction models. Works with Delaney benchmark or custom CSV data.

# Use Delaney benchmark
python scripts/predict_solubility.py

# Use custom data
python scripts/predict_solubility.py \
    --data my_data.csv \
    --smiles-col smiles \
    --target-col solubility \
    --predict "CCO" "c1ccccc1"

2. graph_neural_network.py

Train various graph neural network architectures on molecular data.

# Train GCN on Tox21
python scripts/graph_neural_network.py --model gcn --dataset tox21

# Train AttentiveFP on custom data
python scripts/graph_neural_network.py \
    --model attentivefp \
    --data molecules.csv \
    --task-type regression \
    --targets activity \
    --epochs 100

3. transfer_learning.py

Fine-tune pretrained models (ChemBERTa, GROVER, MolFormer) on molecular property prediction tasks.

# Fine-tune ChemBERTa on BBBP
python scripts/transfer_learning.py --model chemberta --dataset bbbp

# Fine-tune GROVER on custom data
python scripts/transfer_learning.py \
    --model grover \
    --data small_dataset.csv \
    --target activity \
    --task-type classification \
    --epochs 20

Common Patterns and Best Practices

Pattern 1: Always Use Scaffold Splitting for Molecules

# GOOD: Prevents data leakage
splitter = dc.splits.ScaffoldSplitter()
train, test = splitter.train_test_split(dataset)

# BAD: Similar molecules in train and test
splitter = dc.splits.RandomSplitter()
train, test = splitter.train_test_split(dataset)

Pattern 2: Normalize Features and Targets

transformers = [
    dc.trans.NormalizationTransformer(
        transform_y=True,  # Also normalize target values
        dataset=train
    )
]
for transformer in transformers:
    train = transformer.transform(train)
    test = transformer.transform(test)

Pattern 3: Start Simple, Then Scale

  1. Start with Random Forest + CircularFingerprint (fast baseline)
  2. Try XGBoost/LightGBM if RF works well
  3. Move to deep learning (MultitaskRegressor) if you have >5K samples
  4. Try GNNs if you have >10K samples
  5. Use transfer learning for small datasets or novel scaffolds

Pattern 4: Handle Imbalanced Data

# Option 1: Balancing transformer
transformer = dc.trans.BalancingTransformer(dataset=train)
train = transformer.transform(train)

# Option 2: Use balanced metrics
metric = dc.metrics.Metric(dc.metrics.balanced_accuracy_score)

Pattern 5: Avoid Memory Issues

# Use DiskDataset for large datasets
dataset = dc.data.DiskDataset.from_numpy(X, y, w, ids)

# Use smaller batch sizes
model = dc.models.GCNModel(batch_size=32)  # Instead of 128

Common Pitfalls

Issue 1: Data Leakage in Drug Discovery

Problem: Using random splitting allows similar molecules in train/test sets. Solution: Always use ScaffoldSplitter for molecular datasets.

Issue 2: GNN Underperforming vs Fingerprints

Problem: Graph neural networks perform worse than simple fingerprints. Solutions:

  • Ensure dataset is large enough (>10K samples typically)
  • Increase training epochs (50-100)
  • Try different architectures (AttentiveFP, DMPNN instead of GCN)
  • Use pretrained models (GROVER)

Issue 3: Overfitting on Small Datasets

Problem: Model memorizes training data. Solutions:

  • Use stronger regularization (increase dropout to 0.5)
  • Use simpler models (Random Forest instead of deep learning)
  • Apply transfer learning (ChemBERTa, GROVER)
  • Collect more data

Issue 4: Import Errors

Problem: No module named 'torch' / No module named 'tensorflow' warnings, or model classes fail to import. Solution: DeepChem loads lazily — install the backend that matches your model, then add the matching extra:

uv pip install deepchem              # loaders, featurizers, MoleculeNet only
uv pip install 'deepchem[torch]'       # GCN, GAT, AttentiveFP, HuggingFaceModel, GroverModel
uv pip install 'deepchem[tensorflow]'  # legacy Keras models
uv pip install 'deepchem[jax]'         # Haiku/JAX models

Install PyTorch or TensorFlow with the correct CUDA build before the extra when using GPUs. Quote extras in zsh: 'deepchem[torch]'.

Conda + PyTorch users: If import deepchem fails with undefined symbol: iJIT_NotifyEvent, pin MKL below 2025 (conda install "mkl<2025") — PyTorch wheels may be incompatible with MKL 2025.0.0.

Reference Documentation

This skill includes comprehensive reference documentation:

references/api_reference.md

Complete API documentation including:

  • All data loaders and their use cases
  • Dataset classes and when to use each
  • Complete featurizer catalog with selection guide
  • Model catalog organized by category (50+ models)
  • MoleculeNet dataset descriptions
  • Metrics and evaluation functions
  • Common code patterns

When to reference: Search this file when you need specific API details, parameter names, or want to explore available options.

references/workflows.md

Eight detailed end-to-end workflows:

  1. Molecular property prediction from SMILES
  2. Using MoleculeNet benchmarks
  3. Hyperparameter optimization
  4. Transfer learning with pretrained models
  5. Molecular generation with GANs
  6. Materials property prediction
  7. Protein sequence analysis
  8. Custom model integration

When to reference: Use these workflows as templates for implementing complete solutions.

Installation

Core package (data loaders, featurizers, MoleculeNet, scikit-learn wrappers):

uv pip install deepchem

Add the extra that matches your model backend (install PyTorch/TensorFlow/JAX first for GPU builds):

uv pip install 'deepchem[torch]'       # GNNs, TorchModel, HuggingFaceModel, GroverModel
uv pip install 'deepchem[tensorflow]'  # Keras/TensorFlow models
uv pip install 'deepchem[jax]'         # JAX/Haiku models
uv pip install 'deepchem[dqc]'         # Differentiable quantum chemistry (torch + xitorch)

Nightly builds: uv pip install --pre deepchem (same extras apply with --pre).

See installation guide and soft requirements for optional dependencies per model class.

Composing with the rest of the bundle

  • admet-prediction → instead, usually: if you want ADMET numbers rather than a trained model, ADMET-AI gives you 41 endpoints with approved-drug percentiles and no training run. Come here when you have your own measured data.
  • pytdc → before: the datasets and, more importantly, the task-aware splits. A random split on molecular data reports a fantasy R²; scaffold splits are the reason to use PyTDC's loaders rather than rolling your own.
  • chembl → before: the measured bioactivity to train on, curated rather than raw.
  • rdkit / datamol → before: standardise and desalt. A featurizer will happily embed a salt.
  • molfeat → alongside: a wider featurizer catalogue with a consistent interface, if featurization rather than model fitting is the bottleneck.
  • medchem → after: a model's top-ranked generated molecules still need alert triage.

Train on your own data or do not train. A public benchmark model applied to your chemistry is out of domain by construction; that is the case for admet-prediction instead.

Additional Resources

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.