病例对照研究中的责任估算

leap_gwas的Python项目详细描述


飞跃
-- < BR>
leap是用python语言编写的用于确定病例对照全基因组关联研究中的责任评估程序。
leap估计负债,然后在gwas上下文中将其视为表型,这可以极大地提高功率。 < BR>< BR>
-----
安装
-----
安装leap的最简单方法是通过pip,输入以下命令:
``外壳
pip安装——用户leap\u gwas
< BR>
LEAP脚本通常安装在:

~/.local/lib/python2.7/site-packages/leap/
< BR>
leap特别容易使用[anaconda python发行版](https://store.continuum.io/cshop/anaconda)安装。anaconda的[数值优化版本](http://continuum.io/blog/mkl-optimizations)可以加速几个数量级的跳跃。 < BR>
或者(如果无法安装Anaconda),为了获得非常快的性能,建议使用优化的数字库,例如[OpenBlas](http://www.scipy.org/scipylib/building),使用优化的数字库(如[OpenBlas](http://www.openblas.net)或[Intelmkl](https://software.intel.com/en-us/intel-mkl)(请参阅[使用英特尔mkl编译scipy的说明](https://software.intel.com/en-us/articles/numpyscipy with intel mkl)。 < BR>
要手动安装LEAP,需要以下依赖项:
*巨蟒2.7
*【numpy】(http://www.numpy.org/)和【scipy】(http://www.scipy.org/)
*[scikit学习](http://scikit-learn.org/stable/)
*python[fast lmm包](https://github.com/microsoftgenomics/fast lmm)。 < BR>
请确保在使用LEAP之前安装了这些设备。
要验证是否正确安装了所有内容,请在回归目录中运行脚本test.py。如果发现任何问题,它将运行一个小的示例分析并打印一条错误消息。 < BR>< BR>
-----
使用说明

有两种方法可以运行leap。
第一种是通过python api。有关此选项的详细说明,请参阅[leap ipython笔记本](http://nbviewer.ipython.org/github/omerwe/leap/blob/master/leap/regression/leap-example.ipynb)。 < BR>
第二个选项是通过一系列python脚本运行leap,如下所述。这个选项更适合那些不熟悉python的人。脚本leaputils.sh在一个小的示例数据集上运行完整的leap管道,可供参考。 < BR>
通常,leap使用与[fast lmm]相同的文件格式(https://github.com/microsoftgenomics/fast lmm)。
即,输入文件采用[二进制plink格式](http://pngu.mgh.harvard.edu/~purcell/plink/data.shtml bed)。
当plink和fastlmm使用的文件格式之间存在矛盾时,leap使用fastlmm采用的约定。
可以通过键入

python<;脚本名称>;--帮助
< BR>用于跳转的命令行选项很大程度上遵循[C++版本]的选项。
fast lmm(http://research.microsoft.com/en-us/projects/fastlmm/)。 < BR>< BR>
LEAP管道
**1(可选):查找要删除的相关个人:***

python findrelated.py--bfilesim<;plink基本文件>;--out<;输出文件>;

此脚本创建一个文件,标记需要删除以消除相关性的个人。 < BR>
**2)计算亲属矩阵的特征分解:**

python eigendecompose.py--bfilesim<;plink base file>;--out<;output file>;[--extractsim<;用于估计亲属关系的snps>;--pheno<;表型文件>;]

此脚本计算亲属关系矩阵及其特征分解,并保存它们以加速后续阶段。建议执行通过计算每一条染色体的不同亲缘关系矩阵,将一条染色体排除在外(loco)分析,每一条染色体由所有snp组成,所选染色体上的snp除外。可选的extractsim文件是一个带有snp名称列表(每行一个snp)的文本文件。可选的表型文件仅用于排除具有未知表型的个体。 < BR>
**3)使用[戈兰等人]的方法计算遗传力(http://www.pnas.org/content/111/49/e5272.long):**

python calc_h2.py--bfilesim<;plink base file>;--prev<;position>;--pheno<;表型文件>;--h2coeff 1.0[--eign<;eign file>;--extractsim<;用于遗传力估计的snps>;--related<;relatedness file>;--h2coeff<;遗传力系数>;]

此脚本输出遗传力估计值。可选的特征文件是在阶段2中创建的。可选的extractsim文件是一个包含snp名称列表(每行一个snp)的文本文件,将用于遗传力估计。建议对每个排除的染色体进行不同的遗传力和责任估计,然后测试排除染色体上的snp与估计责任的相关性。bfilesim和extractsim参数必须与第2阶段中使用的参数相同。可选的relatedness文件应该是阶段1的输出,用于从分析中排除相关个人,从而改进分析结果。 < BR>
**4)预计负债:**

python probit.py--bfilesim<;plink base file>;--pheno<;表型文件>;--prev<;患病率>;--out<;输出基本文件>;--h2<;遗传力>;[--eign<;eign file>;--extractsim<;用于负债估算的snps>;--relatedness file>;]

此脚本创建一个名为"<;output base file"\>;.liabs"的文件,其中包含每个人的预计负债。通过将估计负债作为标准表型文件,可以直接用于gwas。特征文件是第2阶段计算的,h2参数应该是第3阶段的遗传力估计值。extractsim和relatedness文件参数应与第3阶段相同。 < BR>
**5)关联性测试:**

python leap_gwas.py--bfilesim<;用于亲属关系估计的plink基本文件>;--bfile<;带有测试过的snp的plink文件>;--pheno<;估计负债文件>;--out<;输出文件>;--h2<;遗传力>;[--eign<;eign文件>;--extractsim<;在LMM亲属关系矩阵中使用的SNP–提取要测试的SNP–gt;]

此脚本以预先指定的遗传力级别(在第2阶段计算)执行gwas。特征文件是第2阶段的文件,pheno参数是第4阶段计算的负债文件。语法基本上遵循[C++FieldLMM版本](http://Realth.Cuff.com/En/Studio/FASTLMM/)。
bfile和bfilesim参数都可以指向同一个文件。在这种情况下,应该使用提取和提取参数来保证亲属关系估计不在排除的染色体上使用snp,并且所有测试的snp都在排除的染色体上。 < BR>< BR>
----
一般评论和提示
---
**1)**通过添加标志--covar,固定效果可以包含在第2-4阶段中。
请键入

python probit.py——帮助
< BR>

python leap_gwas.py——帮助

获取说明。然而,我们注意到,在极端确定的情况下,建议仅在第2-3阶段使用协变量(详见论文)。 < BR>
**2)**如正文所述,建议对每个排除的染色体进行不同的责任估计,然后测试排除染色体上的snp,以确定与估计责任的关联。外接actsim标志对此很有用。有关用法示例,请参见示例文件leap_pipeline.sh。 < BR>
**3)**LEAP源文件提供了完整的端到端使用示例,可以通过脚本leap_pipeline.sh调用。
此示例估计小型平衡案例控制数据集的负债。
模拟数据集,遗传率为50%,患病率为0.1%。包括500例病例,500例对照,499个原因性单核苷酸多态性和10000个与fst=0.01不同的单核苷酸多态性。因果snp称为csnp。此文件的原始责任在dataset1.phe.liab文件中提供(但leap不使用此文件)。 < BR>< BR>
---- 接触/接触
---
如有疑问和意见,请联系Omer Weissbrod,电话:Omerw[at]cs.technion.ac.il

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
c#Java Tcp服务器和。Net Tcp客户端的发送和接收问题   安卓应用程序上的java标记地理位置,其位置位于我周围5Km半径范围内。   向java添加对话框并检索html文件   当eclipse甚至无法打开时,java会在eclipse中更改不兼容的JVM   java中同一jframe中的jlabel和paintComponent   基于另一数组排序的java排序   java AADSTS7000012:该补助金是为另一个租户获得的   java在JSF中使用foreach循环   java如何通过maven为运行junit测试创建运行配置?   java Selenium webDriver不稳定错误堆栈跟踪   java有没有办法创建以键为大写的JSON对象?