Skip to main content

A python package for ROBUST disease module mining algorithm with study bias correction via the incorporation of bias-aware edge costs.

Project description

Installation

Install conda environment as follows (there also exists an environment.yml but it contains more packages than necessary)

conda create --name robust python=3.7
conda activate robust
conda install numpy matplotlib pandas networkx pip jupyter
pip install pcst_fast

Note that Python 3.7 is a hard requirement!

Running ROBUST

Navigate to home path '/robust_bias_aware', then you can simply run robust by calling

python3 robust.py ./data/data-case-study-1-covid-19/covid-19-seeds.txt covid19.graphml

python3 robust.py ./data/data-case-study-2-prec-puberty/prec-pub-seeds.txt prec_puberty.graphml --namespace UNIPROT

The positional arguments are:


[1] file with a list of seed genes (delimiter: newline-separated)
[2] path to output file (supported output file types: .graphml, .csv, others) [read more below]


The suffix of the path to the output file you specify, determine the format of the output.
You can either choose
- .graphml: A .graphml file is written that contains the following vertex properties: isSeed, significance, nrOfOccurrences, connected_components_id, trees
- .csv: A .csv file which contains a vertex table with #occurrences, %occurrences, terminal (isSeed) 
- everything else: An edge list

The optional arguments are:


[1] --network NETWORK					Description: Specify path to graph or identifier of networks shipped with ROBUST ('BioGRID', 'APID', 'STRING'), type=str or file (allowed types: .graphml, .txt, .csv, .tsv), default: 'BioGRID' [read more below]

Network input options:
	- A two-column edgelist. File types and corresponding delimiters are as follows: 1. '.txt' file should be space-separated 2. '.tsv' file should be tab-separated 3. '.csv' file should be comma-separated. No other file  formats except '.txt', '.csv' and '.tsv' are accepted at the moment.
	- A valid .graphml file
	- In-built network name {'BioGRID', 'APID', 'STRING'}


[2] --alpha ALPHA					Description: initial fraction for ROBUST, type=float, expected range=[0,1], default: 0.25

[3] --beta BETA						Description: reduction factor for ROBUST, type=float, expected range=[0,1], default: 0.90

[4] --n N						Description: # of steiner trees for ROBUST, type=int, expected range=(0,+inf], default: 30

[5] --tau TAU						Description: threshold value for ROBUST, type=float, expected range=(0,+inf], default: 0.1

[6] --namespace {'ENTREZ', 'GENE_SYMBOL', 'UNIPROT'}	Description: gene/ protein identifier options for study bias data, type=str, default: 'GENE_SYMBOL'

[7] --study-bias-scores					Description: specify edge weight function used by ROBUST, type=str, default: 'BAIT_USAGE' [read more below]

Study bias score input options:
	- A two-column file (delimiter: comma), where the first column is the gene or protein name (column datatype: string) and the second column is the study bias score (column datatype: int).
	- In-built study-bias-score options {'NONE' or 'None', 'BAIT_USAGE', 'STUDY_ATTENTION'} ('NONE' or 'None' leads to running ROBUST with uniform edge costs.)


--gamma							Description: Hyper-parameter gamma used by bias-aware edge weights. This hyperparameter regulates to what extent the study bias data is being leveraged when running ROBUST., type=float, expected range=[0,1], default: 1.00

Updating in-built PPI networks

python3 ./data/networks/update_inbuilt_ppi_networks.py

Updating study bias scores

python3 ./data/study_bias_scores/update_inbuilt_study_bias_scores.py

Evaluating ROBUST

For a large-scale empirical evaluation of ROBUST, please follow the instructions given here: https://github.com/bionetslab/robust-eval.

Citing ROBUST

Please cite ROBUST as follows:

  • S. Sarkar, M. Lucchetta, A. Maier, M. M. Abdrabbou, J. Baumbach, M. List, M. H. Schaefer, D. B. Blumenthal: Online bias-aware disease module mining with ROBUST-Web, Bioinformatics 35(6), 26 May 2023, https://doi.org/10.1093/bioinformatics/btad345.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robust_bias_aware-0.0.1.tar.gz (28.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

robust_bias_aware-0.0.1-py3-none-any.whl (33.4 kB view details)

Uploaded Python 3

File details

Details for the file robust_bias_aware-0.0.1.tar.gz.

File metadata

  • Download URL: robust_bias_aware-0.0.1.tar.gz
  • Upload date:
  • Size: 28.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.4

File hashes

Hashes for robust_bias_aware-0.0.1.tar.gz
Algorithm Hash digest
SHA256 9cbe8ffb6205eed5456f1d187f92a6b4d3194bf4f351be9b648b9605403e5d22
MD5 3f02beb938ddcb461a8b8bdfe20f4e6e
BLAKE2b-256 d3d6f44fdcaf5df014e8d0dac16307858b0bdf4e9d39e169baeb1614539c11e6

See more details on using hashes here.

File details

Details for the file robust_bias_aware-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for robust_bias_aware-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 84c5e38ba9a2e15d06d3915918f5dc4cd1be01634799f3a5319ec6bdb896c415
MD5 f6047d86b551a5664cee4b5eda7626ce
BLAKE2b-256 456027536bd71588d26334404cd554e882896c58ac312572a5984e078f200b72

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page