使用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
准备好后,按如下图所示提交分析
2、基于Linux跑VEGAS2的方式
这种方式优点是不需要像在线那种方式需要等对方返回结果。直接就能在服务器上跑。
缺点也很明显。
第一、
配置麻烦。安装很不友好。不适合生信小白拿来练手。
会让你越练越挫,越练越生气。最后从入门到放弃。
第二、
即便你安装成功了,能跑了。你会发现,特别占CPU。
我相信等你跑完所有染色体后,早被课题组的人骂惨了。
所以,真心建议,放弃这个软件,或者直接选用在线版本。
如果你坚持要在Linux下用这个软件,请看下面的教程。
2.1 VEGAS2下载、安装
wget https://vegas2.qimrberghofer.edu.au/VEGAS2offline.tgz
tar -zxvf zVEGAS2offline.tgz
解压后,会看到以下两个可执行文件:
- VEGAS2.pl
- 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.
如果幸运的话,在这个阶段就能跑成功了。
这个时候,能得到如下示例结果:
但如果不幸。报错了。
下面我再推荐一个备份的跑法。
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
这里我就不再赘述。
使用VEGAS2(Versatile Gene-based Association Study)进行gene based的关联分析研究的更多相关文章
- 数据关联分析 association analysis (Aprior算法,python代码)
1基本概念 购物篮事务(market basket transaction),如下表,表中每一行对应一个事务,包含唯一标识TID,和购买的商品集合.本文介绍一种成为关联分析(association a ...
- 全基因组关联分析(Genome-Wide Association Study,GWAS)流程
全基因组关联分析流程: 一.准备plink文件 1.准备PED文件 PED文件有六列,六列内容如下: Family ID Individual ID Paternal ID Maternal ID S ...
- CAFE: a computational tool for the study of gene family evolution
1.摘要 摘要:我们提出了CAFE(计算分析基因家族进化),这是一个统计分析基因家族进化规模的工具.它使用随机的出生和死亡过程来模拟一个系统发育过程中基因家族大小的进化.对于一个特定的系统发育树,并给 ...
- Rare-Variant Association Analysis | 罕见变异的关联分析
Rare-Variant Association Analysis: Study Designs and Statistical Tests 10 Years of GWAS Discovery: B ...
- GWAS在农业上应用
农业的组学技术应用虽然落后于人的研究,这是什么意义的问题,但有时农业基因组有自己无可比拟的优势,那就是材料.下面介绍GWAS应用. GWAS(Genome-wide association study ...
- 32、Differential Gene Expression using RNA-Seq (Workflow)
转载: https://github.com/twbattaglia/RNAseq-workflow Introduction RNAseq is becoming the one of the mo ...
- CQRS, Task Based UIs, Event Sourcing agh!
原文地址:CQRS, Task Based UIs, Event Sourcing agh! Many people have been getting confused over what CQRS ...
- augustus, gene prediction, trainning
做基因组注释 先用augustus训练,然后再用maker做基因注释 augustus提供一些训练好的,如果有和你的物种非常接近的,直接用提供的,没有的话再自己训练. 网址: http://bioin ...
- [认证授权] 6.Permission Based Access Control
在前面5篇博客中介绍了OAuth2和OIDC(OpenId Connect),其作用是授权和认证.那么当我们得到OAuth2的Access Token或者OIDC的Id Token之后,我们的资源服务 ...
随机推荐
- httprunner学习3-extract提取token值参数关联(上个接口返回的token,传给下个接口请求参数)
前言 如何将上个接口的返回token,传给下个接口当做请求参数?这是最常见的一个问题了. 解决这个问题其实很简单,我们只需取出token值,设置为一个中间变量a,下个接口传这个变量a就可以了.那么接下 ...
- JSR303/JSR-349,hibernate validation,spring validation 之间的关系
JSR303是一项标准,JSR-349是其的升级版本,添加了一些新特性,他们规定一些校验规范即校验注解,如@Null,@NotNull,@Pattern,他们位于javax.validation.co ...
- test20191205 WC模拟赛
又是先开T3的做题顺序,搞我心态.以后我必须先看看题了. 整数拆分 定义 \(f_m(n)\) 表示将 \(n\) 表示为若干 \(m\) 的非负整数次幂的和的方案数.例如,当 \(m = 2\) 的 ...
- HDU4624 Endless Spin 和 HAOI2015 按位或
Endless Spin 给你一段长度为[1..n]的白色区间,每次随机的取一个子区间将这个区间涂黑,问整个区间被涂黑时需要的期望次数. n<=50 题解 显然是min-max容斥,但是n的范围 ...
- PLSQL 美化规则文件详解
PL/SQL中有个代码优化的功能,里面可以定义规则,挺好用的,跟大家分享下: 1.首先新建一个my.br文件,在文件中复制以下内容 Version=1 RightMargin=90 Indent=4 ...
- wordpress在首页列出所有分类及分类下的文章
前面我们谈了wordpress调用指定分类文章,如果想要调用所有分类的文章如何实现呢?比如在wordpress首页列出所有分类及分类下的文章,其实方法类似 <?php $cats = get_c ...
- MapReduce如何调优
Map阶段优化 1.在代码书写时优化,如尽量避免在map端创建变量等,因为map端是循环调用的,创建变量会增加内存的消耗,尽量将创建变量放到setup方法中 2.配置调优,可以在集群配置和任务运行时进 ...
- 第4组 Alpha冲刺(1/4)
队名:斗地组 组长博客:地址 作业博客:Alpha冲刺(1/4) 各组员情况 林涛(组长) 过去两天完成了哪些任务: 1.安排好各个组员的任务 2.收集各个组员的进度 3.写页面 4.写博客 展示Gi ...
- [原创]Android Monkey测试工具使用介绍
[原创]Android Monkey测试工具使用介绍 1 Android Monkey介绍 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件 ...
- ubuntu之路——day17.4 卷积神经网络示例
以上是一个识别手写数字的示例 在这个示例中使用了两个卷积-池化层,三个全连接层和最后的softmax输出层 一般而言,CNN的构成就是由数个卷积层紧跟池化层再加上数个全连接层和输出层来构建网络. 在上 ...