star-fusion得到的融合基因結果還需要可視化哦

  • 2019 年 11 月 22 日
  • 筆記

我們多次在生信技能樹公眾號介紹 過star-fusion這個目前最好的針對RNA-seq測序數據找融合基因的軟件::最好用的融合基因查找工具終於正式發表了 ,還有一個踩過的坑需要注意:一個好像沒有做任何改變的參數 但是關於融合基因的後續生物學介紹我們說的不夠,現在就帶領大家仔細理解一下star-fusion軟件的結果!

我們的示例項目得到的結果,按照JunctionReadCount排序如下:

#FusionName    JunctionReadCount   SpanningFragCount  FGFR3--TACC3    773 1087  IGL-@-ext--PRAMENP    216 1343  IGL-@--PRAMENP    216 1343  IPO7--LINC02489    186 1724  PPFIA1--TSGA10IP    141 213  RNF121--COBL    125 6  [email protected]    121 0  [email protected]    121 0  IGL-@-ext--FLOT2    108 1  IGL-@--FLOT2    108 1  

按照SpanningFragCount排序如下:

IPO7--LINC02489    186 1724  IGL-@-ext--PRAMENP    216 1343  IGL-@--PRAMENP    216 1343  FGFR3--TACC3    773 1087  NFKB2--AC025062.3    82  770  IGL-@-ext--PRAMENP    25  366  IGL-@--PRAMENP    25  366  FOXP1--IGL@-ext    9   345  FOXP1--IGL@-ext    28  345  FOXP1--IGL@-ext    27  345  

其中FGFR3–TACC3這個融合基因事件我們比較熟悉了,就拿它為例子講解如何理解這個融合現象, 首先查看具體信息:

FGFR3--TACC3    773 1087    ONLY_REF_SPLICE  FGFR3^ENSG00000068078.18    chr4:1806934:+  TACC3^ENSG00000013810.19    chr4:1735731:+  YES_LDAS    33.6089 GT  1.8892  AG  1.9656  # 下面的是FusionAnnotator (bundled with STAR-Fusion)注釋結果的整合  ["Cosmic","ChimerPub","YOSHIHARA_TCGA","TumorFusionsNAR2018",  "ChimerKB","ChimerSeq","CCLE_StarF2019","TCGA_StarF2019",  "GUO2018CR_TCGA","Klijn_CellLines","INTRACHROMOSOMAL[chr4:0.05Mb]",  "LOCAL_REARRANGEMENT:+:[48117]"]  

可以看到4號染色體的兩個臨近基因的融合

首先IGV可視化

得到的結果通常是需要可視化,如果我們單獨的IGV可視化FGFR3基因如下:

如果我們單獨的IGV可視化TACC3基因如下:

可以看到這兩個基因都有點長, 我們的NGS測序也就100bp罷了,它們兩個基因都是幾十個Kb長度。所以這樣是無法瀏覽融合事件的,需要採用高級工具,比如FusionInspector

然後使用FusionInspector仔細檢查

它雖然說是star-fusion御用小工具,但不限於star-fusion的融合事件的檢查,可以是其它一系列軟件出來的融合基因結果,包括:Prada, FusionCatcher, SoapFuse, TophatFusion, DISCASM/GMAP-Fusion, STAR-Fusion, or other), 的檢查。因為它的輸入數據要求很簡單,就是兩個基因的融合關係,如下:

B3GNT1--NPSR1  ZNF709--DYRK1A  ZNF844--NCBP2  RBX1--HAPLN2  FAM180B--TRIM60  CASP9--ADCYAP1  HS3ST3A1--C1QTNF2  OPTC--AP000347.4  GRIA2--ZW10  

運行FusionInspector工具:

conda install -c bioconda fusion-inspector    bin_star='~/biosoft/STAR-2.7.3a/bin/Linux_x86_64/STAR'  lib='~/biosoft/starFusion/db/GRCh38_gencode_v31_CTAT_lib_Oct012019.plug-n-play/ctat_genome_lib_build_dir/'  FusionInspector  --fusions SRR2016940_fusionList.txt   -O SRR2016940  --genome_lib $lib    --left_fq ~/clean/SRR2016940_1_val_1.fq.gz     --right_fq  ~/clean/SRR2016940_2_val_2.fq.gz   --out_prefix finspector   --vis  

FusionInspector工具其實是一個打包好的流程,中間過程太多,而且大多數是perl代碼,就不一一介紹了,其中最後居然是使用 create_fusion_report.py 這個python代碼出報告。如果你沒有安裝 https://github.com/FusionInspector/fusion-reports 工具,就會報錯:

cd ~/miniconda3/envs/rna/share/fusion-inspector-2.2.1-0/fusion-reports/  git clone https://github.com/FusionInspector/fusion-reports.git  pip install igv_reports    ~/miniconda3/envs/rna/share/fusion-inspector-2.2.1-0/fusion-reports/create_fusion_report.py   --html_template ~/miniconda3/envs/rna/share/fusion-inspector-2.2.1-0/util/fusion_report_html_template/igvjs_fusion.html   --fusions_json ~/fusion/FI/finspector.fusion_inspector_web.json   --input_file_prefix finspector   --html_output ~/fusion/FI/finspector.fusion_inspector_web.html  

沒有html報告問題不大,我們可以把數據文件載入到IGV自己進行可視化,需要下面的4個文件:

finspector.fa : the candidate fusion-gene contigs (if you copy things elsewhere, make sure to als copy the index file finspector.fa.fai)  finspector.bed : the reference gene structure annotations for fusion partners  finspector.junction_reads.bam : alignments of the breakpoint-junction supporting reads.  finspector.spanning_reads.bam : alignments of the breakpoint-spanning paired-end reads.  

載入IGV即可,當然了,這個時候需要對IGV有一點認識才行!

如果要批量檢驗全部樣本的star-fusion結果呢

就需要寫自動化批量處理的腳本了。這個很難哦,感覺寫出來了能看懂的也不多,就算了吧!需要認真學好linux,參考我在 《生信分析人員如何系統入門Linux(2019更新版)》 設定的linux入門6個階段 ,一般來說,每個階段都需要至少一天以上的學習:

  • 第1階段:把linux系統玩得跟Windows或者MacOS那樣的桌面操作系統一樣順暢,主要目的就是去可視化,熟悉黑白命令行界面,可以僅僅以鍵盤交互模式完成常規文件夾及文件管理工作。
  • 第2階段:做到文本文件的表格化處理,類似於以鍵盤交互模式完成Excel表格的排序、計數、篩選、去冗餘,查找,切割,替換,合併,補齊,熟練掌握awk,sed,grep這文本處理的三駕馬車。
  • 第3階段:元字符,通配符及shell中的各種擴展,從此linux操作不在神秘!
  • 第4階段:高級目錄管理:軟硬鏈接,絕對路徑和相對路徑,環境變量
  • 第5階段:任務提交及批處理,腳本編寫解放你的雙手
  • 第6階段:軟件安裝及conda管理,讓linux系統實用性放飛自我