使用Pilon对基因组进行polish
软件安装
官方提供了编译好的jar包,方便使用
wget https://github.com/broadinstitute/pilon/releases/download/v1.22/pilon-1.22.jar
java -Xmx16G -jar pilon-1.22.jar
如果要顺利运行程序,要求JAVA > 1.7, 以及根据基因组大小而定的内存,一般而言是1M大小的基因对应1GB的内存。
总览
Pilon有如下作用
- 对初步组装进行polish
- 寻找同一物种不同株系间的变异,包括结构变异检测
他以FASTA和BAM文件作为输入,根据比对结果对输入的参考基因组进行提高,包括
- 单碱基差异
- 小的插入缺失(indels)
- 较大的插入缺失或者block替换时间
- 填充参考序列中的N
- 找到局部的错误组装
最后它输出polish后的FASTA文件, 以及包含变异信息的VCF文件(可选)
分析流程
推荐使用PCR-free建库测序得到的Illumina paired-end数据,这样子避免了PCR-duplication,有效数据更多,也不需要在分析过程中标记重复。
下面步骤,假设你的组装文件为draft.fa
, 质量控制后的illumina双端测序数据分别为read_1.fq.gz
和read_2.fq.gz
第一步:比对
bwa index -p index/draft draft.fa
bwa mem -t 20 index/draft read_1.fq.gz read_2.fq.gz | samtools sort -@ 10 -O bam -o align.bam
samtools index -@ 10 align.bam
第二步:标记重复(非PCR-free建库)
sambamba markdup -t 10 align.bam align_markdup.bam
第三步:过滤高质量比对的read
samtools view -@ 10 -q 30 align_markdup.bam > align_filter.bam
samtools index -@ 10 align_filter.bam
第三步:使用Pilon进行polish
MEMORY= #根据基因组大小而定
java -Xmx${MEMORY}G -jar pilon-1.22.jar --genome draft.fa --frags align_filer.bam \--fix snps,indels \--output pilon_polished --vcf &> pilon.log
一般Pilon迭代个2到3次就够了,所谓事不过三,过犹不及。
关于Pilon的一些参数说明:
--frags
表示输入的是1kb以内的paired-end文库,--jumps
表示 大于1k以上的mate pair文库,--bam
则是让软件自己猜测-vcf
: 输出一个vcf文件,包含每个碱基的信息--fix
: Pilon将会处理的内容,基本上选snps
和indels
就够了--variant
: 启发式的变异检测,等价于--vcf --fix all,breaks
, 如果是polish不要使用该选项minmq
: 用于Pilon堆叠的read最低比对质量,默认是0。
阅读日志输出
这个日志文件是标准输出而不是标准错误输出,不过保险起见用
&>
最开始,Pilon会输出他的版本信息(如下示例),以及将会对基因组做的调整,
Pilon version 1.14 Sat Oct 31 14:30:00 2015 -0400
Genome: genome.fasta
Fixing snps, indels
其中Fixing后面的含义为:
- "snps": 单碱基差异
- "indels":小的indel的差异
- "amb": 替换原有的N
- "gaps": 填充基因组的gap
- "local": 检测和修改错误组装
- "all": 上述所有
- "none": 不是上述的任何一种
接着Pilon会分染色体对BAM文件进行处理,根据BAM文件进行堆叠(pileup), 这个时候它会输出有效reads的深度,这里的有效reads包括未成对的read和正确成对的read。
Processing ctg1:1-5414473
frags align_mkdup.bam: coverage 19
Total Reads: 808985, Coverage: 19, minDepth: 5
从Pilon v1.4开始,Pilon还会输出基因组得到确认的碱基比例。
Confirmed 5403864 of 5414473 bases (99.80%)
后续是Pilon将会对原参考基因组做的一些调整的总体情况,如下表示纠正2个snp, 2个小的插入,4个缺失。
Corrected 2 snps; 0 ambiguous bases; corrected 2 small insertions totaling 12 bases, 4 small deletions totaling 6 bases
最后声明当前部分处理结束
Finished processing ctg1:1-5414473
如果,在--fix
中选了gaps
, 那么输出的内容还有如下内容。其中82048 -0 +276
解释为在坐标82428处移除0个碱基,插入276个碱基。
# Attempting to fill gaps
fix gap: scaffold00001:82428-93547 82428 -0 +276 ClosedGap
参考资料
- https://github.com/broadinstitute/pilon/wiki/Standard-Output
- https://github.com/broadinstitute/pilon/wiki/Methods-of-Operation
使用Pilon对基因组进行polish相关推荐
- nextpolish安装_「三代组装」使用Pilon对基因组进行polish
软件安装 官方提供了编译好的jar包,方便使用 wget https://github.com/broadinstitute/pilon/releases/download/v1.23/pilon-1 ...
- 「三代组装」Pacbio组装后如何用自身数据进行polish
三代数据由于其高错误率(目前应该是10%左右), 即便在组装前有一步纠错环节,但是组装得到序列依旧存在着许多错误,因此需要进行polish环节.polish分为两个层次,三代原始序列polish和二代 ...
- Nanopore测序在基因组 de novo中的应用
Nanopore测序在基因组 de novo中的应用 自1977年第一代sanger测序问世来,经过几十年的发展,测序技术得到了极大的发展. 从第一代测序到第二代测序再到第三代测序,测序技术的每一次变 ...
- 宏基因组、微生物、环境杂志影响因子(IF)及变化分析
转发朋友圈,截图发送至公众号后台,获取全部杂志,全部!13010本杂志的影响因子! 以下是按类筛选的杂志,包括 宏基因组.微生物.生物技术和应用微生物.环境科学各分领域的杂志精选,以及变化分析 宏基因 ...
- MPB:林科院袁志林组-内生镰刀菌基因组染色体级别组装和注释
为进一步提高<微生物组实验手册>稿件质量,本项目新增大众评审环节.文章在通过同行评审后,采用公众号推送方式分享全文,任何人均可在线提交修改意见.公众号格式显示略有问题,建议电脑端点击文末阅 ...
- [爬虫实战]利用python快速爬取NCBI中参考基因组assembly的相关信息
1.问题导向 最近在做某个课题的时候,按老师的要求需要从NCBI中批量下载不同物种的参考基因组,同时收集相应参考基因组的一些组装信息,基因组非常多,导致工作量巨大,一个一个手动收集的话,既费时又费力, ...
- 不同测序数据应用与基因组组装|Canu
介绍 Canu专门组装PacBio或Oxford Nanopore序列.Canu分为三个阶段:校正.修整和装配.校正阶段将提高读取中基数的准确性.微调阶段将微调显示为高质量序列的部分的读取,删除可疑区 ...
- 全基因组组装,注释与评估软件
全基因组组装,注释与评估软件集锦(更新于2020.03.20) 1.Assembly 1.1质体基因组 1.1.1NOVOPlasty program language:Perl Reference: ...
- OPERA-MS:宏基因组二、三代测序混合组装
之前详细介绍了宏基因组二.三代混合组装软件OPERA-MS的Nature Biotechnology文章.详见下文: NBT:宏基因组二.三代混合组装软件OPERA-MS 今天带来软件的使用经验,主要 ...
- 利用3D-DNA流程组装基因组
利用3D-DNA流程组装基因组 使用二代数据或三代数据得到contig后,下一步就是将contig提升到染色体水平.有很多策略可以做到这一点,比如说遗传图谱,BioNano(看运气), HiC, 参考 ...
最新文章
- 【论文学习】RepVGG: Making VGG-style ConvNets Great Again及网络重参数化的用途及效果分析
- PyTorch + NumPy这么做会降低模型准确率,这是bug还是预期功能?
- LeetCode Algorithm 240. 搜索二维矩阵 II
- Java 中实现定时服务 在ssh框架中跟普通工程里面创建的方式
- msp430入门编程21
- html 的css骚操作,意想不到的 CSS 伪元素 before/after 各种骚操作 - 文章教程
- 大数据_Hbase-原理说明_大数据存储_垂直拆表_水平拆表_动态列扩展---Hbase工作笔记0003
- SqlServer中union 和 union all的区别
- xlsx文件打开乱码_xlsx文件怎么打开乱码
- 软件架构领域集大成者——《架构之美》读书笔记
- html怎么截取部分图片,【原创】详解css用坐标来截取部分图片
- CDR插件开发之Addon插件001 - 从零开始安装VS2022详细步骤
- 【LG3244】[HNOI2015]落忆枫音
- POST注入-显错注入 ——合天网安实验室学习笔记
- java读取欧姆龙plc,寄存器读取命令响应超时 欧姆龙plc寄存器读取命
- 范畴论[转自百度百科]
- Dzz任务板初版完成笔记-仿trello可私有部署的一款轻量团队任务协作工具。
- python魔方方法
- 动态的渐变色网页背景
- 给应用重新签名,重新签名包
热门文章
- 如何在CentOS系统服务器下搭建代理IP
- CC8编译报错:error #10099-D 解决方案(已解决)
- tp5和vue前后端分离工作环境部署
- 如何设计高品质LoRa无线模块
- css中调整高度充满_css实现div的高度填满剩余空间
- [CSS]CSS浮动float详解(三):清除浮动方案
- Unity源码分享之 电视遥控器按钮事件控制
- 计算机多媒体技术主要有什么特征,多媒体技术特征有哪些_多媒体技术的关键特性介绍...
- 2018厦门大学计算机技术分数线,2018厦门大学专业排名及分数线 王牌专业有哪些...
- JavaScript debugger调试