【直播】我的基因组 43:简单粗糙的WGS数据分析流程
时间:2022-05-03
本文章向大家介绍【直播】我的基因组 43:简单粗糙的WGS数据分析流程,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前面我们扯到bam文件的各种操作,vcf文件的各种操作,基础知识不牢固的同学可能已经云里雾里了。这次我们来讲一个简单的。就是拿到了fastq的测序数据,如何把全基因组分析给跑一遍。(不谈细节!)
首先就是fastq文件比对到参考基因组变成sam文件:
head -40 read1.fq >tmp/read1.fq
head -40 read2.fq >tmp/read2.fq
~/biosoft/bwa/bwa-0.7.15/bwa mem -t 20 -M ~/reference/index/bwa/hg19 read1.fq read2.fq| samtools sort -O bam -o jmzeng.sorted.bam
一个简单的管道即可,如果管道不能确认是对的,就像我上面那样先拿一个小本文文件测试一下。由下图可以看到我们sort的bam文件不是按照染色体的1,2,3排序,而是按照chr10,chr11,,,,chr1,,chr2这样的顺序,这个对很多其它软件会不友好。
不过没关系,我们不跑GATK,这个bam文件足够了!
事实上,对我们真实的WGS数据来说,这一步耗时很严重的!(时间开销在后面)
第二个步骤,就是call variation咯,下面两个软件都可以,用起来也很简单。
:
samtools mpileup -ugf ~/reference/genome/hg19/hg19.fa jmzeng.sorted.bam |bcftools call -vmO z -o jmzeng.bcftools.vcf.gzhead -40 read1.fq >tmp/read1.fq
~/biosoft/freebayes/freebayes/bin/freebayes -f ~/reference/genome/hg19/hg19.fa jmzeng.sorted.bam >jmzeng.freebayes.vcfhead -40 read2.fq >tmp/read2.fq
大家非常后台留言最多的就是这3个步骤的耗时问题
分别是84290、134143,76406 秒!也就是23.4hours、37.3hours、21.2hours,正好一个双休日,哈哈,完美!
两个call variation的步骤是并行的。也就是说完成一个全基因组数据(300G的原始数据)的分析,是需要整整两天两夜的!
但是大家可能在朋友圈多次看到各种宣传贴21小时完成千人的全基因组分析,为什么呢?是因为硬件条件的不同,他们有着相当大的计算资源。他们的内存和存储空间都要比我们自己所用的计算资源大不知道多少倍。同时,还有各样本并行处理及GPU的加速,所以运行速度那么快也就不足为奇了。
文:Jimmy
图文编辑:吃瓜群众
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 快速学习-XXL-JOB操作指南
- 快速学习-XXL-JOB任务详解
- PyQt5 技术篇-scrollArea不显示滚动条解决方法。Qt Designer不显示滚动条。滚动条的显示和隐藏。
- Python 爬虫篇-利用BeautifulSoup库爬取墨迹天气网的天气信息实例演示,调用墨迹天气api接口获取空气质量
- Redis的各种数据类型实践-ZSet
- Python 技术篇-将python项目打包成exe独立运行程序,pyinstaller库打包python代码
- Spring MVC 工作流程简介
- 8个尽量优化你的SQL
- 记一次 Kafka Producer 性能调优实战
- Kafka 独立消费者
- 【iOS】记录iOS14以及xcode12 遇到的问题
- 如果你还在犹豫要不要入行,请先看看我的IT入坑记【技术创作101训练营】
- Session、Cookie、Token 【浅谈三者之间的那点事】
- Python 微信机器人-20行代码实现斗图功能,简单易懂,全是干货!斗图啦API调用方法
- 浅谈布隆过滤器