本地 Win 电脑部署了一套 ILLUMINA 的肿瘤分析流程,有 DNA 和 RNA 两个流程。需要将这套分析流程部署到 Linux 服务器上。

通过查看日志,发现 DNA 的 Workflow 主要有以下几个部分:

  1. 数据拆分

    • 数据拆分: 通过 bcl2fastq 拆分数据(现有流程已有拆分步骤,可忽略);
  2. bam 文件处理
    • bwa比对: 将 fastq 文件比对到基因组;
    • TranslateBam: 作用未知,似乎是通过 target 文件对 bam 文件区域做了限定;
    • indel重排序:对 bam 文件中的 indel 进行重新对齐,不清楚是左对齐还是右对齐
    • 合并reads:合并 overlap paired-end read;
  3. VariantCalling
    • call 变异: 使用 Pisces 进行 call 变异;
    • 突变质量重矫正: 对结果 vcf 结果进行重矫正
  4. 结果注释及统计
    • 结果注释:对 vcf 结果进行数据库注释
    • bam文件统计:对 bam 文件进行统计,但是使用的 puma.exe 无法在 Linux 上运行。也找不到相关资料
    • 突变结果统计:对最终 vcf 结果进行统计,但并没有结果文件生成

软件依赖

流程脚本基本是 dll 脚本,可以通过安装.NET Core来跨平台运行。

有一些脚本,在网上找不到下载地址,是直接从 Win 电脑上复制过来的,需要修改相应的XXX.runtimeconfig.json,将frameworkversion参数从1.0.0改成自己安装的.NET Core版本,比如我现在装的是2.1.7

另外针对所有的dll脚本,需要在XXX.runtimeconfig.json添加一项configProperties配置,具体如下:

{"runtimeOptions": {"tfm": "netcoreapp2.0","framework": {"name": "Microsoft.NETCore.App","version": "2.0.0" },"configProperties": {                    #这部分配置"System.Globalization.Invariant": true #需自己添加}}
}

否则运行的时候,会报一个关于 ICU package的错误,并退出。

基因组,注释数据库等相关资源文件,都是从 Win 电脑上复制的,版本较旧。也可以从 ILLUMINA 网站重新下载。

.NET Core下载地址

相关脚本下载

基因组等资源

bam 文件处理

通过 bwa 比对 fastq 文件到基因组,产生 bam 文件,并对 bam 文件相应的处理。

bwa 比对

在本地 Win 电脑上部署的流程,拆分的时候会将一个样本的数据拆成 4 个lane。所有一个样本会有 4 对 R1R2 文件,导致比对时生成 4 个 bam 文件,最后通过 samtool cat命令合并成一个 bam 文件。

在 Linux 服务器上,拆分后只生成 1 对 R1R2 文件,直接使用 bwa 比对即可,不需要后续合并步骤。

这部分命令如下:

bwa mem -M -t 4 -R "@RG\tID:LC10-tz2020001DNA\tPL:ILLUMINA\tSM:LC10-tz2020001DNA" -L 50 -Y ../hg19/Sequence/WholeGenomeFasta/genome.fa LC10-tz2020001DNA_S1_R1_001.fastq.gz LC10-tz2020001DNA_S1_R2_001.fastq.gz | samtools view -Sb - > LC10-tz2020002DNA.bam

参数按照 Win 版流程的参数。

TranslateBam

脚本: TranslateBam.dll ,该脚本从 Win 电脑复制,网上无法下载;
作用:未知,可能是对 bam 文件进行限定。不跑这一步,下一步运行时间会非常久;
命令:

## TranslateBam
~/dotnet/dotnet ~/TranslateBam/TranslateBam.dll ../Focus.dna_manifest.20171207.txt.targets.txt ../hg19/Sequence/WholeGenomeFasta/GenomeSize.xml LC10-tz2020001DNA.bam LC10-tz2020001DNA_translate.bam LC10-tz2020001DNA.TargetHits.tsv 0.04 0.1 30 1## bam文件排序
samtools sort -@ 8 LC10-tz2020001DNA_translate.bam -o LC10-tz2020001DNA_translate.sorted.bam# 建立索引
samtools index LC10-tz2020001DNA_translate.sorted.bam

其中的Focus.dna_manifest.20171207.txt.targets.txt文件是由原始的Focus.dna_manifest.20171207.txt文件转化而来。
其中TargetStartTargetEnd,是Focus.dna_manifest.20171207.txt中是StartEnd减去prob sequence的长度。
这个文件可以作为固定的文件。

Indel重排序

脚本:Hygea.dll,从 Github 下载最新版;
作用:Indel重排序;
命令:

~/dotnet/dotnet ~/Hygea_5.2.10.49/Hygea.dll -b Alignment/LC10-tz2020001DNA_translate.sorted.bam -genomeFolders hg19/Sequence/WholeGenomeFasta/ -useAlignmentScorer True -softclipCoefficient 0 -outFolder hygea

合并reads

脚本:Stitcher.dll,从 Github 下载最新版;
作用:合并reads;
命令:

~/dotnet/dotnet ~/Stitcher_5.2.10.49/Stitcher.dll --bam hygea/LC10-tz2020001DNA_translate.sorted.bam --OutFolder stitcher --MinBaseCallQuality 20 --minmapquality 1 --FilterDuplicates True --FilterForProperPairs False --FilterUnstitchablePairs False --StitchGappedPairs False --UseSoftClippedBases True --NifyUnstitchablePairs True --NumThreads 1## 排序
samtools sort -@ 8 LC10-tz2020001DNA_translate.sorted.stitched.bam -o LC10-tz2020001DNA.stitched.sorted.bam## 建立索引
samtools index LC10-tz2020001DNA.stitched.sorted.bam

NumThreads 这个线程参数,好像得设置为 1 。测试的时候,设置为 8 ,但是程序一直不结束。当设置为 1 时,可以较快结束。未过多测试,不知道是否是 BUG

VariantCalling

使用Pisces软件进行call变异,适用与多重PCR的数据,并推荐用在tumor-only的流程中。

call 变异

命令:Pisces.dll, 从 Github 下载最新版;
作用:call 变异;
命令:

~/dotnet/dotnet ~/Pisces_5.2.10.49/Pisces.dll -b stitcher/LC10-tz2020001DNA.stitched.sorted.bam -g hg19/Sequence/WholeGenomeFasta -gVCF True -OutFolder Pisces -i interval/intervals.picard -CallMNVs True -MaxMNVLength 3 -MaxGapBetweenMNV 1 -MinimumFrequency 0.01 -MinBaseCallQuality 20 -MaxVariantQScore 100 -MinVariantQScore 20 -CrushVcf False -MinDP 10 -ReportNoCalls True -Ploidy somatic -EnableSingleStrandFilter False -MinDPFilter 10 -MaxAcceptableStrandBiasFilter 0.5 -VariantQualityFilter 30 -MinVariantFrequencyFilter 0.02 -RMxNFilter 3,6,0.20 -MaxNumThreads 1

其中-i参数,其实就是平时流程中的bed文件。这个文件也可以作为固定文件,不需要每次生成。

质量重矫正

命令:VariantQualityRecalibration.dll,从 Github 下载最新版;
作用:结果 vcf 文件质量重矫正;
命令:

~/dotnet/dotnet ~/VariantQualityRecalibration_5.2.10.49/VariantQualityRecalibration.dll -vcf Pisces/LC10-tz2020001DNA.stitched.sorted.genome.vcf -o VariantQualityRecalibration -b 20 -z 3 -Q 100 -f 30## 压缩vcf文件
/work/bin/bgzip -f Pisces/LC10-tz2020001DNA.stitched.sorted.genome.vcf## 建立vcf文件索引
/work/bin/tabix -p vcf -f Pisces/LC10-tz2020001DNA.stitched.sorted.genome.vcf.gz

质量重矫正没有新文件生成,似乎没什么作用?应该与每个样本的结果有关。

注释及统计

使用Nirvana对突变结果进行注释。
Illumina 的官方 Github 仓库提供一键安装的脚本,会下载需要的数据库资源文件。
因为数据量非常大(30G),所以直接使用的是 Win 电脑里的旧版本脚本和数据。

结果注释

脚本:Nirvana.dll,本地 Win 电脑复制;
作用:对突变进行注释;
命令:

~/dotnet/dotnet ~/Nirvana/Nirvana.dll --in Pisces/LC10-tz2020001DNA.stitched.sorted.genome.vcf.gz --sd hg19/Annotation/Nirvana/SupplementaryDatabase/38 --out nirvana/LC10-tz2020001DNA --ref hg19/Annotation/Nirvana/Reference/5/Reference.dat --cache hg19/Annotation/Nirvana/Cache/24/RefSeq84 --gvcf --vcf## 建立索引/work/bin/tabix -p vcf -f nirvana/LC10-tz2020001DNA.vcf.gz
/work/bin/tabix -p vcf -f nirvana/LC10-tz2020001DNA.genome.vcf.gz

--out参数,会将路径的最后一部分作为输出文件前缀。如上述命令,会在nirvana路径下生成LC10-tz2020001DNA开头的文件。

bam文件统计

这部分在 Win 电脑上使用的是 puma.exe 软件,无法在 Linux 上运行。并且在网上也找不到相关资料,可以使用 bamdst 软件来代替。

突变结果统计

脚本:VariantStatsGenerator.dll,本地 Win 电脑上复制;
作用:应该是突变统计?但是没有结果文件生成,只有日志文件;
命令:

~/dotnet/dotnet ~/VariantStatsGenerator/VariantStatsGenerator.dll -m samllVar -w single -t nirvana/LC10-tz2020001DNA.vcf.gz StatisticsEvaluation

最后一个参数是输出目录。

总结

如果要部署 ILLUMINA 的流程,可以只到 call变异 部分即可。后续的注释部分,可以使用自己的流程。

在 Pisces 的Github仓库上有更新的流程,会用到新的软件脚本,也可以作为参考。

本文首发于公众号:柠檬培养师(ID: yantinger90),欢迎关注!

illumina 肿瘤分析流程相关推荐

  1. iMeta | 易扩增子(EasyAmplicon):易用、可重复的微生物组扩增子分析流程

    点击蓝字 关注我们 易扩增子(EasyAmplicon):微生物组研究中易用的扩增子分析流程 iMeta主页:http://www.imeta.science 研究论文 ● 原文链接DOI: http ...

  2. Nature子刊:宏基因组中挖掘原核基因组的分析流程

    宏基因组中挖掘原核基因组的分析流程 从宿主相关的短读长鸟枪宏基因组测序数据中恢复原核基因组 Recovering prokaryotic genomes from host-associated, s ...

  3. USEARCH — 最简单易学的扩增子分析流程(中国总代理)

    USEARCH -- 最简单易学的扩增子分析流程 USEARCH官方英文主页:http://www.drive5.com/usearch/ 本站经USEARCH作者Robert Edgar授权,由&l ...

  4. USEARCH —— 最简单易学的扩增子分析流程(中国总代理)

    USEARCH -- 最简单易学的扩增子分析流程 USEARCH中文帮助文档(USEARCH Chinese manual) USEARCH官方英文主页:http://www.drive5.com/u ...

  5. USEARCH —— 最简单易学的扩增子分析流程

    USEARCH -- 最简单易学的扩增子分析流程 USEARCH中文帮助文档(USEARCH Chinese manual) USEARCH官方英文主页:http://www.drive5.com/u ...

  6. linux转录组分析,完整转录组RNAseq分析流程(tophat2+cufflink+cuffdiff)

    前一段时间跟着孟浩巍大神的视频学习,在自己的小破笔记本上还是跑完了整个RNAseq差异表达的分析流程( tophat2 + cufflink + cuffdiff )虽然这个流程比较老了,现在做分析一 ...

  7. 随机宏基因组测序数据质量控制和去宿主的分析流程和常见问题

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

  8. RNAseq生信分析流程简介

    文章目录 RNAseq简介 RNAseq分析流程 1. 实验设计 1.1 目标RNA提取策略和文库类型选择 1.2 测序深度或文库大小 1.3 实验重复 2. RNAseq信息分析 2.1 质控 和 ...

  9. 从零开始用snakemake搭建完整的甲基化生信分析流程(第一章)基础篇

    从零开始用snakemake搭建完整的甲基化生信分析流程 阅读文章后的收获:专业的snakemake编程技能:甲基化分析pipeline 作者生物信息学硕士,6年生信分析师从业经验,快速响应读者问题, ...

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

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

最新文章

  1. //Eclipse 快捷方式
  2. 1、cocos2dx开发学习第一篇-项目工程的创建
  3. Tomcat5配置mysql4数据源
  4. 高等数学下-赵立军-北京大学出版社-题解-练习8.1
  5. 句法依存分析_复旦大学邱锡鹏教授:词法、句法分析研究进展综述
  6. 每日一题(7) —— 求余运算符
  7. Helixoft VSdocman 是一个集成于Visual Studio并提供了命令行版本的帮助文档编译工具...
  8. mysql5.7设置默认的字符集
  9. 整理搜集iOS不同版本间的介绍
  10. 最近好闷,什么时候才有需求啊,很郁闷
  11. 自学C语言 零基础 最详细 最全面 最有趣 只有沉的下心的人才觉得好(有每更彩蛋呦~)
  12. png变成矢量图_ps中如何在将图转换成矢量图
  13. python右对齐输出数字怎么办_解决python让数字右对齐的方法
  14. SpringCloud-SpringCloud Bus服务总线的介绍(Day9)
  15. qq传离线文件提示服务器超时,QQ传文件时进度条显示不正常的解决办法
  16. win10虚拟机dhcp服务器设置,win10 配置dhcp服务器设置
  17. 一片外文的计算机网络方面的文献,计算机网络专科外文文献 计算机网络专科核心期刊参考文献有哪些...
  18. gym/226036-F. Two Points【三分查找】
  19. 计算机操作系统计算题及答案(5),5计算机操作系统练习题及答案.doc
  20. jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别详细讲解

热门文章

  1. 为什么感知机不能表示异或?
  2. 各大网站和app是如何实现黑白页面效果?
  3. 李阳音标速成MP3文本
  4. android 百度地图定位图标素材,百度地图定位开发图标大全 百度地图开发可以用到的一些实用标注/图标(baidu map development) - 下载 - 搜珍网...
  5. 动画效果--漫天飞雪
  6. js中的四种常用数组排序方法(冒泡、选择、插入、快排)及sort排序
  7. 【进大厂必学】面完 10 多家大厂后,总结了这些太容易被考的算法
  8. STL之字符串类模板 string(一)、C++ string类库简介
  9. 9行代码制作一个简单的油猴插件
  10. 基于Handsome主题的站点页脚美化教程