TAPIS使用筆記
作者:Hector Zou
TAPIS(Transriptome AnalysisPipeline from Isoform Sequencing)是一款依賴Python2.7的,用於分析校正和比對長讀段、轉錄本聚類、新轉錄本和全長轉錄本可變剪切檢測以及鑒定分析poly(A)和可變poly(A)(APA)的一款軟體;發表於Nature Comunication 2016年6月的一篇關於高粱轉錄本可變剪切和可變Poly(A)的研究的文章[1]。目前,一些測序分析公司的全長轉錄組分析流程經常用到它。當前最新版本為2016年3月發布的1.2.1[2]。以下幾個是TAPIS的主要功能腳本:
alignPacBio.py用於將全長轉錄本回帖到基因組,依賴於軟體GMAP[3,4];
cleanAlignments.py清理bam中未回帖的長讀段;被alignPacBio.py調用;
convertSam.py調用samtools進行格式轉換、sort和index;被alignPacBio.py調用;
run_tapis.py分析可變剪切和APA。
筆者在使用的過程中發現一些問題,主要是alignPacBio.py的使用錯誤和run_tapis.py輸出結果要注意的問題。
(1)運行出現catDen_catenatum_v0814.fasta無法找到該命令,應該是alignPacBio.py的腳本出錯了。腳本中的cat後應該加上空格,即79行的prefix = 』cat』改成prefix = 』cat 』,如下圖所示。網上的腳本已經改正的了,但是不懂為什麼下載安裝後的是沒有改正的。
(2)運行alignPacBio.py出現以下圖中錯誤。cat: write error: Broken pipe …… (core dumped) gmap ……。
儘管錯誤中提及cat,這可能是由於下面的程序調用奔潰,使得cat的管道傳輸數據無處可傳而報錯。筆者為了找解決辦法,上Google和Bing苦找了很久,也沒找到答案。其實在TAPIS的issue頁中就有人曾提出過這個問題(https://bitbucket.org/comp_bio/tapis/issues/6/alignpacbiopy-error#comment-41299994),只不過其解決辦法卻是針對上面的一個問題。歷經四個多小時的查找,本來要放棄的。突然女神來臨,不能隨便放棄。嘗試去看看一個輸出日誌(下圖),發現錯誤的問題可能出現在內存分配上。我去(請看下圖紅框處),要分配「辣」么多內存,把筆者賣了也湊不到這麼大的內存空間。筆者的機器128G,PC中已經算「碉堡」的了,卻是「滴水」車薪。
alignPacBio.py的參數是無法限制或者分配內存的;那就去腳本裡面刮一下。發現其調用的gmap的參數中有一項是與內存分配相關的,即--expand-offsets,如圖。
當--expand-offsets設置為的時候,gmap運行慢,節省內存。
當--expand-offsets設置為1的時候,gmap運行加快,需要大量的內存,也就是用空間換時間的「把戲」;這是alignPacBio.py調用gmap所採用的默認參數。
嘗試把alignPacBio.py中的--expand-offsets設置為後,該腳本正常運行。
(3)run_tapis.py輸出的assembly.gtf中的CDS是錯誤的,應該丟棄,不要迷信軟體的輸出結果。生成CDS的話,可以用Transdecoder [5]。
Reference
[1] 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.
[2]https://bitbucket.org/comp_bio/tapis
[3]Thomas D. Wu and Colin K. Watanabe GMAP:a genomic mapping and alignment program for mRNA and EST sequences. Bioinformatics,2005 21:1859-1875.
[4]Thomas D. Wu andSerban Nacu. Fast and SNP-tolerant detection of complex variants and splicingin short reads. Bioinformatics, 2010 26:873-881.
TAG:少女泰山 |