SherryDong / LEGO

We have developed a novel method named LEGO (functional Link Enrichment of Gene Ontology or gene sets). Incorporating a network-based gene-weighting scheme, LEGO measures the overlaps between the interesting genes and a given gene set by integrating both the gene weights and gene-gene interactions.
8 stars 3 forks source link

Download link: http://omics.fudan.edu.cn/static/softwares/

README for LEGO (V2.0) Time-stamp: <2015-10-13 12:00 by Xinran Dong & Yun Hao & Zhu Liu>

We have developed a novel method named LEGO (functional Link Enrichment of Gene Ontology or gene sets). Incorporating a network-based gene-weighting scheme, LEGO measures the overlaps between the interesting genes and a given gene set by integrating both the gene weights and gene-gene interactions.

Please Cite:

LEGO: a novel method for gene set over-representation analysis by incorporating network-based gene weights.

In the main directory, you could type: $ perl LEGO.pl and you will see the help message.

The usage for this program:

############################################################################################### perl LEGO.pl [options]

Options:  

-h/-help: show help message.
-pre: <whether or not to pre-run to generate mid files,1-yes,0-no(e.g:0)> 
-multi: <multi or not:1-yes,0-no(e.g:0)> 
-bgNE: <bgNE for the network,e.g:0.25> 
-min: <minimum gene set size,e.g:5> 
-max: <maximum gene set size,e.g:10000> 
-adj: <adjusted methods,e.g:fdr> 
-p_thre: <p value cutoff,e.g:0.05> 
-fisher: <whether or not run fisher exact test, 1-yes,0-no,e.g: 0> 
-filter: <whether or not run result cluster and filter step, 1-yes, 0-no, e.g: 1> 
-bg_file: <background file, e.g: bg.txt, if do not have background file, leave it blank>

###############################################################################################

And we also provide a version that do not use permutation strategy:

The usage for this program:

###############################################################################################

perl LEGO_noperm.pl [options]

    Options:

    -h/-help: show help message.
    -pre: <whether or not to pre-run to generate mid files,1-yes,0-no(e.g:0)>
    -multi: <multi or not:1-yes,0-no(e.g:0)>
    -bgNE: <bgNE for the network,e.g:0.25>
    -min: <minimum gene set size,e.g:5>
    -max: <maximum gene set size,e.g:10000>
    -adj: <adjusted methods,e.g:fdr>
    -p_thre: <p value cutoff,e.g:0.05>
    -fisher: <whether or not run fisher exact test, 1-yes,0-no,e.g: 0>
    -filter: <whether or not run result cluster and filter step, 1-yes, 0-no, e.g: 0>
    -bg_file: <background file, e.g: bg.txt, if do not have background file, leave it blank> \n";

###############################################################################################

Example1 (for single interesting gene list file): perl LEGO.pl demo/FC2_human.txt demo/GeneSet_human.txt demo/input.txt Example2 (for multiple interesting gene list file): perl LEGO.pl demo/FC2_human.txt demo/GeneSet_human.txt demo/input_mul.txt -multi 1 Example3 (for single interesting gene list file and filtered results): perl LEGO.pl demo/FC2_human.txt demo/GeneSet_human.txt demo/input.txt -filter 1 Example4 (for multiple interesting gene list file and filtered results): perl LEGO.pl demo/FC2_human.txt demo/GeneSet_human.txt demo/input_mul.txt -multi 1 -filter 1 Example5 (for single interesting gene list file + bg file): perl LEGO.pl demo/FC2_human.txt demo/GeneSet_human.txt demo/input.txt -bg_file demo/bg.txt

Example6 (for single interesting gene list file with background list): perl LEGO_noperm.pl demo/FC2_human.txt demo/GeneSet_human.txt demo/input.txt -bg_file demo/bg.txt Example7 (for multiple interesting gene list file with background list): perl LEGO_noperm.pl demo/FC2_human.txt demo/GeneSet_human.txt demo/input_mul.txt -multi 1 -bg_file demo/bg.txt

Tips:

  1. Output files: _LEGO.txt, if you choose to filter & cluster enriched gene sets, another two files will be generated: _LEGO_filter.txt _LEGO_filter_cluster.txt (set -filter 1)
  2. The first time to run this program will take about several minutes to generate mid-files(according to the size of the network and genesets). If you want to re-generate the mid files, set -pre_run to 1; If you have already generated the mid-files for network and genesets, it will only take several seconds to calculate a new input gene list (set -pre_run to generate mid files to 0)
  3. The first time to use LEGO.pl, it will take maybe several minutes to generate the permutation results. We provide the pre-generated mid files for data/GeneSet_human.txt.
  4. If you want to use the background file, you could only use LEGO_noperm.pl;
  5. The gene ID in the network, gene set and input gene list must be the same ID system.
  6. More options are available at our online server http://lego.tianlab.cn. It will be available soon.

for plot

Pre-request:

Usage: plot_LEGO.R <input interesting gene list file> <enriched output file> <output file prefix> <network file name> <network+gene set prefix,e.g: demo/GeneSet_human.txt_FC2_human> <CS or NW> <plot gene set name, can be comma saperated> 

e.g:

Rscript src/plot_LEGO.R  demo/input.txt demo/input.txt_id.out_LEGO.txt demo/input_REACTOME_KINESINS demo/FC2_human.txt demo/GeneSet_human.txt_FC2_human CS REACTOME_KINESINS