https://github.com/drug2ways/drug2ways
A Python package for drug discovery by analyzing causal paths on multiscale networks
https://github.com/drug2ways/drug2ways
bioinformatics causal-networks drug-discovery networks-biology software systems-biology
Last synced: 2 months ago
JSON representation
A Python package for drug discovery by analyzing causal paths on multiscale networks
- Host: GitHub
- URL: https://github.com/drug2ways/drug2ways
- Owner: drug2ways
- License: apache-2.0
- Created: 2020-05-27T12:38:21.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-07-01T09:24:02.000Z (almost 2 years ago)
- Last Synced: 2026-01-12T03:32:36.971Z (5 months ago)
- Topics: bioinformatics, causal-networks, drug-discovery, networks-biology, software, systems-biology
- Language: Python
- Homepage: https://drug2ways.readthedocs.io/en/latest/
- Size: 546 KB
- Stars: 28
- Watchers: 4
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Authors: AUTHORS.rst
Awesome Lists containing this project
README
drug2ways
Drug2ways is a Python package for reasoning over paths on biological networks for drug discovery
Quickstart •
Applications •
Installation
## Quickstart
Drug2ways supports generic network formats such as JSON, CSV, GraphML, or GML. Check out [drug2ways's documentation here](https://drug2ways.readthedocs.io/en/latest). Ideally, the network should contain three different types of nodes
representing drugs, proteins, and indications/phenotypes. The hypothesis underlying this software is that by reasoning
over a multitude of possible paths between a given drug and indication, the drug regulates the indication in the
direction of the signs of the most frequently occurring paths (i.e., majority rule). In other words, we assume that a
drug has a greater likelihood of interacting with its target, and its target with intermediate nodes, to modulate a
pathological phenotype as the number of possible paths connecting a drug to the phenotype increases. Based on this
hypothesis, this software can be applied for different applications outlined in the next section.
### Citation
If you use drug2ways for your research please cite our [paper](https://doi.org/10.1371/journal.pcbi.1008464):
> Daniel Rivas-Barragan, Sarah Mubeen, Francesc Guim-Bernat,Martin Hofmann-Apitius, and Daniel Domingo-Fernández (2020).
Drug2ways: Reasoning over causal paths in biological networks for drug discovery. *PLOS Computational Biology* 16(12): e1008464; https://doi.org/10.1371/journal.pcbi.1008464
## Applications
Drug2ways can be applied for three different applications:
**Scripts and real examples**: https://github.com/drug2ways/drug2ways/tree/master/examples
### 1. Identifying candidate drugs
The following command of the command line interface (CLI) of drug2ways enables candidate drug identification. The
minimum required input are the path to the network and its format, a path to the nodes considered as drugs and the
ones considered as conditions/phenotypes. Finally, the maximum length allowed for a given path (i.e., lmax). Type
"python -m drug2ways explore --help" to see other optional arguments.
```python
python -m drug2ways explore \
--graph= \
--fmt= \
--sources= \
--targets= \
--lmax=
```
### 2. Optimization of drugs' effects
The following command of the CLI of drug2ways enables searching drugs that not only target a given disease but also
activate/inhibit a set of phenotypes. This method requires the same arguments as the previous explore functionality
but the target file requires an additional second column where the desired effect on the node (e.g., 'node1,activate')
is specified. See the examples directory for more information.
```python
python -m drug2ways optimize \
--graph= \
--fmt= \
--sources= \
--targets= \ # Note that this file is slightly different than the other targets
--lmax=
```
### 3. Proposing combination therapies
The following command of the CLI of drug2ways enables the identification of candidate drugs for combination therapies.
The minimum required input are the path to the network and its format, a path to the nodes considered as drugs and the
ones considered as conditions/phenotypes. As with the optimization command, here again the target file requires an
additional second column specifying the desired effect on the node (e.g., 'node1,activate'). Furthermore, the maximum
length allowed for a given path (i.e., lmax) and the possible number of combinations of drugs must be provided. Type
"python -m drug2ways combine --help" to see other optional arguments.
```python
python -m drug2ways combine \
--graph= \
--fmt= \
--sources= \
--targets= \
--lmax= \
--combination-length=
```
## Installation
The latest stable code can be installed from [PyPI](https://pypi.python.org/pypi/drug2ways) with:
```python
python -m pip install drug2ways
```
The most recent code can be installed from the source on [GitHub](https://github.com/drug2ways/drug2ways) with:
```python
python -m pip install git+https://github.com/drug2ways/drug2ways.git
```
For developers, the repository can be cloned from [GitHub](https://github.com/drug2ways/drug2ways) and installed in
editable mode with:
```python
git clone https://github.com/drug2ways/drug2ways.git
cd drug2ways
python -m pip install -e .
```
## Requirements
```python
click==7.1.1
tqdm==4.47.0
networkx>=2.1
pandas==1.0.3
networkx>=2.4
numpy
scipy
statsmodels
```