三代测序数据简单分析

三代测序数据简单分析

原创 saber universebiologygirl

image

简单介绍:

三代测序技术读长较长,针对比较小的基因组像只有16kbp的人类线粒体DNA(mtDNA)是非常适用的,未来其应用应该会在测序错误率降低后得到显著提高。今天给大家介绍一下之前所做的mtDNA三代测序数据组装。因为也是初次接触数据组装操作,有不全面的地方请读者见谅,也可在留言区留言指正。

image

(Wikipedia)

线粒体基因组(mitochondrial DNA,mtDNA)为环状多拷贝形式存在于线粒体中,不同mtDNA分子可能存在不同突变。

1,数据比对

首先拿到测序数据,如果已经有标准的参考基因组(例如mtDNA现在使用的是早期组装的英国人的一条序列rCRS作为参考),我们可以使用李恒编写的三代测序数据比对软件minimap2将原始数据GZ.fq比对到参考基因组reference.fa上。

这里简单介绍下这个软件,minimap2的安装以及基本的使用lh3已经在github上都作了说明(见(https://github.com/lh3/minimap2)):

安装

git clone https://github.com/lh3/minimap2

使用

# long sequences against a reference genome

值得注意的是Pacific Biosciences之前针对PacBio数据比对推荐使用的是Blasr,但是现在也建议使用minimap2:

Benchmarks show that pbmm2 outperforms BLASR in sequence identity, number of mapped bases, and especially runtime. pbmm2 is the official replacement for BLASR.

在它的github页面(https://github.com/PacificBiosciences/pbmm2),将minimap2整合成了pbmm2,其中可以将bam文件直接与参考基因组比对,用法非常简单友好:

A. Generate index file for reference and reuse it to align reads

这里我们使用minimap2将测序数据GZ.fq与参考基因组reference.fa比对:

minimap2 -ax map-ont reference.fa GZ.fq > GZ.sam

参数说明:

-a输出为sam格式: -a output in the SAM format (PAF by default)

这样可以检测测序数据中大概有多少是我们需要的序列、可以用来组装。

2,使用samtools查看比对之后的sam文件

samtools idxstats查看比对情况:

samtools idxstats file.sam

samtools view筛选数据,sam转bam等。

这里简单介绍一下samtools view的用法:

samtools view 用的较多的除了bam、sam文件之间的转换外,还有下面两个参数来筛选reads,根据序列比对之后的flags来筛选reads

-f INT   only include reads with all  of the FLAGs in INT present [0] ###只输出flags为对应值的序列  

samtools flags 后面跟2进制的flags值,可以查看详细意义:

$ samtools flags 2304 

3,数据组装

前面的步骤主要是为了检测数据,是检测mtDNA变异时的常见步骤。拿到测序数据,可以直接进行组装。这里使用的fastq文件比较小,如果文件较大,canu运算时间会非常久。

canu组装过程主要包括矫正、修剪、组装三个过程:

correction, trimming and assembly

每一步都可以单独进行,且对应很多参数,如果没有额外的参数需要调整,一般可以一条命令行执行所有操作,直接用canu组装原始数据:

canu -p GZ_asb1 -d ./result_dir genomeSize=16569 minReadLength=100 minOverlapLength=50 -nanopore-raw GZ.fq

参数说明:

-p <assembly-prefix> ###生成文件的前缀

组装完成后在result_dir目录下会得到组装后的序列文件

GZ_asb1.unitigs.fasta

4,组装后的序列优化

主要是nanopolish对组装后的数据GZ_asb1.unitigs.fasta进行优化(https://github.com/jts/nanopolish),MUMmer评价组装的好坏。

Nanopolish can calculate an improved consensus sequence for a draft genome assembly, detect base modifications, call SNPs and indels with respect to a reference genome and more.

首先使用nanopolish中的variants、vcf2fasta

Usage: nanopolish variants [OPTIONS] --reads reads.fa --bam alignments.bam --genome genome.fa

nanoplsh variants需要比对后的bam文件。将组装的后的序列作为参考基因组,将原始的fastq序列比对到其上:

minimap2 -ax map-ont -t 40 result_dir/GZ_asb1.unitigs.fasta GZ.fq |samtools sort -T tmp1 -o result_dir/GZ_asb1.sorted.bam -

(这里需要注意的是,之前我使用-r接的GZ.fq为fastq文件,好像也能运行,软件help中给出的最好是接fasta文件,所以这里可能需要转换一下,将fastq转为fasta文件) 使用参数说明如下:

  -r, --reads=FILE  the ONT reads are in fasta FILE ###原始的三代测序fastq文件

使用得到的vcf文件矫正组装的序列,得到新的序列:

nanopolish vcf2fasta --skip-checks -g GZ_asb1.unitigs.fasta  GZ_asb1.polished.vcf > GZ_asb1_polished_genome.fa

注:GZ_asb1_polished_genome.fa为最后优化的组装结果。

MUMmer比较组装的fasta与参考基因组序列之间的差别

MUMmer3.23/dnadiff --prefix GZ_asb1_polished.dnadiff reference.fa GZ_asb1_polished_genome.fa

官方也给了一个例子,包括canu组装、优化等步骤(how to polish a genome assembly): https://nanopolish.readthedocs.io/en/latest/quickstart_consensus.html

image

另外组装完成后,也可以用muscle、mafft这些多序列比对软件,或者blast,将组装的序列和参考序列进行比对(由于mtDNA只有一条,所以检测多序列比对结果,即可知道组装的好坏),这里小编自己组装的mtDNA序列,得到后,使用多序列比对与rCRS比对完成后,编写脚本检测的每个位置碱基差别,这里就不做过多介绍了。

结尾:因为也是第一次接触三代数据,以及组装数据,可能有些地方介绍的不够详细,如果大家还有什么不明白的可以在留言区指出,共同探讨,关于nanopore的组装今天就介绍到这里,希望能对大家有所帮助,请持续关注我们,谢谢!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,245评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,749评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,960评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,575评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,668评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,670评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,664评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,422评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,864评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,178评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,340评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,015评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,646评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,265评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,494评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,261评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,206评论 2 352