關鍵詞:零基礎;葉綠體基因組;神器;國人佳作;一鍵成環。
軟件官網:https://github.com/Kinggerm/GetOrganelle
這款軟件是建軍和郁文彬老師開發的。個人有幸在去年年底見過兩位,也了解到 GetOrganelle 軟件,但一直沒有實際應用場景。
以前對某個物種的群體重測序數據做過一些類似的葉綠體基因組組裝工作,大體策略是使用近源物種葉綠體基因組為參考,進行有參考組裝。絕大部分情況下,組裝效果還是很不錯的。今次項目重要,也有成熟軟件可以選擇,故決定學習一下 GetOrganelle 軟件,爭取高質量完成這一項目。
安裝軟件
使用 conda 安裝,先創建一個環境
conda create -n getorganelle
激活環境,并安裝軟件,注意到,之前我已經配置好bioconda軟件源
conda activate getorganelle
conda install getorganelle
參考軟件官方說明,安裝完成后,需要下載參考序列庫
get_organelle_config.py --add embplant_pt,embplant_mt
發現依賴Bowtie2
沒有解決
conda install bowtie2
重新下載參考序列庫
get_organelle_config.py --add embplant_pt,embplant_mt
似乎還是一樣的報錯
ERROR: Bowtie2 is not available!
查看程序源碼
which get_organelle_config.py
vim ~/anaconda3/envs/getorganelle/bin/get_organelle_config.py
按照代碼,應該是可以拿到的
往下走,似乎是獲取版本號的問題,難道的bowtie2版本不對?
查了下官網說明,似乎沒有要求bowtie2的版本(?conda安裝時,不會自動檢測 bowtie2 依賴并解決?)
查看是如何檢測版本
好,找到了
具體看到腳本
vim /home/chengjie_chen/anaconda3/envs/getorganelle/lib/python3.6/site-packages/GetOrganelleLib/pipe_control_func.py
檢查了一圈,應該不存在環境問題
bowtie2調用的庫文件需要調整,嘗試軟連接庫,但似乎 12 不能應付 2 。更新一下試試
# 發現安裝的似乎2.3.5,升級一下試試
conda update bowtie2
沒問題了
重新下載參考序列庫
get_organelle_config.py --add embplant_pt,embplant_mt
正常開始下載了,不過不知道要下載多久。考慮直接本地下載后上傳,
# 注意到,其實可以本地 github 加速,20Mb+ 一下就下載完了
wget https://github.com/Kinggerm/GetOrganelleDB/releases/download/0.0.1/v0.0.1.tar.gz
tar -zxvf v0.0.1.tar.gz
get_organelle_config.py -a embplant_pt,embplant_mt --use-local ./0.0.1
運行Demo
參考官網說明,下載測試數據,正反向各8Mb
wget https://github.com/Kinggerm/GetOrganelleGallery/raw/master/Test/reads/Arabidopsis_simulated.1.fq.gz
wget https://github.com/Kinggerm/GetOrganelleGallery/raw/master/Test/reads/Arabidopsis_simulated.2.fq.gz
按照官網說明,60秒可以組裝好擬南芥這套數據
get_organelle_from_reads.py -1 Arabidopsis_simulated.1.fq.gz -2 Arabidopsis_simulated.2.fq.gz -t 1 -o Arabidopsis_simulated.plastome -F embplant_pt -R 10
主要輸出結果,
結果文件看起來有點復雜,沒時間折騰,截圖Manual。
查看 log 文件,看到有兩個完整組裝,即成環
上述圖片中,我們也可以看到有兩個.fasta文件,對應的,可以看看
看了下manual,了解了下質體組裝的內容,可以認為兩者都是正確組裝。使用時選擇一個常用的即可。只是常用的是哪一個?這是一個問題。對于研究較多的物種,應是可以參考;研究較少的,或許考慮做個多序列比對,mauve,mummer等,投票決定。
一個材料(注意就是一個植物或者一個葉片)中會同時存在兩種組裝,見文獻
Palmer, J. Chloroplast DNA exists in two orientations. Nature 301, 92–93 (1983). https://doi.org/10.1038/301092a0
運行實際測試數據
開 20 個線程試試
get_organelle_from_reads.py -1 108.r1.fq.gz -2 108.r2.fq.gz -o plastome_output -R 15 -k 21,45,65,85,105 -t 20 -F embplant_pt
一共耗時 1415.10 s。速度不錯,測序數據大體是 6G。看了下軟件說明,似乎是會sample一下。
組裝出來大量結果,
另外即 repeat_pattern 的問題,基于官網的文檔,選在 IR 最長的后續使用
plastome_arch_info.py *.fasta -o plastome_arch.list
largest_size=`cat plastome_arch.list | sed -e 1d |awk 'NR==1{max=$6;next}{max=max>$6?max:$6}END{print max}'`
cat plastome_arch.list|awk '($6==size){print $1}' size=$largest_size
結果如下(默認 pattern1 就是 IR 最長?)
embplant_pt.K105.complete.graph1.1.repeat_pattern1.path_sequence.fasta
embplant_pt.K105.complete.graph1.2.repeat_pattern1.path_sequence.fasta
OK,應該沒問題了。組裝起來也很快,我已經跑上100+份材料的葉綠體組裝了。后續看看結果再說。
寫在最后
整體順暢,我估計最多累計花了不到兩個小時,就全部事情搞完,中間出門辦了點事情。從GetOrganelle的了解,下載,安裝,解決使用問題,輸出結果,再到輸出結果的了解,補充了一些葉綠體基因組的背景知識(其實就是看了兩個letter文稿)。
怎么說呢,建軍和郁老師開發的這款軟件,應該算是神器了。回想小時候做葉綠體基因組,還是麻煩。而 GetOrganelle 幾乎是一鍵成環,完美~
準備推文中間,忽然想到,看來,只是跑跑流程,確實已經沒啥好出路,畢竟分分鐘就跑起來....。比如我兩個小時搞完,或許一些朋友要兩周.....