全長轉錄組 | Iso-Seq 三代測序數據分析流程 (PacBio) (2)-- pigeon

通過isoseq collapsepigeon,我們最終能得到帶有基因注釋的表達矩陣,后續基因的差異分析,差異基因的KEGG注釋等都和二代RNA-seq類似了。

Isoseq 數據分析第一部分我們最后使用了isoseq cluster 獲得了聚類后高質量的轉錄本,但是我們仍然不知道這些經過聚類的轉錄本在基因組的位置以及屬于哪些基因?這些轉錄本是已經注釋的還是新的isoform?每個聚類是否能夠進一步合并?每個isoform的表達量情況?下面我們通過使用isoseq collapsepigeon對轉錄本(isoforms)進行在參考基因組指導下的進一步合并(collapse)注釋分類定量。

一、Iso-Seq Collapse

isoseq cluster完成以后,我們首先需要將高質量全長isoforms回貼到參考基因組上,然后進行isoseq collapse

圖1. Map and Collapse

加上--do-not-allow-extra-5exons和默認條件下Isoforms合并原則 (圖2)。

圖2. 5'端外顯子合并原則

下面三種參數下的合并(collapse)原則(圖3):
--max-fuzzy-junction INT Ignore mismatches or indels shorter than or equal to N. [5]
--max-5p-diff INT Maximum allowed 5' difference if on same exon. [50]
--max-3p-diff INT Maximum allowed 3' difference if on same exon. [100]

圖3. Collapse Maximum 5p/3p Differences
  • 下載參考基因組
    這里我們使用gencode版的人類參考基因組作為示例,任何版本的參考基因組原理類似。按照圖4所示下載相應的人類參考基因組以及注釋文件,并重新命名為GRCh38.faGRCh38.gtf。
圖4. 人類參考基因組和注釋文件的下載

單個樣本數據示例

  • pbmm2回貼轉錄本,map reads using pbmm2
# 建立參考基因組文件夾,并將參考基因組和注釋文件放入其中
$ mkdir human_ref
#參考序列建立索引
$ pbmm2 index GRCh38.fa GRCh38.mmi

# 單個樣本數據示例

$ pbmm2 align --preset ISOSEQ --sort <input.bam> <ref.fa> <mapped.bam>  #使用說明

$ pbmm2 align --preset ISOSEQ --sort human_80K.transcripts.bam human_ref/GRCh38.fa human_80K.mapped.bam
  • 對回貼轉錄本進行collapse, collapse mapped reads into unique isoforms
# 單個樣本數據示例
$ isoseq collapse --do-not-collapse-extra-5exons <mapped.bam> <flnc.bam> <collapsed.gff>  #使用說明
$ isoseq collapse --do-not-collapse-extra-5exons human_80K.mapped.bam human_80K.flnc.bam human_80K.collapsed.gff

多樣本或者混樣數據示例

一個樣本不同組織間的混樣用以注釋物種Isoforms時,可以合并成一個樣本,按照單個樣本數據來注釋分析。

如果是多樣本,后期需要做定量或差異表達分析的話,如果沒有樣本名稱的話(bam文件中 SM tag為樣本名稱),需要在lima拆分或者去除primers的時候將每個樣本重新命名,這樣*collapsed.flnc_count.txt才會將每個樣本的每個轉錄本數量給統計出來。*collapsed.flnc_count.txt文件里的矩陣,可以用于差異表達分析,如DeSeq2,的輸入文件(轉錄本還未注釋)。下面代碼展示了樣本重新命名的步驟:

# lima拆barcode和樣本重命名
$ lima --isoseq m64307e_230628_025302.hifi_reads.bam IsoSeq_v2_primers_12.fasta UHRR.fl.bam --biosample-csv samplenames.csv --overwrite-biosample-names 
# --biosample-csv samplenames.csv --overwrite-biosample-names 要一起使用才能修改樣本名稱。
#samtools view -H  x.bam   檢查SM tag

# Combine inputs
$ ls UHRR.fl.IsoSeqX*bam > all.fofn

# Remove poly(A) tails and concatemer
$ isoseq refine all.fofn IsoSeq_v2_primers_12.fasta UHRR.flnc.bam --require-polya

#cluster,轉錄本聚類
$ isoseq cluster2 UHRR.flnc.bam UHRR.transcripts.bam

#pbmm2回貼轉錄本,map reads using pbmm2
$ pbmm2 align --preset ISOSEQ --sort UHRR.transcripts.bam human_ref/GRCh38.fa UHRR.mapped.bam

#對回貼轉錄本進行collapse, collapse mapped reads into unique isoforms
$ isoseq collapse --do-not-collapse-extra-5exons UHRR.mapped.bam UHRR.flnc.bam UHRR.collapsed.gff

二、Pigeon使用方法

Pigeon是一個PacBio轉錄工具包,包含了用于將全長轉錄本isoforms按照參考基因組注釋進行分類和過濾的工具。Pigeon基于SQANTI3開發,其輸出與單細胞Seurat軟件下游分析兼容。

官方網站https://isoseq.how/classification/pigeon.html

  • 軟件安裝:
$ conda install -c bioconda pbpigeon
  • 準備參考基因組文件:
#使用說明
$ pigeon prepare <gencode.annotation.gtf> <reference.fa> <cage.bed> <intropolis.tsv>

#實際運行
$ pigeon prepare human_ref/GRCh38.gtf human_ref/GRCh38.fa
  • 準備轉錄本注釋(transcript GFF)文件 ,isoseq collapse 輸出文件:
#使用說明
$ pigeon prepare <collapsed.gff>

#實際運行
$ pigeon prepare UHRR.collapsed.gff

Isoforms 歸類 (Classify Isoforms)

  • 轉錄本分類(Transcript classification)
#使用說明
$ pigeon classify <collapsed.sorted.gff> <annotations.gtf> <reference.fa> --cage-peak refTSS.bed --poly-a polyA.list

#實際運行
$ pigeon classify UHRR.collapsed.sorted.gff human_ref/GRCh38.sorted.gtf human_ref/GRCh38.fa

測序聚類所得的轉錄本根據參考基因組注釋文件進行以下分類(圖5),分類標準參照SQANTI3

  1. FSM (Full Splice Match)
  2. ISM (Incomplete Splice Match)
  3. NIC (Novel In Catalog)
  4. NNC (Novel Not in Catalog)
  5. Antisense
  6. Genic Intron
  7. Genic Genomic
  8. Intergenic
圖5. 轉錄本分類
  • 將FLNC定量結果加入到分類文件中(Adding FLNC counts to classification output)
#使用說明
$ pigeon classify <collapsed.sorted.gff> <annotations.gtf> <reference.fa> --fl abundance.txt

#實際運行
$ pigeon classify UHRR.collapsed.sorted.gff human_ref/GRCh38.sorted.gtf human_ref/GRCh38.fa --fl UHRR.collapsed.flnc_count.txt

有了基因注釋的表達矩陣(*_classification.txt)就可以愉快的去做差異表達分析了!

Isoforms 過濾 (Filter isoforms)

#使用說明
$ pigeon filter <classification.txt>

#實際運行
$ pigeon filter UHRR_classification.txt

如果想生成過濾后的.gff文件,需要輸入 collapsed.sorted.gff

#使用說明
$ pigeon filter <classification.txt> --isoforms <collapsed.sorted.gff>

#實際運行
$ pigeon filter UHRR_classification.txt --isoforms UHRR.collapsed.sorted.gff

參考文獻

  1. Transcript Classification
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容