三代测序

全长转录组 | 三代全长转录组分析流程(PacBio & ONT

2024-02-20  本文已影响0人  三代测序说

今天我们介绍一款使用三代全长转录本数据进行转录本注释和定量的工具 - IsoQuant。2023年1月2日,康奈尔大学医学院Hagen U. Tilgner团队和圣彼得堡国立大学Andrey D. Prjibelski团队合作在Nature Biotechnology(NBT)杂志发表题为 “Accurate isoform discovery with IsoQuant using long reads” 的文章 (图1)。作者开发了 IsoQuant---- 一款使用内含子图(intron graphs)的计算工具,在有参考基因组注释或者无参的情况下能够利用长度长序列准确重构转录本。对于新的转录本发现,IsoQuant 使Oxford Nanopore(ONT)数据在有参或无参模式下的假阳性率分别降低了5倍和2.5倍。IsoQuant 同时也提高了Pacific Biosciences数据的性能。

图1. IsoQuant文章

一、软件介绍

IsoQuant 是一款基于基因组的长RNA序列(全长RNA)分析软件,适用于长度长三代测序平台,比如PacBio和Oxford Nanopores. IsoQuant 能对转录本进行重构以及定性,并且具有较高的精准度和召回率。如果提供参考基因组,IsoQuant 能根据注释文件中转录本内含子和外显子的结构将长度长测序序列回贴到注释的转录本上。IsoQuant 还能进一步对注释基因,转录本(isoform),外显子和内含子进行定量。如果序列是分组的(比如根据细胞类型),其能根据分组进行定量。

IsoQuant 分析流程由两个阶段组成(图2),第一阶段基于参考基因组注释,第二阶段为新转录本的发现,每一阶段都产生相应的输出文件:

图2. IsoQuant分析流程

二、软件安装

IsoQuant githubhttps://github.com/ablab/IsoQuant
版本:v3.3.1

1. conda安装IsoQuant

#直接使用conda安装
$ conda install -c bioconda isoquant

# 为IsoQuant单独创建conda环境
$ conda create -c conda-forge -c bioconda -n isoquant python=3.8 isoquant
# 激活IsoQuant的conda环境
$ conda activate isoquant
图3. IsoQuant安装

2. 测试IsoQuant是否安装成功

$ isoquant.py --test

IsoQuant利用自带数据进行软件的测试,如果最后显示IsoQuant pipeline finishedTEST PASSED CORRECTLY,则证明安装成功(图4)。

=== IsoQuant pipeline finished ===
=== TEST PASSED CORRECTLY ===
图4. IsoQuant测试流程

三、软件使用

1. 支持输入文件类型

IsoQuant支持各种长RNA序列的数据:

序列(reads)输入文件必须是FASTQFASTA格式(可以是压缩格式 .gz). 如果序列(reads)已经比对(align)参考基因组,可以提供经过排序和索引的.bam文件。

对于参考基因组及注释相关文件的要求:

2. IsoQuant输入文件

IsoQuant 支持提供Illumina短读长序列来对长度长比对回贴(alignments)进行矫正。

IsoQuant 可以同时处理来自不同实验的数据,每一个实验可包含多个样本(或重复),每一个实验分组将单独处理。同时处理多个实验的数据等同于多个IsoQuant程序单独多次分开跑。

每个实验组的输出文件将单独生成一个文件夹。来自同一个实验组的数据会生成一个合并的GTF文件和丰度表。如果一个实验组包含多个样本/重复,每个样本的丰度表也会输出。

通过命令行指定输入文件
通过--fastq--bam指定输入文件,多个文件用空格隔开。所有提供文件被认定为来自同一个实验组,意味着只产生一个总的GTF。使用--label标记样本名称,并使用空格分隔。样本名称数量必须等于提供序列文件数量。

通过yaml文件指定输入文件
指定输入三代数据文件路径,名称和不同实验(批次),匹配的二代测序数据;可以通过编辑一个YAML文件,使用--yaml命令,例如:

[
  data format: "fastq",
  {
    name: "Experiment1",
    long read files: [
      "/PATH/TO/FILE1.fastq",
      "/PATH/TO/FILE2.fastq"
    ],
    labels: [
      "Sample1",
      "Sample2"
    ],
    illumina bam: ["PATH/TO/ILLUMINA1.bam"]
  },
  {
    name: "Experiment2",
    long read files: [
      "/PATH/TO/FILE3.fastq"
    ],
    illumina bam: ["PATH/TO/ILLUMINA2.bam"]
  }
]

所以,如果想指定不同实验(批次),就必须使用YAML文件。

3. IsoQuant命令行选项

这里只对一些重要的常用的参数进行描述。

--data_type-d: pacbio_ccs (同pacbio)用于PacBio数据;nanpore(同ont)用于Oxford Nanopore数据;assmbly (同transcripts); 这些选项会影响算法参数(algorithm parameters)。

--reference-r:指定参考基因组,FASTA格式。

--genedb:指定参考基因组注释文件,GTF/GFF格式(可以是压缩.gz),官方注释文件建议加上--complete_genedb

--complete_genedb: 指定参考基因组注释文件,包含基因和转录本的信息。例如GENCODE官方注释文件, GTF/GFF格式。

--squanti_output: 输出SQUANTI软件类似的输出文件,只有当提供注释文件时才生效。

--check_canonical:报告序列或组装的新转录本是否有非经典剪切位点(此过程会相对耗时)。

--count_exons:除了对基因和转录本进行计数,对外显子和内含子也计数,只有当提供注释文件时才生效。

关于转录本定量(isoform)
--transcript_quantification:with_ambiguous(默认),当一条reads同时比对上两个转录本,则每个转录本各记1/2;unique_only,只有唯一匹配转录本的reads才用于计数定量。

关于基因定量
--gene_quantification:with_inconsistent(默认),只比对到一个基因的上的reads用来计数,可以不和基因的转录本一致;unique_only,唯一比对到基因,并且和基因的任意一条转录本匹配。

4. IsoQuant运行命令示例

$ isoquant.py -d nanopore --bam ONT.cDNA_1.bam ONT.cDNA_2.bam ONT.cDNA_3.bam \
 --reference reference.fasta --genedb annotation.gtf --complete_genedb --output output_dir
 --predix ONT_3samples --labels A1 A2 A3
$ isoquant.py -d nanopore --yaml dataset.yaml  \
 --complete_genedb --genedb genes.gtf \
 --reference reference.fasta --output output_dir

yaml 文件内容 :

[
  data format: "fastq",
  {
    name: "Experiment1",
    long read files: [
      "/PATH/TO/SAMPLE1/file1.fastq",
      "/PATH/TO/SAMPLE1/file2.fastq",
      "/PATH/TO/SAMPLE1/file3.fastq"
    ],
    labels: [
      "Replicate1",
      "Replicate2",
      "Replicate3"
    ]
  },
  {
    name: "Experiment1",
    long read files: [
      "/PATH/TO/SAMPLE2/file1.fastq",
      "/PATH/TO/SAMPLE2/file2.fastq",
      "/PATH/TO/SAMPLE2/file3.fastq"
    ],
    labels: [
      "Replicate1",
      "Replicate2",
      "Replicate3"
    ]
  }
]
$ isoquant.py -d pacbio_ccs --fl_data --fastq CCS.fastq \
 --reference reference.fasta --genedb genes.gtf --output output_dir

关于Full length全长序列,PacBio可通过isoseq软件获得,具体参考全长转录组 | Iso-Seq 三代测序数据分析流程 (PacBio) ;ONT可通过pychopper软件获得,具体参考全长转录组 | Oxford Nanopore (ONT) 三代全长转录组分析流程 -- 数据质控和预处理

更多的输入参数组合请参考IsoQuant github官网的使用说明文档。

5. IsoQuant输出文件

1)基于参考基因组分析结果

2)基于新转录本发现(transcript discovery)分析结果

文件名一般带有transcript_model

更多的输出文件格式解读请参考IsoQuant github官网的使用说明文档。

参考文献

  1. Prjibelski, A. D., Mikheenko, A., Joglekar, A., Smetanin, A., Jarroux, J., Lapidus, A. L., & Tilgner, H. U. (2023). Accurate isoform discovery with IsoQuant using long reads. Nature Biotechnology.

2.IsoQuant github : https://github.com/ablab/IsoQuant

上一篇下一篇

猜你喜欢

热点阅读