一文详解VarScan肿瘤体细胞突变检测的的安装和实践
目录
VarScan 简介
VarScan 安装和使用说明:安装、说明、配置、运行
VarScan 案例实战:数据下载、配置、运行、输出
使用sixbox快速运行
hello,大家好,今天为大家带来关于肿瘤体细胞突变检测工具VarScan的超详细安装及应用教程。
我们将持续为大家带来生物医疗健康大数据分析的一文详解系列文章,欢迎大家关注并星标我们,可以更及时的看到我们的文章哦。
VarScan简介
VarScan是一个java写的linux系统下进行肿瘤体细胞突变检测(calls SNV in somatic variants)的软件,可用于目标捕获(targeted),外显子( exome)以及全基因组测序(whole-genome resequencing) 等多种测序数据。
插一句:体细胞突变(somatic mutation)是指患者某些组织或者器官后天性地发生了体细胞变异,虽然它不会遗传给后代个体,却可以通过细胞分裂,遗传给子代细胞。体细胞突变对肿瘤的发生发展有关键性的作用,并且它也是制定肿瘤癌症靶向治疗措施的关键所在。
VARSCAN有3个功能,如下图:
比较常用的是肿瘤样本——正常样本配对somatic mutation模式。
安装说明
2.1. 安装
VarScan寄存在sourceforge网站[1],可通过链接:https://sourceforge.net/projects/varscan/files/
下载java二进制文件:
wget --no-check-certificate https://nchc.dl.sourceforge.net/project/varscan/VarScan.v2.3.9.jar
这里我们指定--no-check-certificate 允许chc.dl.sourceforge.net的过期证书。
终端运行:
# java -jar VarScan.jar VarScan v2.3 USAGE: java -jar VarScan.jar [COMMAND] [OPTIONS] COMMANDS: pileup2snp Identify SNPs from a pileup file pileup2indel Identify indels a pileup file pileup2cns Call consensus and variants from a pileup file mpileup2snp Identify SNPs from an mpileup file mpileup2indel Identify indels an mpileup file mpileup2cns Call consensus and variants from an mpileup file somatic Call germline/somatic variants from tumor-normal pileups copynumber Determine relative tumor copy number from tumor-normal pileups readcounts Obtain read counts for a list of variants from a pileup file filter Filter SNPs by coverage, frequency, p-value, etc. somaticFilter Filter somatic variants for clusters/indels fpfilter Apply the false-positive filter processSomatic Isolate Germline/LOH/Somatic calls from output copyCaller GC-adjust and process copy number changes from VarScan copynumber output compare Compare two lists of positions/variants limit Restrict pileup/snps/indels to ROI positions
安装成功。
2.2 软件运行前准备工作-pileup文件
VarScan需要准备正常样本,肿瘤样本pileup文件, 首先,使用samtools处理normal,tumor样本的bam文件,得到相应pileup文件。
运行命令:
samtools mpileup \ -q 1 \ -f $REFERENCE \ ${NORMAL_BAM} \ --output $WORKDIR/tmp/$SAMPLE.$prefix.normal.pileup samtools mpileup \ -q 1 \ -f $REFERENCE \ ${TUMOR_BAM} \ --output $WORKDIR/tmp/$SAMPLE.$prefix.tumor.pileup
2.3 软件运行
运行
java -Xmx10g -jar /home/6oclock/bin/VarScan.v2.3.9.jar somatic \ $WORKDIR/tmp/$SAMPLE.$prefix.normal.pileup \ $WORKDIR/tmp/$SAMPLE.$prefix.tumor.pileup \ $WORKDIR/tmp/$SAMPLE.$prefix.mut
输出文件:运行完会生成.snp和.indel文件,其中后缀为.snp的文件即为对应snv结果,.indel为indel结果。
实战
以NA12878样本的测序数据,具体来实践一下吧。
3.1 数据下载
下载肿瘤样本与配对的正常样本的测序bam数据:
# 网站站点 data_url=http://www.sixoclock.net/resources/data/NGS/Homo_sapiens/WGS # 正常样本 wget ${data_url}/NA12878.WGS.chrM.BwaMem.sort.bam # 肿瘤样本 wget ${data_url}/hg19.NA12878.tumor_addsnv.WGS.chrM.BwaMem.bam
下载比对需要的参考基因组数据及其索引文件:
# 网站站点 data_url=http://www.sixoclock.net/resources/data/NGS/Homo_sapiens/Reference/hg19.chrM.fasta_BwaMem_index # 参考基因 wget ${data_url}/hg19.chrM.fasta # 索引 wget ${data_url}/hg19.chrM.dict wget ${data_url}/hg19.chrM.fasta.amb wget ${data_url}/hg19.chrM.fasta.ann wget ${data_url}/hg19.chrM.fasta.bwt wget ${data_url}/hg19.chrM.fasta.pac wget ${data_url}/hg19.chrM.fasta.sa
3.2 准备pileup文件
使用samtools分别处理normal,tumor样本的bam文件,以生成相应pileup文件, shell运行:
# 处理正常样本 samtools mpileup \ -q 1 \ -f hg19.chrM.fasta \ NA12878.WGS.chrM.BwaMem.sort.bam \ --output NA12878.normal.pileup # 处理肿瘤样本 samtools mpileup \ -q 1 \ -f hg19.chrM.fasta \ hg19.NA12878.tumor_addsnv.WGS.chrM.BwaMem.bam \ --output NA12878.tumor.pileup
3.3 运行命令
此处我们将程序运行的标准输出和标准错误都分别重定向到对应的log和err文件中了。一步式运行:
java -Xmx10g -jar VarScan.v2.3.9.jar somatic \ NA12878.normal.pileup \ NA12878.tumor.pileup \ NA12878.tumor \ 1>ass.log \ 2>ass.err
3.4 输出结果
此处我们的测试案例数据做了截取,因此可以非常快速的跑完,具体的结果如下图所示,可以看到生成了NA12878.tumor.snp 和NA12878.tumor.indel文件。其中NA12878.tumor.snp 即为最终检测出的肿瘤SNV结果,结构如下所示:
输出结果中几个比较重要的列的解释:
chrom :染色体; position :染色体坐标;
ref :参考基因该位点基因型。
var :变异位点的基因型;
normal_gt:正常样本该位点基因型;
tumor_gt:肿瘤样本该位点基因型;
somatic_status : 该变异的类型,一般区分为Germline和Somatic ,如上图标红部分,即为一个体细胞突变(somatic mutation) 。
至此,VarScan的实战体验基本就结束了。
sixbox运行
此外,sixoclock官网[2]基于CWL (common workflow language) 对VarScan软件进行了封装,通过我们开发的sixbox 软件可以快速进行软件的运行。对sixbox不了解可以通过六点了官网[3]了解下。下面是具体的运行步骤如下。
下载cwl 源码
sixbox pull c6e4a52a-ecb4-470d-90c1-0d2fcbd42e09
运行sixbox cwls 可以看到下载成功:
下载数据
wget http://www.sixoclock.net/resources/data/NGS/Homo_sapiens/WGS/NA12878_addsnv.tumor.pileup wget http://www.sixoclock.net/resources/data/NGS/Homo_sapiens/WGS/NA12878_addsnv.normal.pileup
参数配置
使用sixbox生成参数模板文件(YAML) , 并配置yaml文件
sixbox run --make-template 6oclock/VarScan-Somatic:v2.3.9 > varscan.job.yaml vim varscan.job.yaml # 编辑参数配置文件,替换或设置参数以实现个性化分析
可以直接粘贴下方示例内容到varscan.job.yaml
out_file_name: NA12878_addsnv tumor_pileup: # type "File" class: File path: http://www.sixoclock.net/resources/data/NGS/Homo_sapiens/WGS/NA12878_addsnv.tumor.pileup normal_pileup: # type "File" class: File path: http://www.sixoclock.net/resources/data/NGS/Homo_sapiens/WGS/NA12878_addsnv.normal.pileup
使用sixbox运行
运行命令,
sixbox run 6oclock/VarScan-Somatic:v2.3.9 varscan.job.yaml
即可看到当前目录或者指定的输出目录输出对应的结果文件。运行日志如下:
{ "snp_file": { "location": "file:///home/6oclock/project/cwlTests/vanscan_somatic_out.snp", "basename": "vanscan_somatic_out.snp", "class": "File", "checksum": "sha1$d4866a3b95da941fcd10f3543075996c75b00a6b", "size": 5620, "path": "/home/6oclock/project/cwlTests/vanscan_somatic_out.snp" }, "indel_file": { "location": "file:///home/6oclock/project/cwlTests/vanscan_somatic_out.indel", "basename": "vanscan_somatic_out.indel", "class": "File", "checksum": "sha1$15e45c3b0a3287b82ad7278e09a2f573c85784e3", "size": 326, "path": "/home/6oclock/project/cwlTests/vanscan_somatic_out.indel" } } INFO Final process status is success
以上为我们给大家带来的肿瘤基因组体细胞的基本原理知识,以及在六点了平台上运行经典的VanScan的详细操作过程。如果对生物医疗健康大数据相关内容感兴趣也可以持续关注我们。
想要探索更多的软件流程或者知识文档,可以到六点了官网[2]看到。
References
[1] sourceforge网站: http://varscan.sourceforge.net/
[2] sixoclock官网: http://www.sixoclock.net
[3] 六点了官网: http://www.sixoclock.net
[4] Koboldt, D., Zhang, Q., Larson, D., Shen, D., McLellan, M., Lin, L., Miller, C., Mardis, E., Ding, L., & Wilson, R. (2012). VarScan 2: Somatic mutation and copy number alteration discovery in cancer by exome sequencing Genome Research DOI: 10.1101/gr.129684.111
推荐阅读
•一文详解基因组denovo组装原理和实战•
一文详解宏基因组组装工具Megahit安装及应用
•首发!生信分析--入门实践一条龙的CWL中文教程来了
•第三期 Gatk snp calling流程的配置及使用
•第四期 GATK最佳实践之流程运行
一文详解VarScan肿瘤体细胞突变检测的的安装和实践相关推荐
- 一文详解激光雷达的障碍物检测
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 激光雷达感知 自动驾驶中采用激光雷达做感知可以分为两个层次,低层次感知也叫作障碍物检测,只需要探测到前 ...
- 一文详解8种异常检测算法(附Python代码)
文章目录 一.异常检测简介 1.1 异常检测适用的场景 1.2 异常检测存在的挑战 二.异常检测方法 2.1 基于聚类的方法 2.2 基于统计的方法 2.3 基于深度的方法 2.4 基于分类模型 2. ...
- 一文详解MOS管的检测与更换,看完之后茅塞顿开
随着经济的飞速发展,人们的生活也得到了飞跃式的提高,生活中各类电子产品层出不穷,如:手机.电脑.电视机等相继进入我们的视野,但是这类电子产品在使用中难免会出现故障,在修理电视机及这些电器设备时,通常会 ...
- 超详细!一文详解 SparkStreaming 如何整合 Kafka !附代码可实践
来源 | Alice菌 责编 | Carol 封图 | CSDN 下载于视觉中国 出品 | CSDN(ID:CSDNnews) 相信很多小伙伴已经接触过 SparkStreaming 了,理论就不讲 ...
- darknet详解(yolo图像检测)
darknet详解(yolo图像检测) 个人记录整理,如有转载请注明来源, 本文中包含的一张图片来源于网络,如有不妥请与我联系. 文章目录 darknet详解(yolo图像检测) 简介 安装 使用 使 ...
- 一文详解 YOLO 2 与 YOLO 9000 目标检测系统
一文详解 YOLO 2 与 YOLO 9000 目标检测系统 from 雷锋网 雷锋网 AI 科技评论按:YOLO 是 Joseph Redmon 和 Ali Farhadi 等人于 2015 年提出 ...
- 【卷积神经网络结构专题】一文详解AlexNet(附代码实现)
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]本文是卷积神经网络结构系列专题第二篇文章,前面我们已经介绍了第一个真正意义 ...
- OpenCV-Python实战(12)——一文详解AR增强现实
OpenCV-Python实战(12)--一文详解AR增强现实 0. 前言 1. 增强现实简介 2. 基于无标记的增强现实 2.1 特征检测 2.2 特征匹配 2.3 利用特征匹配和单应性计算以查找对 ...
- 从基础到进阶,一文详解RocketMQ事务消息,看完不会跪键盘
本文转载自:从基础到进阶,一文详解RocketMQ事务消息,看完不会跪键盘 事务消息是RocketMQ提供的非常重要的一个特性,在4.x版本之后开源,可以利用事务消息轻松地实现分布式事务.本文对Roc ...
最新文章
- opencv把图片转换成二进制_如何增强图像,然后使用Python和OpenCV将其转换为二进制图像?...
- Git查看、删除、重命名远程分支和tag
- Notepadd ++ PluginManager安装
- Android中的Touch事件
- java的调试工具_2020年最佳Java调试工具(翻译)
- python面试刷题app_Python面试的一些心得,与Python练习题分享
- cron每月1号_微信服务号按粉丝标签分组群发消息怎样实现?
- 简述php和web交互过程,PHP与Web页面交互操作实例分析
- 【前端】—每日5道面试题打卡(十六)
- 从优先级排序看敏捷开发的自相似性
- NFS服务的端口分配
- 世纪互联蓝云柯文达:与更多海外云服务商共赢中国市场
- Remoting调用的用户名密码问题
- 每年的节假日数据处理
- 生活,平淡,些许沉思,些许感概
- 微信小程序生成0到100随机整数
- vue element Pagination分页组件二次封装
- 福昕阅读器不能编辑情况
- MYSQL数据库实验(用户与权限管理)
- 数据结构|魔王语言解释