这是GATK Best Practice系列学习文章中的一篇,本文尝试使用:

Gatk RNA -Seq spns-indels Pipeline 来分析鼻咽癌(NPT)

分析流程如下:

GATK版本的是这样的

数据

从NCBI上下载转录组数据,访问链接为:

https://trace.ncbi.nlm.nih.gov/Traces/study/?acc=SRP058243&o=acc_s%3Aa

第一个样本的数据下载链接如下:

Location Name Link
NCBI https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos1/sra-pub-run-5/SRR2016932/SRR2016932.1
NCBI https://sra-downloadb.st-va.ncbi.nlm.nih.gov/sos2/sra-pub-run-6/SRR2016932/SRR2016932.1
#下载完成后获得文件为SRR2016932.1,需要转换为fastq.gz格式,这里用到NCBI sratookit工具,请自行安装
fastq-dump -gzip --split-3 SRR2016932.1 -O ./
#得到两个fastq.gz文件
SRR2016932_1.fastq.gz
SRR2016932_2.fastq.gz
#我们将文件重命名为以符合习惯
mv SRR2016932_1.fastq.gz SRR2016932_R1.fastq.gz
mv SRR2016932_2.fastq.gz SRR2016932_R2.fastq.gz

用到的分析系统及分析流程文件

名称 (点击下载) 备注
SliverWorkspace 2.0.295368 提供运行控制平台/社区版
GATK Germline SNP/Indel V1.2 分析流程文件,可以一键导入分析平台(点击查看操作) 不想复制shell的,可以使用平台一键导入流程,当然reference文件和软件还需要自己下载和安装
ucsc.hg19.gtf.tar.xz ucsc.h19.gtf
ucsc.hg19.gtf.bed 从ucsc.hg19.gtf中列数据中生成的bed文件
ucsc.hg19.gtf.interval_list 使用gatk IntervalToBed工具从ucsc.hg19.gtf.bed转换来的interval文件
分析结果 分析结果

流程用到的变量(程序、reference文件和数据库、数值)

变量名 变量值 类型
sn SRR2016932 字符
tools.fastqc /opt/FastQC/fastqc 程序
tools.STAR /opt/ref/STAR-2.7.3a/bin/Linux_x86_64_static/STAR 程序
tools.sambamba /opt/ref/sambamba-0.7.0-linux-static 程序
tools.gatk /opt/ref/gatk-4.1.4.1/gatk 程序
envis.read_length 100 (测序读长) 数值
envis.threads 32 (并发线程数) 数值
envis.scatter 10 (HaplotypeCaller并行数) 数值
refs.hum /opt/ref/hg19/ucsc.hg19.fa 文件
refs.gtf /opt/ref/RNA/ucsc.hg19.gtf 文件
refs.bed /opt/ref/RNA/ucsc.hg19.gtf.bed 文件
refs.interval /opt/ref/RNA/ucsc.hg19.gtf.interval_list 文件
refs.1000G /opt/ref/hg19/1000G_phase1.indels.hg19.vcf 文件
refs.mills /opt/ref/hg19/Mills_and_1000G_gold_standard.indels.hg19.vcf 文件
refs.dbsnp /opt/ref/hg19/dbsnp_138.hg19.vcf 文件

注意:refs文件中的基因组参考序列和gtf文件以及几个vcf文件必须为同一版本,参考序列和相应的GTF文件必须为同一个网站的同一个版本,否则分析过程中会出现各种错误。很多文章推荐使用ensembl的版本,本文使用的是ucsc.hg19版本,因为之前ref文件和参考序列已经有了,只是增加了一个GTF文件,是从ucsc网站生成下载的,链接为:http://genome.ucsc.edu/cgi-bin/hgTables

分析流程:

  • 01 INPUT 输入文件

  • 02 之前用fastqc软件看过,adapter已经去掉了,这里直接开始align,Star Align

    #创建一个变量star_length,值为read_length的值-1.
    let star_length=${envis.read_length}-1
    #如果该star_length前缀的目录不存在,说明没有创建过索引,首先创建索引
    if [ ! -d "/opt/ref/RNA/$star_length-1-pass-index" ]; thenmkdir -p /opt/ref/RNA/$star_length-1-pass-index${tools.STAR} --runMode genomeGenerate \--runThreadN ${envis.threads} \--genomeDir  /opt/ref/RNA/$star_length-1-pass-index \--genomeFastaFiles ${refs.hum} \--sjdbGTFfile      ${refs.gtf} \--sjdbOverhang     $star_length
    fi
    #使用创建的索引,执行align,为了节省空间设置了参数 --outSAMtype BAM Unsorted,也测试过sort类型,不能直接markdup
    ${tools.STAR} \--genomeDir   /opt/ref/RNA/$star_length-1-pass-index \--runThreadN  ${envis.threads}  \--readFilesIn ${data}/RNA/${sn}_R1.fastq.gz ${data}/RNA/${sn}_R2.fastq.gz \--readFilesCommand zcat \--sjdbOverhang $star_length \--twopassMode Basic \--outSAMtype BAM  Unsorted \--outFileNamePrefix  ${result}/${sn}.
    
  • 03 Sort Bam:使用了sambamba替换了samtools

  • 04-Mark duplicatate:使用了sambamba替换了gatk picard,重命名创建的索引与gatk命名一致。

  • 05 SplitNCigarReads:将落在外显子上的reads分离出来,取出N错误碱基,去除内含子区域的reads。这一步太慢了,占用整个流程一半以上运行时间,不知道有没有办法提高速度。

  • 06- 这一步添加sn样本编号等信息,前面sort如果使用samtools因为没有sn信息会报错。

  • 07- BaseRecalibrator 碱基质量校正第一步

  • 08- ApplyBQSR 应用碱基校正

  • 09- 并行运行HaplotypeCaller

    #清理拆分生成的interval文件夹:类似temp_0001_of_10,防止重复运行被上次的结果干扰
    rm    -rf ${result}/${sn}/temp_*
    #创建${sn}目录。
    mkdir -p  ${result}/${sn}
    #使用Gatk IntervalListTools拆分interval,拆分数量为${envis.scatter}
    ${tools.gatk} IntervalListTools \--SCATTER_COUNT=${envis.scatter} \--SUBDIVISION_MODE=BALANCING_WITHOUT_INTERVAL_SUBDIVISION_WITH_OVERFLOW \--UNIQUE=true \--SORT=true \--INPUT=${refs.interval} \--OUTPUT=${result}/${sn}
    #循环遍历生成的interval list文件,运行HaplotypeCaller
    index=1
    for i in `ls ${result}/${sn}/*/scattered.interval_list`;
    dorm -f ${result}/${sn}_$index.vcf${tools.gatk}  HaplotypeCaller \-L $i \-R ${refs.hum} \-I ${result}/${sn}_bqsr.bam \-O ${result}/${sn}/${sn}_$index.vcf \--dbsnp ${refs.dbsnp} \-dont-use-soft-clipped-bases \--standard-min-confidence-threshold-for-calling 20 &let index+=1
    done
    #等待所有HaplotypeCaller运行结束
    wait
    #用生成的vcf文件名拼接输入字段
    vcfs=
    for z in `ls ${result}/${sn}/${sn}*.vcf`;
    dovcfs="-I $z $vcfs"
    done
    echo $vcfs
    #合并生成的vcf文件。
    ${tools.gatk} MergeVcfs \$vcfs \-O ${result}/${sn}.vcf
    
  • 10-VariantFiltration:对于RNA-Seq,推荐使用硬过滤,不支持VQSR。

  • 11-顺便使用fastqc看下QC结果:

  • 12-最终分析结果:

运行结果

可以看到,GATK的工具一如既往的慢,HaplotypeCaller这一步通过拆分interval并行分析,最后合并vcf,速度从1个小时以上降到了9分钟。剩下的几步,SplitNCigarReads,BaseRecalibrator,ApplyBQSR都非常占用时间。也难怪市面上各种加速方案了。

GATK RNA-Seq Snps Indel 分析相关推荐

  1. 一文掌握RNA seq,RNA seq课程大汇总

    RNA测序(RNA-seq)在过往十年里逐渐成为全转录组水平分析差异基因表达和研究mRNA差异剪接必不可少的工具.RNA-seq帮助大家对RNA生物学的理解会越来越全面:从转录本在何时何地转录到RNA ...

  2. 易基因|干货:手把手教你做RNA m5C甲基化测序分析(RNA-BS)

    大家好,这是专注表观组学十余年,领跑多组学科研服务的易基因. 本期,我们讲讲m5C RNA甲基化重亚硫酸盐测序测序(RNA-BS)实验怎么做,从技术原理.建库测序流程.信息分析流程等方面详细介绍. 一 ...

  3. 《生物信息学:导论与方法》--非编码RNA的预测及分析--听课笔记(十三)

    第七章  非编码RNA的预测及分析 7.1 非编码RNA 以非编码RNA为例,演示如何在RNA-Seq等转录组测序技术产生的RNA数据基础上进一步探索生物学问题. 在转录组中既包括大家早已熟悉的编码蛋 ...

  4. LncFinder | 非编码RNA的识别与分析神器!!!~

    1写在前面 非编码RNA(ncRNAs), 是指不编码蛋白质的RNA.

  5. Indel (Insertion and Deletion)分析简介

    Indel (Insertion and Deletion)分析简介 InDel 简介 InDel 是指基因组中小片段的插入或缺失序列,其长度在 1-50bp 之间.原因在于Illumina测序的re ...

  6. 2022-2028年全球与中国RNA聚合酶抑制剂行业深度分析

    本文研究全球与中国市场RNA聚合酶抑制剂的发展现状及未来发展趋势,分别从生产和消费的角度分析RNA聚合酶抑制剂的主要生产地区.主要消费地区以及主要的生产商.重点分析全球与中国市场的主要厂商产品特点.产 ...

  7. RNA结合蛋白研究技术:RIP-seq实验分析流程及案例分享

    RNA免疫共沉淀-RIP-seq(RNA Immunoprecipititation)是研究细胞内RNA与蛋白结合情况的技术,RIP利用目标蛋白的抗体将相应的RNA-蛋白复合物(RBP)沉淀下来,分离 ...

  8. 全球及中国RNA测序服务行业研究及十四五规划分析报告

    [报告篇幅]:148 [报告图表数]:200 [报告出版时间]:2021年1月 报告摘要 2019年,全球RNA测序服务市场规模达到了xx亿元,预计2026年将达到xx亿元,年复合增长率(CAGR)为 ...

  9. MPB:上海巴斯德所崔杰组-RNA病毒组与生物信息学分析

    为进一步提高<微生物组实验手册>稿件质量,本项目新增大众评审环节.文章在通过同行评审后,采用公众号推送方式分享全文,任何人均可在线提交修改意见.公众号格式显示略有问题,建议电脑端点击文末阅 ...

  10. 09 拷贝数变异分析(GATK流程)

    09 拷贝数变异分析(GATK流程) 我们已经分析了 Somatic mutations,并进行了注释和可视化,接下来我们进行拷贝数变异的分析. 这里我们还是先从 GATK 的 somatic cnv ...

最新文章

  1. Laravel 5.0 的新特性
  2. 获取本机MSSQL保存凭证
  3. TCP/IP是如何实现可靠传输的
  4. 数字化转型方法论_老板让我搞数字化转型?成功之后,我整理了这套超全的方法论...
  5. 【硬件解码系列】之ffmpeg硬件加速器
  6. 论坛头条内容链接地址有误
  7. BZOJ1938: [CROATIAN2010] ALADIN
  8. (对比PDF)Adobe Acrobat DC 离线对比PDF、draftable.com/compare 在线对比PDF
  9. docker镜像加速器
  10. 云计算服务器搭建教程,如何搭建云计算平台_搭建云计算平台步骤
  11. java模拟新浪微博用户注册
  12. Unity3D在C盘的缓存文件
  13. 处于托管模式时无法删除mcafee解决办法
  14. 赏帮赚,实战日记的第一天
  15. 输入年份和天数计算出几月几号
  16. 转载标明出处用英语_公众号转载文章时应当注明出处
  17. ZABBIX 4.2 安装(VMWARE)
  18. vector多维向量初始化等操作
  19. 栈(简单介绍及其应用)
  20. C++学习笔记:指向指针的指针

热门文章

  1. 实现微信小程序的分享转发功能(可以从分享页返回小程序首页)
  2. 论文阅读笔记:Weakly-supervised Semantic Segmentation in Cityscape via Hyperspectral Image
  3. arcgis剔除异常值栅格计算器_arcgis 栅格计算器(Spatial Analyst/Raster Calculator)
  4. Python 中常用的保留字(关键字)详解
  5. Tableau可视化---Tableau简介
  6. 查询银行卡归属地区API接口
  7. WPS2019 Ubuntu可以插入公式
  8. STM32下移植UCOSIII
  9. 利用谷歌浏览器模拟网速慢的情况
  10. 十行python代码定时给微信好友发送晚安,自动应答--python云舔狗