微生物基因體核心研究室

Microbial Genomics Core Laboratory, Graduate Institute of Genomics and Bioinformatics, NCHU, Taiwan

blog

關於unicycler的兩三事

從散彈槍的FASTQ產出「一個圈圈」的好工具

Unicycler是一個用來進行細菌基因體散彈槍定序組裝的軟體流程(pipeline)。它的特性是在使用上很方便,可以處理多種不同的讀取序列(sequencing reads),如果你有Illumina的散彈槍短讀長序列(short reads),又能提供它來自PacBio或Nanopore的長序讀取序列(long reads),那麼Unicycler經常可以幫你很方便地產出高品質的組裝結果!許多細菌的基因體是單一環狀的DNA,使用Unicycler不止可以幫你把散彈槍序列組裝成一個大圈圈(通常質體也會裝出一個一個的小圈圈),它還會幫你把圈圈翻面翻正,並且找到染色體複製的起始點作為完整基因體序列的起點。Unicycler的github頁面在這裡:https://github.com/rrwick/Unicycler

除了使用上簡單便利,省掉了許多工作上的麻煩之外,它的輸入具有相當的彈性。如果你的散彈槍定序只有Illumina的短讀取資料的話,它可以透過優化的SPAdes流程來產生組裝結果。或者,如果你只有長讀取資料(PacBio或Nanopore)的話,Unicycler會靠miniasm和Racon來進行序列的組裝。而若是短讀取序列和長讀取序列的資料都有的話,這個軟體pipeline的混合組裝(也都是自動的)通常會讓你得到讓人驚艷的組裝結果。使用unicycler作散彈槍序列混合組裝的時候,對長序列的質與量要求似乎都不高。所以只要你有做(不需要太好)的長讀取序列定序,通常加上這些長序列,unicycler就可以讓你原本只靠短序列產出的組裝結果在完成度上獲得非常大的提升喔。

關於硬體

我們原本都是在跑Linux的工作站底下做組裝,但其實電腦硬體的規格還是要看你的分析軟體、還有資料量來決定,以細菌來說基因體雖小,如果你傻傻的拿五百倍或一千倍的散彈槍短序列去跑組裝,那麼當然會覺得電腦不夠跑(其實是腦袋不夠…)。現在我們在研究室都用iMac來跑散彈槍序列組裝(中低階的規格),蘋果教育商店的原廠規格就遠遠夠用了。

關於軟體安裝的方式

我們是用Anaconda來管理python的環境,Anaconda是開源的,它包含了許多常用的Python套件和工具,它會自動處理套件之間的依賴關係,並確保相容性。Anaconda還提供了Python的環境管理工具,可以方便地管理不同版本的Python和軟體套件。Anaconda可以在這裡下載:https://www.anaconda.com/distribution/

有了Anaconda,在Linux或Mac裡面安裝unicycler就很簡單了:https://anaconda.org/bioconda/unicycler

>conda install -c bioconda unicycler

短讀取序列與長讀取序列的混合組裝時,來自Illumina的fastq檔,要用壓縮過的.fastq.gz檔案,或者是.fastq都可以。因為是pair-end reads,你會有兩個這樣的短序列定序結果的檔案,通常檔名會寫像是read_1跟read_2這樣。長序列的話,以nanopore來說,就把basecalling之後的fastq檔案拿來,用cat指令加在一起(適量地)餵給他就好。下了像這樣的指令,稍等就好了:

>unicycler -1 short_reads_1.fastq.gz -2 short_reads_2.fastq.gz -l long_reads.fastq -o output_dir