全长转录本结构分析(下)
全长转录本结构分析(下)
前面我们介绍了PacBio三代全长转录组测序相关的全长转录本鉴定、全长转录本比对、全长转录本结构分析上篇。
今天我们继续介绍包括新转录本鉴定、可变剪切以及可变多聚腺苷酸化APA等全长转录本结构分析。
新转录本鉴定
通过将去除冗余后的unique转录本与参考基因组进行比较,可以对转录本进行结构注释,从而可以发现新的未知的转录本。
MatchAnnot软件是一款可以将比对结果跟注释文件或者注释文件和注释文件进行比较的Python软件,可以鉴定已知和新的全长转录本,同时基于其输出结果还可以进行基因的可视化。下面我们看看具体怎么使用。
1. 比对
## step1. 比对(可以使用gmap或minimap2均可)
gmap -D [dir] -d hg38 -f samse -n 0 sample.hq.fasta > sample.raw.sam
minimap2 -ax splice -uf --secondary=no hg38.fa sample.hq.fasta > sample.raw.sam
samtools view -bS -o sample.raw.bam sample.raw.sam
samtools sort -@ 8 sample.raw.bam ./sample
/samtools index sample.bam
samtools view -h sample.bam sample.sam
2. 运行MatchAnnot
得到排序后的sam文件后,进行MatchAnnot分析。MatchAnnot会对三代测序到转录本,逐个exon进行分析,找出注释文件中对应的所有转录本,以及新发现的转录本。具体的输出文件解读或格式,可以参考:
https://github.com/TomSkelly/MatchAnnot/wiki/How-to-Interpret-matchAnnot-Output
## step2. MatchAnnot
python ~/MatchAnnot-master/matchAnnot.py --gtf hg38.gtf --format alt sample.sam --outpickle sample.pick >sample.matchAnnot.xls
# --format gtf的格式默认为GENCODE标准的GTF格式,同时也支持alternate format(包含更多信息的gtf格式)或者python的pickle格式
# --outpickle 如果需要进行后续的可视化,需要输出pickle格式
# 输入的Sam文件需要是按照染色体排序的
3. 结果可视化
## step3 clusterView
python ~/MatchAnnot-master/clusterView.py --gtf hg38.gtf --format alt \
--gene=target_gene --matches sample.pickle --output target_gene.png \
--title "target gene"
可变剪切鉴定
真核生物中,基因转录产生的mRNA前体可以通过外显子跳跃、内含子保留等不同的剪切形式产生多种转录本异构体(isoforms),大大增加了转录本多样性。全长转录组测序凭借读长优势,能够直接获得由5’端至3’端poly(A)尾的完整mRNA序列,从而可以准确鉴定基因的不同剪切形式的转录本。
可变剪切(Alternative splicing),通常可以划分以下几种常规类型:
外显子跳跃(Skipped exon, SE)
5'端可变外显子(Alternative 5’ splice site, A5SS)
3'端可变外显子(Alternative 3’ splice site, A3SS)
内含子保留(Intron Retention, IR)
互斥外显子(Mutually Exclusive Exons, MEE)
除此常规类型之外,还有可变转录起始位点、可变转录终止位点等类型。总之,基因的可变剪切形式多种多样,从而导致转录本和蛋白结构与功能的多态性,是一种重要的调控机制。
目前常见的全长转录本的可变剪切分析工具有:
SpliceMap-LSC-IDP pipeline SUPPA2 AStalavista等。
AStalavista相较SpliceMap-LSC-IDP pipeline工具检出效率要高很多,建议大家使用AStalavista。
AStalavista(alternative splicing and transcriptional landscape visualization)工具的分析,基于鉴定的转录本的gtf注释文件,可以在线(http://astalavista.sammeth.net/ )或者本地命令行两种使用形式,使用简单方便。其中,本地命令行执行方式可参考如下:
~/AStalavista/astalavista-4.0/bin/astalavista -t asta -i sample.transcript.gtf --threads 2 -o result.gtf 1>./astalavista.o 2>&1
## -t 指定astalavista使用的分析工具,默认为asta,进行可变剪切事件鉴定,另外还可以使用sortBED、sortGTF、subsetter等工具
## -i 输入文件
## --threads使用线程数
## 结果输出形式为gtf形式,其中structure部分,分别用数字、"^","-"符号表示可变剪切发生的相对位置、供体和受体位点。如'0,1-2^'代表SE类型;'1-,2-'代表A3SS类型;'1^,2^'代表A5SS类型;'1-2^,3-4^'代表MXE类型;'0,1^2-'代表IR类型等。
SUPPA2软件也可基于全长转录本gtf文件进行可变剪切事件鉴定,同时可以基于二代数据,进行可变剪切定量以及差异可变剪切分析,功能比较强大。
## step1. 基于二代数据进行转录本定量
~/salmon/bin/salmon index -t unigene.fa -i unigene_index
~/salmon/bin/salmon quant -i unigene_index -l ISF --gcBias -1 R1.fq -2 R2.fq -p 4 -o sample
python ~/SUPPA/multipleFieldSelection.py -i ~/Salmon_output/*/quant.sf -k 1 -f 4 -o sample_tpm.txt ## 整理salmon结果
## step2. 使用generateEvents命令根据全长转录本gtf文件生成所有的可变剪切事件,结果为ioe格式
python ~/SUPPA/suppa.py generateEvents -i unigene.transcript.gtf -o sample.events -e SE SS MX RI FL -f ioe
### -i 输入的gtf文件
### -o 输出的文件前缀
### -e 输出可变剪切的类型
### -f 设置输出格式,将不同的可变剪切事件合并成一个结果
## step3. 计算PSI值,结果为.psi格式
python ~/SUPPA/suppa.py psiPerEvent -i sample.events.ioe -e sample_tpm.txt -o sample_events
## step4. 两个样本间的差异分析,结果为.dpsi格式
python ~/SUPPA/suppa.py diffSplice -m empirical -gc -i unigene.transcript.gtf -p sample1_events.psi sample2_events.psi -e sample1_tpm.txt sample2_tpm.txt -o sample_diffSplice
## step5. 对可变剪切事件进行聚类分析
python ~/SUPPA/suppa.py clusterEvents --dpsi sample_diffSplice.dpsi --psivec sample.psivec --sig-threshold 0.05 --eps 0.2 --separation 0.11 -dt 0.2 --min-pts 10 --groups 1-2,4-6 -c OPTICS -o ./
可变多聚腺苷酸化APA分析
一般APA可以分为四种类型:
3’UTR APA:发生在末端外显子内,产生具有不同长度3’UTR的转录本,不影响蛋白编码功能,是最常见的APA形式; 可变末端外显子APA:这种APA产生了末端外显子不同的转录本,影响蛋白编码功能; 内含子APA:发生于在内含子区,延长了某个内部外显子并使之成为末端外显子; 内部外显子APA:在编码区域内部发生剪切和多聚腺苷酸化。
TAPIS(Transriptome AnalysisPipeline from Isoform Sequencing)可以用来做全长转录组可变剪切以及APA分析,研究者使用此软件研究了高粱的可变polyA。依赖于Python2.7,其可用于三代测序数据的纠错、比对、鉴定可变剪切以及识别APA位点,原理流程如下图所示。
其用于鉴定APA位点的使用方法可参考如下。
## step1 alignPacBio.py 将全长转录本回帖到基因组,依赖于Gmap软件比对
usage: alignPacBio.py [-h] [-v] [-i ITERATIONS] [-e EDR] [-o OUTDIR]
[-p PROCS] [-K MAXINTRON]
indexesDir indexName reference fasta
python alignPacBio.py -p 4 -o ./sample ~/Genome_Index ref ref.genome.fa sample.collapsed.hq.fa
# ~/Genome_Index 为GMAP软件比对建立的参考基因组索引所在文件夹
# ref 索引名称
# ref.genome.fa 索引序列
# sample.collapsed.hq.fa 去冗余的转录本
## step2 run_tapis.py 分析可变剪切和APA
usage: run_tapis.py [-h] [-v] [-p] [-o OUTDIR] [-t TRIMMAX] [-w W]
[-m MINDIST] [-s MINSUPPORT]
geneModel bamfile
python run_tapis.py -o ./sample ref.gtf ~/Sampe/aligned.bam
# 两个输入文件:参考基因组的注释文件以及前一步的比对结果
# 输出文件为 assembled.gtf 和 polyA_summary.csv 记录了每个基因polyA的个数以及位置
参考文献
1.Foissac S, Sammeth M (2007) ASTALAVISTA: dynamic and flexible analysis of alternative splicing events in custom gene datasets. Nucleic Acids Research 35 (Web Server issue): W297-299
2.https://github.com/comprna/SUPPA/wiki/SUPPA2-tutorial#differential-splicing-with-local-events
3.Abdel-Ghany,S. E., Hamilton, M., Jacobi, J. L., Ngam, P., Devitt, N., Schilkey, F.,Ben-Hur, A., and Reddy, A. S. N. A survey of the sorghum transcriptome usingsingle-molecule long reads. Nature Communications, 2016 7:11706.
4.https://github.com/TomSkelly/MatchAnnot/wiki/How-to-Interpret-matchAnnot-Output
作者:Arno
审稿:童蒙
编辑:angelica
往期精彩回顾