基因组组装---Nanopore数据评估(nanoqc和NanoPlot套件工具)

基因组组装---Nanopore数据评估(拟南芥nanopore)

1. 下载软件

使用conda创建环境,下载nanoqcNanoPlotnanostat,并运行相关代码:

## Nanopore QC softwares
conda create -n nanoqc
conda activate nanoqc
mamba install -c bioconda nanoqc

## NanoPlot作者还开发了几个过滤比较的工具:NanoFilt, NanoStat, NanoLyse和NanoComp
## 下载还是conda环境中的pip方便,使用conda下载总是有报错
pip install NanoPlot ## plot
pip install nanostat ## stat report
pip install NanoFilt ## filter nanopore reads
pip install NanoLyse ## Remove reads mapping to the lambda phage genome from a fastq file.
## 
nohup NanoStat  --fastq ../CRR302667.fastq.gz -t 10   --tsv  --outdir 01.StatReports -n stat &
nohup NanoPlot -t 10 --fastq ../CRR302667.fastq.gz --plots hex dot kde -o 01.Nanoplot -p Ath -cm Viridis &

在这里插入图片描述其中NanoStat可以只是进行raw nanopore数据的统计,然后使用NanoFilt进行后续过滤,这个软件过滤主要是:
质量、长度和GC含量

Perform quality and/or length and/or GC filtering of (long read) fastq data.
2. 软件使用
(1)nanoQC

nanoQC软件说明如下,主要设定 -l参数:

usage: nanoQC [-h] [-v] [-o OUTDIR] [--rna] [-l MINLEN] fastq
Investigate nucleotide composition and base quality.
positional arguments:
  fastq                 Reads data in fastq.gz format.

options:
  -h, --help            show this help message and exit
  -v, --version         Print version and exit.
  -o OUTDIR, --outdir OUTDIR
                        Specify directory in which output has to be created.
  --rna                 Fastq is from direct RNA-seq and contains U nucleotides.
  -l MINLEN, --minlen MINLEN
                        Filters the reads on a minimal length of the given range. Also plots the given length/2 of the
                        begin and end of the reads.

使用命令:

## nanoQC
## -l 参数制定最短的reads长度限制
nohup nanoQC ../CRR302667.fastq.gz -o 01.nanoQC_res -l 1000 &   
nohup nanoQC ../CRR302667.fastq.gz -o 01.nanoQC_res2k -l 2000 &

输出结果包含log文件和html报告文件(主要看html):

-rw-r--r-- 1 debian debian 164097 8  30 21:14 nanoQC.html
-rw-r--r-- 1 debian debian    385 8  30 21:14 NanoQC.log

报告中包含read长度碱基含量碱基质量
在这里插入图片描述
设置参数 -l 2000,可以看出确实结果更好一些了,特别碱基含量和质量情况明显改善:
在这里插入图片描述

(2)NanoPlot

软件参数较多,官方使用例子:

EXAMPLES:
NanoPlot --summary sequencing_summary.txt --loglength -o summary-plots-log-transformed  
NanoPlot -t 2 --fastq reads1.fastq.gz reads2.fastq.gz --maxlength 40000 --plots dot --legacy hex
NanoPlot -t 12 --color yellow --bam alignment1.bam alignment2.bam alignment3.bam --downsample 10000 -o bamplots_downsampled

使用NanoPlot

## 其中hex参数没有出图,在github中找到原因。
## --plots uses the plotly package to plot kde and dot plots. Hex option will be ignored.
## 其中hex plot可以使用 --legacy hex 参数进行调用
## --downsample参数可以进行总体抽样
nohup NanoPlot -t 10 --fastq ../CRR302667.fastq.gz --plots hex dot kde -o 01.Nanoplot -p Ath -cm Viridis &

输出PNG图片:

-rw-r--r-- 1 debian debian 46966 8  30 23:20 AthLengthvsQualityScatterPlot_dot.png
-rw-r--r-- 1 debian debian 99265 8  30 23:20 AthLengthvsQualityScatterPlot_kde.png
-rw-r--r-- 1 debian debian 27722 8  30 23:20 AthNon_weightedHistogramReadlength.png
-rw-r--r-- 1 debian debian 37099 8  30 23:20 AthNon_weightedLogTransformed_HistogramReadlength.png
-rw-r--r-- 1 debian debian 34650 8  30 23:20 AthWeightedHistogramReadlength.png
-rw-r--r-- 1 debian debian 38920 8  30 23:20 AthWeightedLogTransformed_HistogramReadlength.png
-rw-r--r-- 1 debian debian 36923 8  30 23:20 AthYield_By_Length.png

输出html和log文件,整体报告文件为 AthNanoPlot-report.html,报告中包含statistics summary图片

-rw-r--r-- 1 debian debian  486051 8  30 23:20 AthLengthvsQualityScatterPlot_dot.html
-rw-r--r-- 1 debian debian  723285 8  30 23:20 AthLengthvsQualityScatterPlot_kde.html
-rw-r--r-- 1 debian debian    2693 8  30 23:20 AthNanoPlot_20220830_2151.log
-rw-r--r-- 1 debian debian 1540597 8  30 23:20 AthNanoPlot-report.html
-rw-r--r-- 1 debian debian   29207 8  30 23:20 AthNon_weightedHistogramReadlength.html
-rw-r--r-- 1 debian debian   30051 8  30 23:20 AthNon_weightedLogTransformed_HistogramReadlength.html
-rw-r--r-- 1 debian debian   32743 8  30 23:20 AthWeightedHistogramReadlength.html
-rw-r--r-- 1 debian debian   39886 8  30 23:20 AthWeightedLogTransformed_HistogramReadlength.html
-rw-r--r-- 1 debian debian  189660 8  30 23:20 AthYield_By_Length.html

此外还包含一个text文件AthNanoStats.txt,对整体的数据进行统计summary:

General summary:         
Mean read length:                 18,541.3
Mean read quality:                    11.1
Median read length:                7,818.0
Median read quality:                  11.2
Number of reads:               3,064,191.0
Read length N50:                  46,452.0
STDEV read length:                26,536.0
Total bases:              56,814,196,989.0
Number, percentage and megabases of reads above quality cutoffs
>Q5:	3064191 (100.0%) 56814.2Mb
>Q7:	3064123 (100.0%) 56814.2Mb
>Q10:	2168595 (70.8%) 40456.1Mb
>Q12:	1055916 (34.5%) 19383.7Mb
>Q15:	6640 (0.2%) 12.3Mb
Top 5 highest mean basecall quality scores and their read lengths
1:	21.0 (1)
2:	19.0 (1)
3:	19.0 (1)
4:	19.0 (1)
5:	18.9 (358)
Top 5 longest reads and their mean basecall quality score
1:	495032 (12.4)
2:	457760 (8.7)
3:	439434 (9.1)
4:	438143 (8.7)
5:	431286 (9.7)

NanoFilt使用例子:

EXAMPLES:
  gunzip -c reads.fastq.gz | NanoFilt -q 10 -l 500 --headcrop 50 | minimap2 genome.fa - | samtools sort -O BAM -@24 -o alignment.bam -
  gunzip -c reads.fastq.gz | NanoFilt -q 12 --headcrop 75 | gzip > trimmed-reads.fastq.gz
  gunzip -c reads.fastq.gz | NanoFilt -q 10 | gzip > highQuality-reads.fastq.gz

个人觉得stat信息比较有用,可以看出read长度平均值,质量情况等;
其他绘图png结果只能是查看,这些图质量不太行;
(该软件运行时需要联网,否则不出png图片)

整体看这个拟南芥nanopore数据,测序质量还是不太行,跟二代测序质量还是没法比。
另外,有点怀疑这个软件的质量值统计情况呢,我在github软件的issue问了一下作者。

此外minion_qc软件也可以评价nanopore数据,但是这个数据是基于basecaller结果(basecall from fast5),只有fastq不能用:

The benefit of MinIONQC is that it works directly with the sequencing_summary.txt
 files produced by ONT's Albacore or Guppy base callers. 

参考:
https://github.com/wdecoster/nanoQC
https://github.com/wdecoster/NanoPlot

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 要用三代测序数据组装出染色体级别的基因组,可以按照以下步骤进行: 1. 数据预处理:对三代测序数据进行质量控制和过滤,去除低质量和含有适配器的reads。 2. 组装:使用基因组组装软件对经过预处理的数据进行组装。由于三代测序数据具有较长的read长度和较高的错误率,因此需要使用适合处理这种数据组装算法,如Flye、Canu、wtdbg2等。 3. 内部一致性校正:对组装结果进行内部一致性校正,去除矛盾的序列,提高组装准确性。 4. 粘连区域处理:在染色体级别组装过程中,常常会出现粘连区域,即存在多个不同的序列可以组装在一起。可以使用长读比对、Hi-C数据等方法进行粘连区域的处理,得到最终的染色体级别组装结果。 5. 评估和改进:对组装结果进行评估和改进,比较组装结果和已知参考基因组的差异,并使用其他数据如RNA-seq数据进行验证和改进。 以上是组装染色体级别基因组的一般步骤,具体实施中还需要结合具体的数据情况和组装软件的特点进行调整和优化。 ### 回答2: 染色体级别的基因组组装需要经过以下几个步骤: 1. 数据质控:首先对三代测序数据进行质控,包括去除低质量碱基、修剪末端序列、去除接头序列等处理,确保数据的准确性和完整性。 2. 参考基因组比对:使用相关物种的参考基因组作为参考,将测序reads与参考基因组进行比对。此步骤可使用一些开源的比对工具,如Bowtie、BWA等。 3. 去重和拼接:根据比对结果,对重复的读取进行去重,然后将比对上的reads进行拼接,生成更长的序列。常用的拼接工具有SPAdes、SOAPdenovo等。 4. 错误矫正:对拼接得到的长序列进行错误矫正,去除可能存在的测序错误。可使用Quiver、LoRDEC等工具进行错误矫正。 5. 碱基错误矫正:使用相关物种的其他基因组信息,如原核生物的拓扑结构、转录本序列等,进行碱基错误矫正,提高结果的准确性。可使用Pilon、Racon等工具进行碱基错误矫正。 6. 持续迭代:以上步骤可能需要多次迭代进行,直至获得较完整且准确的染色体级别基因组。 7. 结果评估:通过与已知基因组的比对、基因预测和注释等方式对组装结果进行评估,验证基因组的准确性和完整性。 总之,染色体级别基因组组装利用三代测序数据,通过质控、比对、拼接、错误矫正等多个步骤,最终得到较完整、准确的基因组序列。然而,组装结果仍需综合其他实验验证,才能确保基因组的完整性和准确性。 ### 回答3: 要组装一个染色体级别的基因组,首先需要收集足够的三代测序数据。三代测序技术包括Illumina,PacBio和Nanopore等,它们提供了高质量、长读长的测序数据。 第一步是建立一个参考基因组序列。可以使用辅助测序技术,如BioNano或Hi-C,来获得染色体的全长信息。这些信息将帮助将测序数据映射到参考基因组上。 接下来,将三代测序数据与参考序列进行比对。根据每个数据集之间的重叠区域,可以通过重叠改正和序列拼接方法将读取连接起来。通过比对多个数据集,可以提高准确性并填充序列间的空隙。 然后,进行读取错误矫正。三代测序技术由于其相对较高的错误率,可能需要采取矫正措施。可以使用PacBio和Nanopore提供的高质量排序读取来矫正Illumina数据集中的错误。 在得到组装的序列后,需要通过重叠区域检测和破碎区域映射来验证和填充序列。通过比对之前得到的长读取和映射的链接信息,可以检测到重叠和破碎区域,并进行修复和连接。 最后,继续进行序列校准和错误修复。可以使用基于概率的方法,如polish read or consensus correction,来矫正残留的序列错误。 通过这些步骤,我们可以逐渐组装出一个染色体级别的基因组。但需要明确的是,基因组组装是一个复杂的过程,可能涉及到很多细节和步骤。因此,在实际实施中,可能需要借助各种基因组组装软件和技术来完成任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值