使用VEGAS2(Versatile Gene-based Association Study)進行gene based的關聯分析研究


gene-based關聯分析研究是SNP-based關聯分析研究的一個補充。

目前有很多工具支持gene-based關聯分析研究,比如GCTA,VEGAS2等。

下面主要介紹一下怎么用VEGAS2做gene-based的關聯分析研究。

先說VEGAS2的優點,輸入特別簡單,不需要准備太多輸入文件。

缺點,我后面再提。

VEGAS2提供了兩種方式跑gene based的關聯分析。

一種是在線的,一種是離線的。

下面分別介紹這兩種。

1、基於在線跑VEGAS2的方式

在線網址https://vegas2.qimrberghofer.edu.au/

這種輸入方式很簡單,准備一個文件,文件包含兩列,分別為SNP的rs編號和P值,如下所示:

rs1004739 0.00341

rs2898687 0.005083

rs7162781 0.6343

rs2905794 0.9469

rs1801052 0.9469

rs1013948 0.2093

准備好后,按如下圖所示提交分析

M1cJoT.md.png

2、基於Linux跑VEGAS2的方式

這種方式優點是不需要像在線那種方式需要等對方返回結果。直接就能在服務器上跑。

缺點也很明顯。

第一、

配置麻煩。安裝很不友好。不適合生信小白拿來練手。

會讓你越練越挫,越練越生氣。最后從入門到放棄。

第二、

即便你安裝成功了,能跑了。你會發現,特別占CPU。

我相信等你跑完所有染色體后,早被課題組的人罵慘了。

所以,真心建議,放棄這個軟件,或者直接選用在線版本。

如果你堅持要在Linux下用這個軟件,請看下面的教程。

2.1 VEGAS2下載、安裝

wget https://vegas2.qimrberghofer.edu.au/VEGAS2offline.tgz

tar -zxvf zVEGAS2offline.tgz

解壓后,會看到以下兩個可執行文件:

  1. VEGAS2.pl
  1. VEGAS2.config

以及兩個文件夾:

a. VEGAS2database

b. VEGAS2scripts

2.2 config VEGAS2

sh vegas2.config VEGAS2database VEGAS2scripts

2.3 確保服務器安裝了perl,plink和R

which perl

which plink

which R

如果安裝了perl,plink和R,在輸入上面命令后,會返回perl,plink和R的地址。沒有返回哪個軟件的地址,則需要自己手動export進去。

例如,假如沒有返回plink軟件,但是你又明確知道plink安裝在/usr/bin下,則用以下命令:

export PATH=/usr/bin/:$PATH

2.3 安裝R的依賴包

install.packages("mvtnorm")

install.packages("corpcor")

2.4 開始跑gene-based關聯分析研究。

默認參數:

vegas2 test_vegas2input.txt -pop 1000GEURO -subpop EURO -genesize 0kbloc -top 100 -sex BothMnF -max 1000000 -out genebased.V2out

注意:

–chr 和 –genelist參數不要同時使用,同樣,–top 和 –bestsnp參數也不要同時使用。不然沒法工作。
-pop是指研究樣本的群體來源,默認是歐洲( 1000GEURO );

-subpop是指子群體,比如芬蘭,北方漢族等;

-genesize To specify which gene definition to use. There are five options available viz. 0kbloc(default), 10kbloc, 20kbloc, 50kbloc and 0kbldbin

-chr To run vegas2 on specific chromosome. It could be in between 1 to 23.

-genelist To run vegas2 on specific list of genes.

-top It tell vegas2 to perform top percentage test where it consider specified percentage of top SNPs

-bestsnp It tell vegas2 to perform best SNP test.

-sex This option is provided for X-chromosome analysis. It tells vegas2 to consider either male (Default) of female 1000G individuals to make ld matrix for simulations.

-max It tells VEGAS2 the maximum number of simulation to perform. It must be above 1e6.

-adjust To get genomic inflation corrected p-values. It will create one more file “ .corrected”

-out It tells VEGAS2 the output file name.

如果幸運的話,在這個階段就能跑成功了。

這個時候,能得到如下示例結果:

M155on.md.png

但如果不幸。報錯了。

下面我再推薦一個備份的跑法。

2.5 備份跑法:gene-based關聯分析研究。

跑之前,需要先修改vegas2.pl的代碼。

修改vegas2.pl

vi vegas2.pl

進入vegas2.pl文件以后,改動的代碼如下:

1)第209行

將原始代碼:

my $path_sub_population = "/scratch/aniketM/VEGAS2/$reference_population/1000G$sub_population.extract";

修改為:

my $path_sub_population = "/VEGAS2/VEGAS2offline2/VEGAS2database/$reference_population/1000G$sub_population.extract";

其中,/VEGAS2/VEGAS2offline2/VEGAS2database/指的是你服務器VEGAS2database絕對路徑

也就是說,如果你的VEGAS2database文件夾放在/usr/VEGAS2/VEGAS2offline2/VEGAS2database/這個路徑上,

那么這里應該修改為:

my $path_sub_population = "/usr/VEGAS2/VEGAS2offline2/VEGAS2database/$reference_population/1000G$sub_population.extract";

2)第212行

將原始代碼:

my $path_merge_database = "/scratch/aniketM/VEGAS2/$reference_population/$definition_gene";

修改為:

my $path_merge_database = "/VEGAS2/VEGAS2offline2/VEGAS2database/$reference_population/$definition_gene";

修改的路徑同209行的修改方式,這里不多做解釋。

3)第215行

修改方式同209行,

/scratch/aniketM/VEGAS2/

改為

/VEGAS2/VEGAS2offline2/VEGAS2database/

4)第218行

修改方式同209行,

/scratch/aniketM/VEGAS2/

改為

/VEGAS2/VEGAS2offline2/VEGAS2database/

5)第340行

將原始代碼:

system("cp /home/aniketM/bin/VEGAS2scripts/genemerge.sh genemerge.sh");

修改為:

system("cp /VEGAS2/VEGAS2offline2/VEGAS2scripts/genemerge.sh genemerge.sh");

其中,/VEGAS2/VEGAS2offline2/VEGAS2scripts/指的是你服務器VEGAS2scripts絕對路徑

也就是說,如果你的VEGAS2scripts文件夾放在/usr/VEGAS2/VEGAS2offline2/VEGAS2scripts/這個路徑上,

那么這里應該修改為:

system("cp /usr/VEGAS2/VEGAS2offline2/VEGAS2scripts/genemerge.sh genemerge.sh");

6)第341-346行

修改方式同340行,

/home/aniketM/bin/VEGAS2scripts/

改為

/VEGAS2/VEGAS2offline2/VEGAS2scripts/

保存vegas2.pl

完成以上1)-6)的工作后,輸入:wq 保存vegas2.pl

開始運行gene-based關聯分析研究

輸入以下代碼:

/path/to/perl vegas2.pl test_vegas2input.txt -pop 1000GEURO -subpop EURO -genesize 0kbloc -top 100 -sex BothMnF -max 1000000 -out genebased.V2out

其中,/path/to/perl是指服務器放perl的路徑;

vegas2.pl是VEGAS2跑gene-based的perl腳本,與test_vegas2input.txt放在同一個路徑里

3、內容補充:

運行這個軟件,可能會遇到以下報錯:

3.1 報錯1

Can't locate Data/UUID.pm in @INC (@INC contains: /home/chenwenyan/perl5/lib/perl5 /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /software/VEGAS2/VEGAS2offline2/vegas4.pl line 4.

解決方案是:安裝Data::GUID模塊。

具體解決方式:

1)下載、解壓Data::GUID模塊

wget https://cpan.metacpan.org/authors/id/R/RJ/RJBS/Data-UUID-1.224.tar.gz

tar -xzvf Data-UUID-1.224.tar.gz

2)安裝Data::GUID模塊

cd Data-UUID-1.224/

perl Makefile.PL

make

make test

make install

完成以上測試后,如果沒有報任何的錯誤,說明Data::GUID模塊已經正確安裝。

3.2 報錯2

gcc:error:unrecognized command line option ‘-fstack-protector-strong’

這個報錯說明需要升級GCC的版本。

-fstack-protector-strong要求GCC 4.9版本以上

可以通過命令gcc -v查看服務器GCC的版本。

如果沒有達到4.9,則需要升級。

gcc各種版本在這:http://ftp.gnu.org/gnu/gcc/

關於升級GCC,有寫的比我更詳細的教程,推薦看這篇:
https://www.cnblogs.com/julie-yang/p/4695845.html

這里我就不再贅述。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM