Mutual Ranks and Modules
Set of scripts to identify co-expressed gene sets (i.e., modules) in gene co-expression networks.
- Filter gene expression matrix. If necessary, remove genes that are not expressed using the prefilter_matrix.pl perl script. Requires Math::Round which you may need to install.
perl scripts/prefilter_matrix.pl -i example/example_matrix.txt -o example/example_matrix_filtered.txt
- Transform the filtered raw counts into variance stabilized abundance estimates. Requires several R libraries, which you may need to install. Modified from this DESeq2 vignette
Rscript scripts/transform_counts.R example/example_matrix_filtered.txt example/example_conditions.txt
- Calculate Pearson's correlation (PCC) for all gene pairs. But first, decide which transformed matrix (vst or rlog) to use. Look at the resulting PDFs from step 2 and decide which matrix is best for your dataset. This step can be multithreaded using -t .
perl scripts/calc_pearsons_correlation.pl -i rlog_transformed.matrix -o rlog_pcc
- Transform PCCs into Mutual Ranks (MRs) and MRs into edge weights. MRs are transformed to network edge weights using the exponential decay function . The output contains results from five different decay functions with x set to 5, 10, 25, 50, and 100, respectively. Only edges greater than set thresholds will be included in the output file. The user can specify different PCC and edge weight thresholds using -c and -w, respectively.
perl scripts/calc_mutual_rank.pl -i rlog_pcc -o rlog_mutual_ranks.txt
- Run clusterONE and call co-expressed gene modules. The user must include the path to the ClusterONE jar file using -c . The user must also specify which decay function to use to call modules (either 5, 10, 25, 50, or 100). Optionally, the user can specify P-value and Quality score cutoffs to exclude low scoring modules from the final output.
perl scripts/calc_clusterone_modules.pl -i rlog_mutual_ranks.txt -c scripts/cluster_one-1.0.jar -d 5 -p 0.1 -q 0.1