Sign inSign up

knowengdev/gene_prioritization_pipeline

By knowengdev

•Updated over 7 years ago

image for running Gene_Prioritization_Pipeline code

Image
0

2.0K

knowengdev/gene_prioritization_pipeline repository overview

⁠KnowEnG's Gene Prioritization Pipeline

This is the Knowledge Engine for Genomics (KnowEnG), an NIH, BD2K Center of Excellence, Gene Prioritization Pipeline.

This pipeline ranks the rows of a given spreadsheet, where spreadsheet's rows correspond to gene-labels and columns correspond to sample-labels. The ranking is based on correlating gene expression data (network smoothed) against pheno-type data.

There are four prioritization methods that one can choose from:

OptionsMethodParameters
Correlationcorrelationcorrelation
Bootstrap Correlationbootstrap sampling correlationbootstrap_correlation
Correlation with network regularizationnetwork-based correlationnet_correlation
Bootstrap Correlation with network regularizationbootstrapping w network correlationbootstrap_net_correlation

Note: all of the correlation methods mentioned above use the Pearson or t-test correlation measure method.


⁠How to run this pipeline's docker image with Our data


  1. Install Docker - follow the instructions in this link. ============

Install Docker Engine⁠

  1. Get the current Docker Image. On the command line with internet connection: ============

docker pull knowengdev/gene_prioritization_pipeline: 11_15_2018

  1. Create or change to a directory to hold the output data. ============

mkdir local_results and / or cd local_results

  1. Start the docker image connected to the (local_results) directory. =========== docker run -v local_results:/home/test/run_dir -it knowengdev/gene_prioritization_pipeline: 11_15_2018

  2. At the docker image command prompt change to the test directory. =========== .../home# cd test

  3. Set up the environment. ============= .../home/test# make env_setup


  1. Use one of the following "make" commands to select and run a clustering option: ===========
CommandOption
make run_pearsoncorrelation
make run_bootstrap_pearsonbootstrap sampling correlation
make run_net_pearsoncorrelation with network regularization
make run_bootstrap_net_pearsonbootstrap correlation with network regularization
make run_t_testcorrelation
make run_bootstrap_t_testbootstrap sampling correlation
make run_net_t_testcorrelation with network regularization
make run_bootstrap_net_t_testbootstrap correlation with network regularization

⁠How to run this pipeline with Your data.


*** Perform steps 1-3 as described above and use the local_results directory ***

⁠Create a custom YAML file, move that and your spreadsheet to the local_results directory

*** see the git hub directions *** Gene Prioritization ReadMe on github⁠

*** make sure file named by YAML key "spreadsheet_name_full_path:" is in your local_results directory *** *** the path-names inside docker depend on the way you "mount" the run directory in step 4 *** *** therefore you may have to change the YAML path's to ../../ instead of ../ *** *** make sure your custom YAML file is in the local_results directory ***

  1. Start docker with the container connected to your (local_results) directory. =========== docker run -v local_results:/home/test/run_dir -it knowengdev/gene_prioritization_pipeline: 11_15_2018

  2. Change to the directory mounted in step 4. =========== .../home# cd ./test/run_dir .../home/test/run_dir# ls

*** the files in the local_results directory will be visible in this directory ***

  1. Run Gene Prioritization with the options in your custom YAML file. ========= python3 ../../src/gene_prioritization.py -run_directory ./ -run_file zTEMPLATE_GP_BENCHMARKS.yml

⁠Description of "run_parameters" file


KeyValueComments
methodcorrelation or net_correlation or bootstrap_correlation or bootstrap_net_correlationChoose gene prioritization method
correlation_measurepearson or t_testChoose correlation measure method
gg_network_name_full_pathdirectory+gg_network_namePath and file name of the 4 col network file
spreadsheet_name_full_pathdirectory+spreadsheet_namePath and file name of user supplied gene sets
phenotype_name_full_pathdirectory+drug_responsePath and file name of user supplied drug response file
results_directorydirectoryDirectory to save the output files
number_of_bootstraps5Number of random samplings
cols_sampling_fraction0.9Select 90% of spreadsheet columns
rwr_max_iterations100Maximum number of iterations without convergence in random walk with restart
rwr_convergence_tolerence0.01Frobenius norm tolerence of spreadsheet vector in random walk
rwr_restart_probability0.5alpha in V_(n+1) = alpha * N * Vn + (1-alpha) * Vo
top_beta_of_sort100Number of top genes selected
max_cpu4Maximum number of processors to use in the parallel correlation section
gg_network_name = STRING_experimental_gene_gene.edge
spreadsheet_name = CCLE_Expression_ensembl.df
drug_response = CCLE_drug_ec50_cleaned_NAremoved_pearson.txt

⁠Description of Output files saved in results directory


  • Any method saves separate files per phenotype with name

{phenotype}_{method}_{correlation_measure}_{timestamp}_viz.tsv

Genes are sorted in descending order based on visualization_score

ResponseGene_ENSEMBL_IDquantitative_sorting_scorevisualization_scorebaseline_score
phenotype 1gene 1floatfloatfloat
...............
phenotype 1gene nfloatfloatfloat
  • Any method saves sorted genes for each phenotype with name

ranked_genes_per_phenotype_{method}_{correlation_measure}_{timestamp}_download.tsv

Rankingphenotype 1phenotype 2...phenotype n
1gene (most significant)gene (most significant)...gene (most significant)
...............
ngene (least significant)gene (least significant)...gene (least significant)
  • Any method saves spreadsheet with top ranked genes per phenotype with name

top_genes_per_phenotype_{method}_{correlation_measure}_{timestamp}_download.tsv

Genesphenotype 1...phenotype n
gene 11/0...1/0
............
gene n1/0...1/0

Tag summary

Content type

Image

Digest

Size

1016.4 MB

Last updated

over 7 years ago

docker pull knowengdev/gene_prioritization_pipeline:01_25_2019