drugmechdb
A database of paths that represent the mechanism of action from a drug to a disease in an indication.
Science Score: 59.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: ncbi.nlm.nih.gov, nature.com, zenodo.org -
✓Committers with academic emails
1 of 14 committers (7.1%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.9%) to scientific vocabulary
Keywords
Repository
A database of paths that represent the mechanism of action from a drug to a disease in an indication.
Basic Info
Statistics
- Stars: 62
- Watchers: 9
- Forks: 18
- Open Issues: 9
- Releases: 4
Topics
Metadata Files
README.md
Drug Mechanism Database (DrugMechDB)
DrugMechDB is a curated database that captures mechanistic paths from a drug to a disease within a given indication. DrugMechDB provides: - Mechanistic paths from drug to disease via biological entities. - Expert curation of relationships supported by literature. - Graph-based representation of mechanisms suitable for computational analysis. - DrugMechDB leverages the Biolink Model to ensure semantic interoperability and consistency across biomedical entities and relationships.
Resources
Publication:
Gonzalez-Cavazos, A. C., Tanska, A., Mayers, M., Carvalho-Silva, D., Sridharan, B., Rewers, P. A., Sankarlal, U., Jagannathan, L., & Su, A. I. (2023). DrugMechDB: a curated database of drug mechanisms Read the paper on Scientific DataWeb Interface:
Explore DrugMechDB online: https://sulab.github.io/DrugMechDB/
Purpose
Most drug mechanisms are described simply as a protein target, or sometimes a pathway, that then treats the disease. However, there are usually more steps across a biological knowledge graph required to traverse from the target through its mechanism to the reduction of a disease. This database attempts to catalog a subset of known drug-disease indications as a path through a network of biomedical entities.
Below is a visualized example of one entry in DrugMechDB - A path from Cortisone acetate to Keratitis.

Curation
Indications were selected at random from the set contained within DrugCentral. Half were taken from the full set, representing a set of common drug disease pairs, and the other half were selected from a pool of less-common diseases to vary the targets and diseases treated.
Paths were derived from free-text descriptions found on DrugBank, Wikipedia and within literature. Concepts within the text were then normalized to a concept type (Drug, Protein, Pathway, etc) and relationships between the concepts were determined from the source. Finally concepts were mapped to an identifier depending on the concept type according to the following table:
|Concept Type | Identifier Source | |-----------------------------------------------------------------------------------------------------|--------------------------| |BiologicalProcess | GO | |Cell | CL | |CellularComponent | GO | |ChemicalSubstance | MESH, CHEBI | |Disease | MESH | |Drug | MESH, DrugBank | |GeneFamily | InterPro | |GrossAnatomicalStructure | UBERON | |MacromolecularComplex | PR | |MolecularActivity | GO | |OrganismTaxon | NCBITaxon | |Pathway | REACT | |PhenotypicFeature | HP | |Protein | UniProt |
Contributing
If you would like to contribute your own curated mechanistic paths, please do so by making pull requests
with edits to the file submission.yaml.
See the Curation Guide for more information about contributions and Submission Guide for detailed submission instructions.
Path formatting
Each path begins with a - directed: true statment. Identifiers for concepts and concept type
should conform to the table above.
Paths contain the following structure:
- directed: true
graph:
disease: *name of the disease in the indication*
disease_mesh: *MESH Identifier for the disease (if known)*
drug: *name of the drug in the indication*
drug_mesh: *MESH Identifier for the drug (if known)*
drugbank: *DrugBank Identifier for the drug (if known)*
links: (the edges of the path)
- key: *Semantics of the relationship (ALL CAPS)*
source: *Identifier for source node in edge*
target: *Identifier for target node in edge*
nodes: (the nodes in the path)
- id: *Identifier for the node*
label: *Concept type for the node*
name: *Name of the node*
multigraph: true (required statment for importing paths into networkx).
Website build guide
We originally had this configured so that the "Update Website" action would build the Jekyll files and push to the gh-pages branch, which would then be rendered by Github Pages. However, the web content is now too large and the build process times out. Therefore, we have to build locally. The protocol is as follows:
- Execute the "Merge Pages" action which will merge the
mainbranch togh-pages Create the
gh-pagesbranch locallygit clone --branch gh-pages --depth 1 git@github.com:SuLab/DrugMechDB.git DrugMechDB.gh-pages cd DrugMechDB.gh-pagesor if the repo already exists locally,
cd DrugMechDB.gh-pages git pullCreate the Jekyll files from
indication_paths.yamlpython parse.pyUse jekyll to render HTML output:
This command can take up to ~30 mins to complete, and output HTML files will be in
_sitebundle exec jekyll buildCreate the
gh-pages-htmlbranch locally:cd .. git clone --branch gh-pages-html git@github.com:SuLab/DrugMechDB.git DrugMechDB.gh-pages-html cd DrugMechDB.gh-pages-htmlor if the repo already exists locally,cd DrugMechDB.gh-pages-html git pullCopy the new rendered files:
rm -rf * cp -r ../DrugMechDB.gh-pages/_site/* .Commit and push:
git add . git commit -m 'Update website' git push
To cite the use of DrugMechDB in your work
Gonzalez-Cavazos, A. C., Tanska, A., Mayers, M., Carvalho-Silva, D., Sridharan, B., Rewers, P. A., Sankarlal, U., Jagannathan, L. & Su, A. I. (2023). DrugMechDB: A Curated Database of Drug Mechanisms. Scientific Data, 10(1), 632.
Owner
- Name: Su Lab
- Login: SuLab
- Kind: organization
- Location: The Scripps Research Institute
- Website: http://sulab.org/
- Repositories: 99
- Profile: https://github.com/SuLab
Code repos for the Su Lab at The Scripps Research Institute
GitHub Events
Total
- Watch event: 8
- Push event: 7
- Pull request review comment event: 1
- Pull request event: 1
- Fork event: 1
Last Year
- Watch event: 8
- Push event: 7
- Pull request review comment event: 1
- Pull request event: 1
- Fork event: 1
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| AnnaTanska | 6****a | 300 |
| dede2021 | 7****1 | 187 |
| BrindhaSridharan | 1****n | 120 |
| Mike Mayers | m****s@s****u | 115 |
| AlexT322 | A****2 | 92 |
| mmayers12 | m****2 | 76 |
| Umasri Sankarlal | 7****l | 43 |
| Lakshmanan Jagannathan | j****n@g****m | 41 |
| Carolina Gonzalez-Cavazos | 6****6 | 25 |
| Andrew Su | a****u@g****m | 14 |
| Patrick Rewers | r****p@g****m | 8 |
| Anna Tanska | t****a@g****m | 8 |
| jaganlakshman | j****n | 7 |
| Alex | a****0@g****m | 1 |
Committer Domains (Top 20 + Academic)
Dependencies
- biothings_client *
- matplotlib *
- networkx ==2.5
- pandas *
- pytest *
- pyyaml *
- simplejson *
- xlrd ==1.2.0
- xlsxwriter *
- github-pages >= 0 development
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/checkout v2 composite
- devmasx/merge-branch v1.3.1 composite
- EndBug/add-and-commit v7 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- tgymnich/fork-sync v1.3 composite
- EndBug/add-and-commit v7 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite