专栏首页实验盒GWAS_Flow:使用GPU加速全基因组关联分析

GWAS_Flow:使用GPU加速全基因组关联分析

21世纪是生物的世纪,生物数据的增长速度越来越快。很多分析工具在开发时并没有考虑到大规模数据的应用场景。在数据量不大的时候,这些工具的计算时间并不会太长,可以让人接受。但在数据规模庞大时,可能就 hold 不住,等待时间让人发指。

加速大规模生物数据的分析速度有很多方法,其中利用 GPU 加速基因组研究是一个非常火的方向。典型的一个例子是 NVIDIA Clara Parabricks,它的 GPU-based GATK4 Best Practice Pipeline 可以比 CPU 版本快 35 到 50 倍。

今天要介绍 GWAS_Flow (https://github.com/Joyvalley/GWAS_Flow)这个工具,它是基于 TensorFlow 的 GWAS 框架,使用的是 EMMAX 方法。

安装

GWAS_Flow 可以基于Git和 Anaconda 安装。它虽然也有 Docker 和 Singularity 版,但目前还在开发,可能会有些问题,不建议使用。

这里使用 Anaconda 安装:

# 克隆 git 仓库
git clone https://github.com/Joyvalley/GWAS_Flow

# 创建conda环境,安装需要的包:
conda create -n gwas_flow python=3.7.3
conda activate gwas_flow
conda install -y tensorflow==1.14
conda install -y scipy pandas numpy h5py
conda install -y -c conda-forge pandas-plink 
conda install -y -c conda-forge matplotlib 
pip install limix

输入数据

GWAS_Flow 至少需要一个基因型文件和表型文件,如果有 kinship matrix、协变量等,也可加进去。如果没有提供 kinship matrix,GWAS_Flow 会自动使用 van Raden 的方法计算 kinship。

基因型文件

可以接受 HDF5 、CSV 和 Plink(bed/bim/fam) 三种格式。其中,CSV格式是基因型编码为 0,1,2 的 csv 文件,第一行为 header,第一列为样本id,后续每一行是一个样本、每一列是一个 SNP。

表型文件

CSV 格式,第一列是样本 id,第一行是 header。

Kinship文件

可以是 h5py 格式,也可以是 CSV 格式。CSV 格式的Kinship matrix,第一行要加入 header,第一列加入样本 id。

运行

使用 plink 格式的示例数据(输入 plink 格式的文件时,注意要使用文件前缀名再加 .plink 的形式):

python gwas.py -x gwas_sample_data/my_plink.plink -y gwas_sample_data/pheno2.csv -k gwas_sample_data/kinship_ibs_binary_mac5.h5py

命令中的标签和选项包括:

-x , --genotype : file containing marker information in csv or hdf5 format of size
-y , --phenotype : file container phenotype information in csv format
-k , --kinship : file containing kinship matrix of size k X k in csv or hdf5 format
-m : name of column to be used in phenotype file. Default m='phenotype_value' 
--cof: file with cofactor information (only one co-factor as of now)
-a , --mac_min : integer specifying the minimum minor allele count necessary for a marker to be included. Default a = 1
-bs, --batch-size : integer specifying the number of markers processed at once. Default -bs 500000
-p , --perm : perform n permutations
--plot : create manhattanplot 
-o , --out : name of output file. Default -o results.csv 
-h , --help : prints help and command line options

如果要加入协变量,可以使用 --cof 标签:

 python gwas.py -x gwas_sample_data/G_sample.csv -y gwas_sample_data/Y_sample.csv -k gwas_sample_data/K_sample.csv --cof gwas_sample_data/cof.csv 

如果要进行 permutation,可以加入 --perm n 标签,其中 n 是 permutation 的次数。

如果要输出曼哈顿图,可以加入 --plot True 标签。

总结

如果数据量小,使用 GPU 速度反而可能会更慢。但当数据量大起来,GPU 带来的提升就很大。比如下面这个图,是 10000 SNPs 分别用 i9 CPU 16核、Tesla P100 的模拟运算,当表型数量超过 800 后, GPU 版的运算时间增加不大,提升效果明显。

GWAS_Flow 目前还不是很完善,但总的来说提供了一个不错的参考框架,可以参考它来开发自己感兴趣的东西。

本文分享自微信公众号 - 实验盒(gh_8a85afc0b064),作者:实验盒

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • GWAS | 使用GEMMA进行全基因组关联分析

    GEMMA (Genome-wide Efficient Mixed Model Association) 是基于混合模型进行全基因组关联分析的工具。运行速度非...

    生信小王子
  • 全基因组关联分析(GWAS)学习笔记——3.1

    参考 Create VCF from .bim, .bed and .fam files

    用户7010445
  • 全基因组关联分析(GWAS)学习笔记——3.2

    这一步突然多出来一个inversion.txt文件,怎么来的还不太清楚 使用到的命令是

    用户7010445
  • 全基因组基因家族的分析系列之HMMER3.1使用

    大家好,我是技能树的老朋友啦,三年前在群主的第一波RNA-seq入门8步活动中因为表现优异获得群主青睐成为技能树VIP一员,也开启了自己的学习经验分享人生,考虑...

    生信技能树
  • GWAS全基因组关联分析流程(BWA+samtools+gatk+Plink+Admixture+Tassel)

    我梳理了GWAS全基因组关联分析的整个流程,并提供了基本的命令,用到的软件包括BWA、samtools、gatk、Plink、Admixture、Tassel等...

    追梦生信人
  • 基于RAINBOW的单倍型全基因组关联分析(haplotype-based GWAS)教程

    Haplotype-based GWAS(单倍型全基因组关联分析)是基于 haplotype (单倍型)进行的关联分析,在基因组层面寻找与表型相关的变异。

    实验盒
  • NVIDIA的python-GPU算法生态 ︱ RAPIDS 0.10

    随着新版本的推出,RAPIDS 迎来了其推出一周年纪念日。回顾所经历的一年,RAPIDS团队就社区对该项目的关心和支持表示衷心的感谢。此前,RAPIDS获得了其...

    素质
  • 星云Clustar首席科学家胡水海:GPU在联邦机器学习中的探索

    近期,星云Clustar首席科学家胡水海,以“GPU在联邦机器学习中的探索”为题,全面详尽地讲解了目前解决联邦学习的性能与效率问题,以及解决思路。

    AI科技评论
  • MLSys提前看 | 机器学习的分布式优化方法

    随着机器学习算法和模型的不断发展,传统的软硬件平台、部署环境等无法支撑机器学习的应用,这也成为了目前机器学习方法落地及大规模推广应用的主要困难之一。目前,有关于...

    机器之心
  • 手机芯片AI性能最新评测:骁龙855和联发科P90遥遥领先

    在过去几个月中,AI Benchmark得分被用于许多活动中,AI Benchmark评估智能手机在一系列开源算法中的表现,这些算法执行图像分类,面部识别,图像...

    AiTechYun
  • 全能媒体机—Matrix in Media?

    本文总结了发表在IBC2018上,由英国Streampunk Media Ltd.的R. I. Cartwright和美国Gilmer&Associates I...

    用户1324186
  • 多接入边缘计算(MEC) = 未来?

    大多数现代设备、应用程序和服务都广泛使用云计算资源(数据中心、CDN)。云计算中的所有硬件大多主要由以下几个部分组成:CPU、GPU、RAM、网络接口和非易失性...

    SDNLAB
  • 有哪些主流的科学计算是可以利用GPU加速?这一篇让你看明白!

    科学计算是指应用计算机处理科学研究和工程技术中所遇到的数学计算。在现代科学和工程技术中,经常会遇到大量复杂的数学计算问题,这些问题用一般的计算工具来解决非常困难...

    GPUS Lady
  • GOAI发布用于 GPU分析的Python 数据框架

    一支由数据分析供应商组成的团体今天在GPU技术大会上共同提出了GPU开源分析倡议(GOAI),旨在培育以GPU来进行数据科学和深度学习方面工作的社群。该团体...

    GPUS Lady
  • 在医疗行业中,FPGA扮演什么角色?

    FPGA(现场可编辑门阵列)作为赛灵思(Xilinx)的一项重要发明,以其可编程和灵活性著称。起初,FPGA只是用来仿真ASIC,再进行掩码处理和批量制造使用。...

    FPGA技术江湖
  • 秀!黄仁勋烤箱里端出 7nm 芯片,AI 算力提升 20 倍

    突如其来的新冠肺炎大流行打乱了众多公司的产品发布计划,比如本该在今年3月英伟达(NVIDIA)GTC 2020上发布的安培(Ampere)架构曝光多次却一直未发...

    AI科技评论
  • 斯坦福大学将差分隐私AI模型训练提速10倍,将用于新冠医学影像

    更快、更早地诊断疾病、开发定制化药物和研制新药:人工智能在医疗领域具有巨大的潜力,可以显著改善患者的治疗效果、挽救生命,并帮助全球人类保持健康和延长寿命。

    AI科技评论
  • 通过雾计算和边缘计算完成云计算丨文末有福利

    雾计算和边缘计算FEC(Fog and Edge Computing)通过填补云和物的差距以提供服务连续性来完成物联网中的云计算。本文将描述FEC的优势并讨论它...

    边缘计算
  • 教主黄仁勋烤出540亿晶体管GPU,全球最大7nm安培架构坐稳算力霸主

    在NVIDIA GTC2020大会上,NVIDIA正式发布了7nm安培GPU,号称是8代GPU史上最大的性能飞跃!黄仁勋从厨房里面烤出了史上最大GPU。

    新智元

扫码关注云+社区

领取腾讯云代金券