全长转录组-结构分析

作者:Arno
审稿:童蒙
编辑:angelica

引言

Iso-seq测序经初步分析获得高质量的转录本之后(全长转录本鉴定,全长转录本比对),便可以对转录本的结构进行精确鉴定、注释。本次小编通过结合一个全长转录本后续分析的工具集Cupcake的使用方法,来给大家介绍一下Iso-seq测序得到高质量转录本之后的一些分析。


1. Cupcake安装

在介绍Iso-seq后续分析之前,先来看一下Cupcake如何安装使用。

Cupcake是一个Python和R脚本的合集,可直接通过python的形式安装,其安装方法可以参考下方代码,目前均支持python2和python3版本,以下示例均基于python2版本。

git clone https://github.com/Magdoll/cDNA_Cupcake.git
#export PATH=$PATH:/sequence/
#export PATH=$PATH:/rarefaction/
cd cDNA_Cupcake
#git checkout -b tofu2 tofu2_v21
python setup.py build
python setup.py install

2. 转录本去冗余

Iso-seq测序后经过smrtlink和IsoSeq3软件进行全长转录本鉴定后(cluster&polish),就获得了高质量的转录本(hq.isoform.fq)。这些高质量转录本均为全长非嵌合的高质量转录本(包含polyA,准确率>=0.99,至少2个全长序列支持),但是因为IsoSeq3的聚类算法的敏感性和特异性,以及天然RNA5‘端的易降解的特性,得到的高质量转录本中仍然存在冗余的转录本,所以需要进一步去除。

可使用Cupcake的“collapse_isoforms_by_sam.py”脚本,具体代码以及说明可参考如下:

python ~/software/Python-2.7.8/bin/collapse_isoforms_by_sam.py --input sample.hq.fasta \
    --dun-merge-5-shorter --sam sample.sort.sam --prefix sample_name --min-coverage 0.85 \
    --min-identity 0.95 2>sample.collapse_isoforms.log
# --min-coverage --min-identity 为去冗余时的覆盖率和一致性,默认为0.99和0.85可根据实际情况调整
# --dun-merge-5-shorter
# 得到的结果中sample.collapsed.group.txt为记录合并冗余后的转录本信息,转录本格式为:PB..
# sample.ignored_ids.txt为去除的转录本信息
# sample.collapsed.rep.fq和sample.collapsed.gff分别为非冗余的转录本序列及其gff文件   

此种去冗余方式是针对的有参考基因组序列的样本,需要用到跟参考基因组比对的Sam文件,如果没有参考基因组,可以使用CD-HIT对序列进行聚类去冗余,具体方式可参考:https://github.com/Magdoll/cDNA_Cupcake/wiki/Tutorial:-Collapse-redundant-isoforms-without-genome

3. 转录本定量

得到unique的转录本之后,再结合前边聚类分析得到report文件cluster_report.csv是可以计算出来每个unique转录本的count数目的,Cupcake提供了计算的脚本。但是目前PacBio测序得到的CCS对于做定量来说数据还是不太够的,建议用ONT平台测序的数据去做定量,ONT的数据reads足够长,数据量足够多的。

python ~/software/Python-2.7.8/bin/get_abundance_post_collapse.py sample.collapsed sample.cluster_report.csv
#  sample.collapsed为样本去冗余后的文件前缀名称

4. 过滤5'端降解的转录本

去完冗余之后的转录本仍然存在一部分转录本比对到参考基因组的位置一致,但5'端长度不一致的转录本,这种情况是因为建库过程中,使用的cDNA试剂盒并不会对5'端进行加帽处理,所以再整个过程中很可能会发生5'端的降解,而发生降解的这些转录本是没有任何生物学意义的,所以可以将5'端降解的转录本过滤掉,再用于后续的分析。过滤也可以使用Cupcake工具包提供的脚本。

python ~/software/Python-2.7.8/bin/filter_away_subset.py sample.collapsed
# sample.collapsed为样本去冗余后的文件前缀名称
# 得到输出结果文件sample.collapsed.filtered.gff, sample.collapsed.filtered.abundance.txt,
# sample.collapsed.filtered.rep.fq

5. 融合基因分析

基因融合在基因组层面上可能由于基因组变异(染色体易位、中间缺失、染色体倒位)使得两个不同基因的部分序列或全部序列融合到一起,形成一个新的基因,可能表达也可能不表达;转录组层面上可能由于两个基因转录产生的RNA,由于某种原因融合在一起,形成新的融合RNA,当然该RNA可能编码蛋白也可能不编码蛋白。
对于Iso-seq测序得到的转录本数据,寻找融合基因,可以采用Cupcake 中的“fusion_finder.py” 这个脚本进行,鉴定的默认标准有如下4点:

  1. 比对到2个或更多位置;
  2. 比对到的每一个位置至少覆盖5%的转录本;
  3. 融合转录本(各个位置的相加)比对率至少99%以上;
  4. 每一个比对位置的距离至少10kb以上。
## Best practice for fusion transcript finding
 ## https://github.com/Magdoll/cDNA_Cupcake/wiki/Best-practice-for-fusion-transcript-finding
 gmap -D [dir] -d hg38 -f samse -n 0 input.fasta > input.fasta.gmap.sam
 minimap2 -ax splice -uf --secondary=no hg38.fa input.fasta > input.fasta.minimap2.sam
 
 sort -k 3,3 -k 4,4n input.fasta.minimap2.sam > input.fasta.minimap2.sorted.sam
 fusion_finder.py --input input.fasta -s input.fasta.minimap2.sorted.sam \
     --cluster_report cluster_report.csv \
      -o output.fusion \
     --min_locus_coverage_bp 500 -d 1000000

6. 结语

除了我们介绍的,Cupcake有很多强大的cDNA序列分析功能,关于其详细的介绍可以查阅其githup仓库:https://github.com/Magdoll/cDNA_Cupcake 。

你可能感兴趣的:(全长转录组-结构分析)