一、 运行meerkat

前面已经依序安装了meerkat 的环境和meerkat,运行了预处理一步,在相对应的bam文件目录下生成了大批文件,因此,当要用meerkat处理某个bam文件时,应先将该bam文件移动到专有的一个文件夹,manual中也建议这样用。

预处理生成的文件包括:

黑名单文件.gz

isinfo文件:包括插入大小信息

pdf文件:插入大小的分布图,unmapped reads长度的分布图,softclip reads长度分布图

pre.log文件:日志文件,包括输入的参数,输入输出信息,reads数,unallign reads数等

softclips.fq.gz: softlip reads文件,完整的read

softclips.rdist:softclip 的reads长度分布信息记录

unmapped.fq.gz:unmapped的reads 文件,完整的read

unmapped.rdist: unmapped的reads长度的分布信息

sr1.fq.gz : 从softclip read 或者 unmaped read 切下来的指定bp 的reads

sr2.fq.gz :  与sr1.fq配对的reads

一个文件夹包括1_1fq.gz,1_2fq.gz ,  里面有不同长度的reads。每个read group 人工的reads 对

   1.1  meerkat.pl

perl ./scripts/meerkat.pl [options]

         -b  FIle    已经sort过的bam文件

-k  int    [0/1]是否使用预处理产生的黑名单文件,默认1

    -d  FLT    call discordant mate pairs 的标准差阈值,默认3.这个选项控制怎样寻找discordant read对,等同于定义最大的concordant fragment(配对的reads定位到的片段),计算方法是:中位插入大小+d x sd,如果插入大小分布图狭窄并对称,就使用默认参数,例如下面一二图。如果分布图偏宽,或者带着长尾,三四图,参数应设为5,对于高深度(>30x),尽管分布图狭窄,但是使用5会轻微好一点。如果峰窄,但是仍然带着一个尾部(图五),好像大部分TCGA数据那样,在meekat.pl这一步使用5比3更好

   -c  FLT    集簇discordant mate pair标准差阈值,默认和-d相同。控制怎样集簇,构建断点的置信区间。等同于定义覆盖断点的最大片段(中位插入大小+c x sd)。如果-d 选项是5或者小于5,使用用-c相同的参数,如果-d 很大,比如10,那么使用更小的-c,比如5。如果数据有很高的测序深度,或者有广泛的拷贝的变化,那么使用5而不是3来避免不能构建断点的置信区间。

     -p  FLT    call一个事件支持的配对数阈值,默认2

      -o  INT    需要支持全长reads对的数目,默认是0,设定这个选项会降低小复杂事件的敏感度。如果使用-a 1 -l 1推荐使用-o 1 来避免重复序列导致的过多人工产物

         -q  INT    call一个事件支持的split reads数,默认是1

      -z  INT    事件数的最大值,默认1,000,000,000

       -s  INT    从unmapped reads 开始和末端切下来的bp数,必须和与处理的-s 参数设置一样

         -m  INT    [0/1],如果设定为1,使用meerkat 去去除duplicates,如果设为0,使用Picard 的 flag 'd‘ marked ,或者其他工具去除duplicates.bwa mem 的数据必须用picard mark duplicate ,所以要设为0.

      -a  INT    [0/1],处理非单一比对,默认1。如果测序质量不好,或者测序深度不够,将参数设为0,这样全部成对的reads都被作为单一比对使用。这依赖bwa mapping 时生成的XT标签。如果没有XT标签,使用选项Q.

    -u  INT    [0/1],使用bam文件的全部比对,如果BAM文件不是由BWA产生的,或者由bwa产生但是没有XT标签,那么开这个选项,开了这个选项会强制关闭-a选项。默认是0。开了这个选项之后应使用-Q 参数过滤低mapping reads,推荐-Q设置10,对于bwa比对过的bam,也可以继续过滤。

        -Q  INT    被使用的reads的最小mapping quality,默认是0

-g  INT     在主要的bam文件使用的备择mapping数,默认使用全部。备择mapping 数之前通过bwa -N 参数输出到XA标签中。bwa mem 默认 输出备择mapping。

          -f  INT    在clipped 比对中考虑的备择mapping数,默认使用全部。

          -l  INT    [0/1],是否考虑clipped 比对,默认1.和预处理一样,对于bwa mem 出来的基因组,不需要重新mapping.

          -t  INT    在bwa比对中用到的核数,默认1

    -R  STR    包括黑名单read group的文件,每一行一个read group ID

          -F  STR    fasta文件夹路径

  -S  STR    samtools路径,如果samtools不在环境变量中的话

       -W  STR    bwa路径,如果bwa不在环境变量中的话

  -B   STR    blastall 和 formatdb 的路径,如果不在环境变量的话

-P  STR    指定运行顺序,dc|cl|mpd|alg|srd|rf|all,默认all,每一步运行都需要上一步的结果

dc:  extract discordant read pairs,提取discordant read对

cl:  construct clusters of discordant read pairs,将discordant read对建簇

mpd: call events based on read pairs,基于read 对call 事件

alg: align split reads to candidate break point regions,比对split read 到候选的断点区域。如果你有多核心的话,可以将alg步骤切为两步,alg1和alg2,alg1运行多线程,alg2运行单线程。

srd:  confirm events based on split reads and filter results,基于split reads和过滤的结果对事件进行证明

rf: refine break points by local alignments,通过区域比对定义断点

all: run all above steps ,运行全部步骤

    -h    帮助

manual 中的举例:

    50bp reads,<10x 的TCGA 基因组    使用-s 18 -d 5 -a 0 -l 0 -q 1,猜测:reads 长度较小,所以取1/3 read 长度,-s 取18, TCGA 基因组,插入分布狭窄带尾,所以-d 设为5, 测序深度较低,reads 长度较短,所以尽量保留数据,-a 设为0, -l 设为0,-q 设的较低,1。

    75-101bp reads, 30-40x TCGA 基因组    使用-s 20 -d 5 -p 3 -o 1 -a 0 -u 1 -Q 10,猜测:reads长度较长,取1/5read长度,-s 取20,TCGA 基因组,插入分布狭窄带尾,所以-d 设为5,长度较长,深度较深,因此降低敏感度,增加特异度,所以-p 设为3,-o 设为1,由于没有XT tag和XA tag ,因此-a 1 选项无法运行,因此设为-u 1 -a 0 -Q 10 。如果这是bwa mem的数据的话,参数应设为-s 20 -d 5 -p 3 -o 1 -m 0 -l 0,bwa mem 数据不需要重新比对softclips -l 0,必须用picard去除duplicate,-m设为0,估计这个是早版本的bwa,因此比对时可以生成XT标签,-a 默认为1。

  101bp reads, 60-80x TCGA 基因组    使用-s 20 -d 5 -p 5 -o 3,75-101bp 使用-s 20,TCGA基因组使用-d 5,测序深度深,-o 设置更高3。

如果肿瘤基因组60x,相对应的正常基因组30x,那么使用60x的参数,常常用配对的正常组织中的black.list.gz 重命名并放到肿瘤bam文件处理的文件夹,替换cancer的blacklist.gz文件。

1.2 mechanism.pl

       perl ./scripts/mechanism.pl [options]

        -b  FILE    sort过的bam文件

-o  INT    [0/1]在TE包括rmsk类型 \"Other\",默认1

     -t  INT    TE的最大值,默认100000

-z  INT    被处理的SV的数量限制,默认1000000000

        -R  STR    repeat注释路径,能够从UCSC下载

        -h  help

二、参照

manual中给出的数据,HapMap个体NA18507(42x深度,100bp读长,500bp插入大小),用10核bwa比对花费1.5天和10GB的内存。30x深度的肿瘤数据,要多于两天并且超过30G的内存,如果测序质量不太好,比如很多的嵌合比对和许多非单一mapped的reads,就会花费更多的时间和内存。、

三、结果

    运行完预处理和meerkat.pl后,能够得到两个文件.intra.refined.typ.sorted和inter.refined.typ.sorted,运行完mechanism.pl后,会得到.variants文件,否则,就该回去看一下设置是否出现问题。

运行的肿瘤基因组文件的时候,一定要把正常组织的blacklist文件替换肿瘤基因组的blacklist文件,blacklist文件可以在预处理中生成。如果在预处理中出现错误信息“differing read lengths“,没有关系,仅仅是告诉你在一些read group中长度不一致。

 四、包含的其他程序

4.1 转换variant 文件到vcf格式   

perl ./scripts/meerkat2vcf.pl -i variantfile -o vcffile -H headerfile -F /db/hg18/hg18_fasta/

-F选项可以产生一个头文件

4.2  融合基因注释

perl ./scripts/fusions.pl -i variantfile -G /db/hg18/refGene_hg18_sorted.txt

4.3  为变异位点设计引物

        使用primer.pl

-i  FILE    输入文件,fusion.pl产生的融合文件

-o  FILE    输出文件

-p  STR    引物固定序列

-c  INT    列数补偿,默认0,如果第一列存在如何事件的样品名称,那么设为1

-f  INT    侧翼区域,默认500,设计引物所在的区域

-s  STR    被“,”分隔的引物大小,默认20,23,25,27

-m  STR    引物最小,最优,最大Tm值,","分隔,默认50,60,65

-n  INT    对每一个引物片段,设计的音物个数,默认5

-r  INT    掩盖repeat,默认0

-q  INT    输出设计引物的侧翼序列

-F  STR    fasta文件文件夹路径

-P  STR    primer_core程序文件夹路径

-L  STR    bla文件夹t路径

-V  STR    blat服务器,例如fServer start 10.11.240.76 17777/reference/hg18/hg18.2bit -stepSize=5,服务器路径应该为10.11.240.76

-T  STR    blat端口,上面例子中的17777

-h  help

全部音物都是由Primer3生成,对于每一个事件,挑出.1和.2,不同的取向认为是不同的事件,所以取引物的时候直接拷贝出来,不需要额外的反向互补,如果序列是小写字母,那么说明引物在重复序列。理论上,你应该用 1 blat hit 挑出小写的引物。如果blat hit 是0,意味着由太多hit了,所以不要挑选这种引物。有时候,即使引物是在重复序列上(小写字母),但是在基因组上仍然是单一比对的,(1 blat hit),因为是重复元件的变异,挑选这种引物是可以的。如果由一些引物PCR没有结果,你可以挑选2个正向引物,两个反向引物来同时进行4 个PCR 反应。引物设计的普遍规则仍然要使用,比如,你应该挑选TM 值相差不大并且GC含量不太极端的。

4.4  计算等位基因频率

使用discon.pl,这个脚本会告诉你全部断点的discordant 和 concordant的read对.

-i  FILE    输入variants 文件,必须

-o  FILE    输入文件,必须

-D  INT    从bam文件中计算discordant pair的数目,默认0,基因分型的时候打开这个选项

-B  FILE    bam文件,必须

-C  FILE    由Meerkat 产生的cluster文件,必须

-I  FILE    Meerkat 运行时产生的isinfo文件

-K  FILE    包含要忽略的read group的文件名,一个read ID 一行,和 meerkat.pl的R参数一样

-S  FILE    samtools文件夹路径,如果samtools不再环境变量中

-d  FLT    call discordant read 对的标准差阈值,默认3

-Q  INT    使用的reads 最小的mapping quality,默认0

-h  help

perl ./scripts/discon.pl -d  -Q  -i $somaticg -o $somaticg_rp -B $cancer_bam -C
$cancer_cluster -I $cancer_isinfo -K $cancer_blacklistrg -S /home/ly55/opt/samtools/

结果文件里面每一个事件有一个 RP tag ,A_B_C_D格式

A:全长的discordant read 对数

B:从部分比对的reads中discordant的reads数

C:第一断点的concordant reads 数

D:第二断点的concordant reads数

A+B应该等与Meerkat得到的总的reads数

以上内容仅作个人笔记使用,仅供参考

参考资料

meerkat manual :http://gensoft.pasteur.fr/docs/Meerkat/0.189/Manual_0.189.pdf

生物结构变异分析软件meerkat 0.189使用笔记(二)的更多相关文章

  1. 生物结构变异分析软件meerkat 0.189使用笔记(一)

    一.准备工作     meerkat 0.189版本和以前的版本相比,支持bwa mem 输出的bam文件,还支持全外显子数据count SV. meerkat原理:参见http://compbio. ...

  2. 【Bootstrap3.0建站笔记二】button可下拉弹出层

    1.button可下拉弹出层: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hpbmFwbGFu/font/5a6L5L2T/fontsize/400 ...

  3. 江中微型统计分析软件V1.0版本完成

    中文名称:江中微型统计分析软件 英文名称: 项目名称:JXUTCMMSAS 项目地址:保密 在研究生最后历时1年的时间里,完成了江中微型统计分析软件V1.0,后续还在不断更新中,将自己的改进算法.机器 ...

  4. Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用【补充】

    在 Hyperledger Fabric 1.0 从零开始(十二)--fabric-sdk-java应用 中我已经把官方sdk具体改良办法,即使用办法发出来了,所有的类及文件都是完整的,在文章的结尾也 ...

  5. 《玩转Django2.0》读书笔记-Django建站基础

    <玩转Django2.0>读书笔记-Django建站基础 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.网站的定义及组成 网站(Website)是指在因特网上根据一 ...

  6. muduo学习笔记(二)Reactor关键结构

    目录 muduo学习笔记(二)Reactor关键结构 Reactor简述 什么是Reactor Reactor模型的优缺点 poll简述 poll使用样例 muduo Reactor关键结构 Chan ...

  7. cocos2d-x 3.0游戏实例学习笔记 《跑酷》 完结篇--源代码放送

    说明:这里是借鉴:晓风残月前辈的博客,他是将泰然网的跑酷教程,用cocos2d-x 2.X 版本号重写的,眼下我正在学习cocos2d-X3.0 于是就用cocos2d-X 3.0重写,并做相关笔记 ...

  8. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十三║Vue实战:Vuex 其实很简单

    前言 哈喽大家周五好,马上又是一个周末了,下周就是中秋了,下下周就是国庆啦,这里先祝福大家一个比一个假日嗨皮啦~~转眼我们的专题已经写了第 23 篇了,好几次都坚持不下去想要中断,不过每当看到群里的交 ...

  9. 《玩转Django2.0》读书笔记-探究视图

    <玩转Django2.0>读书笔记-探究视图 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 视图(View)是Django的MTV架构模式的V部分,主要负责处理用户请求 ...

随机推荐

  1. xBIM 日志操作

    目录 xBIM 应用与学习 (一) xBIM 应用与学习 (二) xBIM 基本的模型操作 xBIM 日志操作 XBIM 3D 墙壁案例 xBIM 格式之间转换 xBIM 使用Linq 来优化查询 x ...

  2. es随想二

    一.es运行状态的监控 es长时间批量入库时,需要对入库的性能进行监控,否则可能导致es重启,入库任务失败. 可以编写shell脚本,每分钟用cat命令监控pending的数量,数量逐渐增大时就需要注 ...

  3. HEOI2016 题解

    HEOI2016 题解 Q:为什么要在sdoi前做去年的heoi题 A:我省选药丸 http://cogs.pro/cogs/problem/index.php?key=heoi2016 D1T1 树 ...

  4. BZOJ 3809: Gty的二逼妹子序列 & 3236: [Ahoi2013]作业 [莫队]

    题意: 询问区间权值在$[a,b]$范围内种类数和个数 莫队 权值分块维护种类数和个数$O(1)-O(\sqrt{N})$ #include <iostream> #include < ...

  5. BZOJ 3143: [Hnoi2013]游走 [概率DP 高斯消元]

    一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这条边的编号的分 ...

  6. (转载)Java:按值传递与按引用传递

    原链接:传送门 前天在做系统的时候被Java中参数传递问题卡了一下,回头查阅了相关的资料,对参数传递问题有了新的了解和掌握,但是有个问题感觉还是很模糊,就是Java中到底是否只存在值传递,因为在查阅资 ...

  7. 快速构建一个简单的单页vue应用

    技术栈 vue-cli webpack vux,vux-loader less,less-loader vue-jsonp vue-scroller ES6 vue-cli:一个vue脚手架工具,利用 ...

  8. Factorial数列的几种实现方式

    斐波那契数列很常见,实现的方法主要有递归,for,栈等,下面给出代码 import java.math.BigInteger; import java.util.Scanner; import jav ...

  9. [NOIP2001提高组]数的划分

    题目描述 将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法. 输 ...

  10. MySQL数据库基础(一)(启动/停止、登录/退出、语法规范及最基础操作)

    1.启动/停止MySQL服务 启动:net start mysql    停止:net stop mysql 2.MySQL登录/退出 登录:mysql 参数:如果连接的是本地服务器,一般用命令:my ...