VIOLIN (Validating Interactions Of Likely Importance to the Network) is a tool used to automatically classify and judge literature-extracted interactions curated from machine readers by comparing them to existing models. This comparison can help identify key interactions for model extension.
- Functionality
- I/O
- Online Tutorial
- Offline Installation
- Package Structure
- Reproducibility
- Citation
- Funding
- Support
- Identification: identifying the importance of the interactions for a user-defined cellular model
- Error Detection: finding the contradictions in interactions list
- Scoring: showing the quality of the interactions for a model
exmaple/input
- folder containing model files and automatically retrieved interactions lists.example/output
- example/output/<interactions_filename>_.csv, in BioRECIPE format, containing classified interactions (corroborations, contradictions, extensions, and flagged) and example/output/<interactions_filename>__score.csv (evidence score, match score, kind score, epistemic score and total score)use_VIOLIN.ipynb
- Jupyter notebook used to run VIOLINuse_violin_script.py
- python script used to run VIOLIN at the command line
Input Annotations | Query | Curation Method |
---|---|---|
RA1_reading.xlsx | Melanoma | REACH |
RA2_reading.xlsx | MEK, ERK, AKT, GSK3, P70RSK, S6, CDK4, 4EBP1, YB1, SRC, CHK2, MTOR, PI3K | REACH explorer |
RA2_0_1_reading.xlsx | RA2 without LEEs involving biological processes or chemicals | Manual |
RA2_0_1_1_reading.xlsx | RA2_0_1 without LEEs which were redundant or irrelevant | Manual |
RA3_reading.xlsx | MAPK/ERK pathway | REACH explorer |
RA4_reading.xlsx | RPS6K1 | REACH explorer |
For each reading set R#
in test_input
Output Annotations | Contents |
---|---|
R#_corroborations.csv | All LEEs judged as collaborations |
R#_contradictions.csv | All LEEs judged as contradictions |
R#_extensions.csv | All LEEs judged as extensions |
R#_flagged.csv | All LEEs judged as flagged |
R#_outputDF.csv | All LEEs, in order of descending Total Score |
Run the demonstrated example; or alternatively upload user-customized input files (see I/O) to the input/ directory on File Browser Tab (upper left corner) of Binder.
- Clone the VIOLIN repository to your computer.
git clone https://github.com/pitt-miskov-zivanov-lab/VIOLIN.git
- Navigate into the directory, install VIOLIN and its python dependencies.
cd VIOLIN pip install -e .
- Run the provided notebook (Check Jupyter notebook installation here).
jupyter notebook examples/use_VIOLIN.ipynb
setup.py
: python file that help set up python dependencies installationsrc/violin/
: directory that includes core python VIOLIN filessrc/violin/formatting.py
: functions of preprocessing strings in tabular input;src/violin/in_out.py
: functions of reading interactions list and model file and writing VIOLIN outputs;src/violin/network.py
: functions of creating model network and finding paths between nodes;src/violin/scoring.py
: implementation of decision tree for classification;src/violin/visualize_violin.py
: functions of visualizing classifying results;
examples/
: directory that includes tutorial notebook and example inputs and outputsenvironment.yml
: environment file, required by Binderdocs/
: containing files supporting the repo's host on Read the DocsLICENSE.txt
: MIT LicenseREADME.md
: this is me!
The data and code for running experiments and creating figures in paper can be found in data.zip
. The code is tested by example/test
and example/test_VIOLIN
.
@article{luo2024context,
title={Context-driven interaction retrieval and classification for modeling, curation, and reuse},
author={Luo, Haomiao and Hansen, Casey and Telmer, Cheryl A and Tang, Difei and Arazkhani, Niloofar and Zhou, Gaoxiang and Spirtes, Peter and Miskov-Zivanov, Natasa},
journal={bioRxiv},
pages={2024--07},
year={2024},
publisher={Cold Spring Harbor Laboratory}
}
This work was funded in part by DARPA Big Mechanism award, AIMCancer (W911NF-17-1-0135) and in part by the NSF EAGER award CCF-2324742.
Feel free to reach out via email [email protected] for additional support if you run into any error.