Skip to content

vasuquantdev/drug-discovery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

961 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

asapdiscovery

Structure-based open antiviral drug discovery toolkit

Documentation Status

Repository: github.com/vasuquantdev/drug-discovery

A batteries-included computational chemistry and informatics pipeline for open antiviral drug discovery, developed in collaboration with the ASAP Discovery Consortium.

ASAP Discovery logo


Overview

Pandemics are global health threats. A strong defense requires a healthy global antiviral discovery community with robust, open discovery tools. The AI-driven Structure-enabled Antiviral Platform (ASAP) is building that foundation.

This repository provides a transparent, open-source toolkit focused on structure-based drug discovery—covering data management, docking, machine learning, free-energy calculations, molecular dynamics, and visualization. Together with ASAP's active data disclosures, it offers insight into medicinal chemistry workflows that are often conducted behind closed doors.

Note: asapdiscovery is pre-alpha software under active development. APIs may change without notice, and we make no guarantees around correctness.


Packages

The project is organized as a PEP 420 namespace package with independently installable subpackages:

Package Description
asapdiscovery-alchemy Free energy calculations via OpenFE and Alchemiscale
asapdiscovery-cli Unified command-line interface for the full toolkit
asapdiscovery-data Core data models and integrations (e.g. Postera.ai)
asapdiscovery-dataviz Structure and data visualization with 3Dmol.js and PyMOL
asapdiscovery-docking Docking and compound screening with the OpenEye toolkit
asapdiscovery-ml Structure-based ML models for activity prediction
asapdiscovery-modeling Structure preparation and standardization
asapdiscovery-simulation MD simulations and analysis with OpenMM
asapdiscovery-spectrum Sequence and fitness analysis
asapdiscovery-workflows End-to-end workflows combining toolkit components

Full documentation: asapdiscovery.readthedocs.io


Repository Structure

The repository is a monorepo of independently installable Python packages. Each subpackage follows the same layout: source under asapdiscovery/<module>/, with its own pyproject.toml, tests, and package README.

drug-discovery/
├── asapdiscovery-alchemy/          # Free-energy calculations (OpenFE / Alchemiscale)
├── asapdiscovery-cli/              # Unified CLI entry point (`asap-cli`)
├── asapdiscovery-data/             # Core schemas, backends, and data integrations
│   └── asapdiscovery/data/
│       ├── backend/                # OpenEye and RDKit chemistry wrappers
│       ├── readers/                # Structure and ligand factory readers
│       ├── schema/                 # Pydantic models (Ligand, Target, Complex, …)
│       ├── services/               # CDD, Fragalysis, Postera, RCSB, AWS
│       ├── operators/              # Selectors, expanders, deduplicators
│       └── tests/
├── asapdiscovery-dataviz/          # 3Dmol.js and PyMOL visualization
├── asapdiscovery-docking/          # OpenEye docking and scoring
├── asapdiscovery-ml/               # Structure-based ML training and inference
├── asapdiscovery-modeling/         # Protein/ligand preparation and standardization
├── asapdiscovery-simulation/       # OpenMM molecular dynamics
├── asapdiscovery-spectrum/         # Sequence and fitness analysis
├── asapdiscovery-workflows/        # End-to-end project workflows
│
├── docs/                           # Sphinx documentation source
│   ├── tutorials/                  # Step-by-step guides
│   ├── guides/                     # CLI and workflow references
│   ├── API/                        # Auto-generated API docs
│   └── ecosystem/                  # Package ecosystem overview
│
├── examples/                       # Jupyter notebook tutorials
├── devtools/
│   ├── conda-envs/                 # Platform-specific conda environment specs
│   └── scripts/                    # Dependency resolution and install helpers
│
├── .github/workflows/              # Per-package CI pipelines
├── pyproject.toml                  # Root lint and format configuration
├── .pre-commit-config.yaml         # Pre-commit hook definitions
├── justfile                        # Common developer task shortcuts
└── README.md
Path Purpose
asapdiscovery-*/ Installable subpackages; install individually or in editable mode
docs/ Source for Read the Docs
examples/ Runnable notebooks mirroring official tutorials
devtools/conda-envs/ Per-OS, per-package conda environment specs (ubuntu-latest/, macos-latest/)
.github/workflows/ Automated testing and linting for each subpackage

Installation

Conda (recommended)

Install from conda-forge:

mamba install -c conda-forge asapdiscovery

Developer install

asapdiscovery is a namespace package composed of individual Python packages, each named with the asapdiscovery-* convention (e.g. asapdiscovery-data). Development uses just as a task runner.

1. Clone the repository

git clone https://github.com/vasuquantdev/drug-discovery.git
cd drug-discovery

2. Create and activate a conda environment

Per-subpackage environment files live under devtools/conda-envs/<platform>/. The just create-env recipe selects the correct platform automatically:

# Full environment covering all subpackages
just create-env all asapdiscovery

# Or a single subpackage (e.g. data)
just create-env data asapdiscovery

conda activate asapdiscovery

3. Install subpackages

Install everything in topological dependency order:

just install-all

Or install a single subpackage with its internal dependencies:

just install-with-deps data

Inspect the dependency graph with just deps. Run tests with just test <pkg> or just test-all. Apply linters with just lint.

Requirements: Python >=3.12, <3.13. OpenEye toolkits require a separate academic or commercial license.


Contributing

See CONTRIBUTING.md for the full contribution workflow.

We use pre-commit to enforce formatting and linting in CI. To run hooks locally:

mamba install -c conda-forge pre-commit
pre-commit install

Hooks run automatically on each commit. See the pre-commit usage guide for details.


License & Acknowledgements

Copyright (c) 2023, ASAP Discovery

Project scaffolding based on the Computational Molecular Science Python Cookiecutter (v1.6).

About

A batteries-included computational chemistry and informatics pipeline for open antiviral drug discovery, developed in collaboration with the ASAP Discovery Consortium.

Resources

License

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages