Skip to content

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

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages