前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全长转录组 | 三代全长转录组分析流程(PacBio & ONT )-- IsoQuant

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

原创
作者头像
三代测序说
修改2024-02-22 17:37:27
4411
修改2024-02-22 17:37:27
举报
文章被收录于专栏:三代测序-说三代测序-说

今天我们介绍一款使用三代全长转录本数据进行转录本注释和定量的工具 - 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文章
图1. IsoQuant文章

一、软件介绍

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

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

  • 基于参考基因组注释的分析:只有提供参考注释文件时才运行。运行序列到转录本(isoform)的回贴,剪切位点校正,已知参考基因/转录本的定量。
  • 转录本的发现/鉴定:新转录本的重构和定量。
图2. IsoQuant分析流程
图2. IsoQuant分析流程

二、软件安装

IsoQuant githubhttps://github.com/ablab/IsoQuant

版本:v3.3.1

1. conda安装IsoQuant

代码语言:bash
复制
#直接使用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安装
图3. IsoQuant安装

2. 测试IsoQuant是否安装成功

代码语言:bash
复制
$ isoquant.py --test

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

代码语言:bash
复制
=== IsoQuant pipeline finished ===
=== TEST PASSED CORRECTLY ===
图4. IsoQuant测试流程
图4. IsoQuant测试流程

三、软件使用

1. 支持输入文件类型

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

  • PacBio CCS
  • ONT dRNA (direct RNA) / ONT cDNA
  • 组装/矫正过的转录本序列

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

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

  • 参考基因组需要以FASTA格式(可以是压缩格式 .gz)。参考基因组是必须要提供,即使比对好的.bam文件作为输入文件。
  • 参考基因组注释文件不是必须的,但是如果提供可以增加精确度和召回率。格式为GFF/GTF(可以是压缩的 .gz格式)。

2. IsoQuant输入文件

  • 长度长RNA序列 (PacBio或Oxford Nanopore):FASTA/FASTQSorted and indexed BAM
  • 参考基因组FASTA
  • 可选,参考基因组注释文件GTF/GFF

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

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

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

通过命令行指定输入文件

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

通过yaml文件指定输入文件

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

代码语言:bash
复制
[
  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命令行选项

  • Nanopore cDNA数据,一个实验的多个样本/重复;官方注释文件的gtf格式
代码语言:bash
复制
$ 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
  • Nanopore cDNA数据, 两个实验组,每组3个重复;官方注释文件的gtf格式
代码语言:bash
复制
$ isoquant.py -d nanopore --yaml dataset.yaml  \
 --complete_genedb --genedb genes.gtf \
 --reference reference.fasta --output output_dir

yaml 文件内容 :

代码语言:bash
复制
[
  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"
    ]
  }
]
  • PacBio FL (full length)数据,自定义注释文件
代码语言:bash
复制
$ 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)基于参考基因组分析结果

  • SAMPLE_ID.read_assignments.tsv - TSV file with read to isoform assignments;
  • SAMPLE_ID.corrected_reads.bed - BED file with corrected read alignments;
  • SAMPLE_ID.transcript_tpm.tsv - 转录本TPM表达矩阵;
  • SAMPLE_ID.transcript_counts.tsv - 转录本原始表达矩阵;
  • SAMPLE_ID.gene_tpm.tsv - 基因TPM表达矩阵;
  • SAMPLE_ID.gene_counts.tsv - 基因原始表达矩阵。

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

文件名一般带有transcript_model

  • SAMPLE_ID.transcript_models.gtf- 已知和新转录本的GTF文件 ;
  • SAMPLE_ID.transcript_model_reads.tsv - TSV file indicating which reads contributed to transcript models;
  • SAMPLE_ID.transcript_model_tpm.tsv - 转录本TPM表达矩阵 (corresponds to SAMPLE_ID.transcript_models.gtf);
  • SAMPLE_ID.transcript_model_counts.tsv - 转录本原始表达矩阵 (corresponds to SAMPLE_ID.transcript_models.gtf);
  • SAMPLE_ID.extended_annotation.gtf- GTF file with the entire reference annotation plus all discovered novel transcripts。

更多的输出文件格式解读请参考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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、软件介绍
  • 二、软件安装
    • 1. conda安装IsoQuant
      • 2. 测试IsoQuant是否安装成功
      • 三、软件使用
        • 1. 支持输入文件类型
          • 2. IsoQuant输入文件
            • 3. IsoQuant命令行选项
              • 4. IsoQuant命令行选项
                • 5. IsoQuant输出文件
                  • 参考文献
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档