「生信」三代基因組De novo assembler —— Falcon(試運行篇)

目錄

  • 關(guān)于 Falcon
    • 部件介紹
    • 組裝流程
    • Connection within HGAP4 vs falcon vs falcon-unzip
  • 安裝及測試數(shù)據(jù)下載
  • 試運行
  • 最后

很多公眾號都有介紹關(guān)于 Falcon 各參數(shù)的設(shè)置經(jīng)驗, 而安裝指南卻沒有一份系統(tǒng)的資料供借鑒. 前兩年安裝只能通過官網(wǎng)下載安裝包, 一步步的配置其運行環(huán)境, 步驟繁瑣, 如果是非管理員用戶, 搞定運行環(huán)境就更難了. 好在前段時間, PacBio 發(fā)布了 Anaconda 版本, 使非管理員用戶可以比較輕松的解決 Falcon 的安裝問題
Anaconda 中的最新版本為0.0.3, 可能做得不夠"傻瓜", 運行過程中會遇到幾個普遍的錯誤. 這篇文章是我對 Falcon 原理背景、安裝問題解決和試運行的學(xué)習(xí)筆記

關(guān)于 Falcon

Falcon是由PacBio 開發(fā)用于SMRT測序長reads的基因組從頭組裝工具, 其包含的主要部件為:

  • falcon
  • falcon-unzip
  • falcon-phase

部件介紹

  • falcon
    繼承了HGAP的功能, 將運行方式從圖形用戶界面(Graphical User Interface, GUI)更改為命令行界面, 并且優(yōu)化對大基因組的組裝能力. 它的特點是能夠?qū)㈦s合等位基因同時組裝出來, 軟件將這部分 contigs 分為primary and associated contigs. 基于這個功能 falcon 也稱為可以感知二倍體的組裝工具
  • falcon-unzip
    真正的二倍體組裝工具, 它利用 falcon 產(chǎn)出的 primary&associated contigs, 通過鑒別SNP位點進(jìn)行初步組裝, 最終獲得二倍體的兩個同源區(qū)段(haplotigs)
  • falcon-phase
    利用Hi-C數(shù)據(jù)映射到falcon-unzip組裝本中, 利用haplotigs和共有序列, 將兩個單倍體完全組裝出來
    演示視頻(上傳失敗,只能放鏈接了)

組裝流程

Step1-預(yù)組裝/錯誤矯正

HGAP&falcon完成. 篩選種子序列或者說是最長序列(通過length_cutoff控制), 將短序列映射到當(dāng)序列中, 目的是獲得高準(zhǔn)確率的一致性序列, 該步驟完成后獲得的序列準(zhǔn)確率大于99%

Step2-組裝

HGAP&falcon完成. 將預(yù)組裝的序列(preassembled reads, preads)相互映射, 得到原始的基因組 contigs

Step1&2

Step3-拋光

組裝完成后要進(jìn)行第一輪拋光, 需要將所有的subreads映射到原始基因組中, 這一步驟能大幅度的提高堿基的準(zhǔn)確率

Step4-Haplotigs組裝

falcon-unzip完成. 對于復(fù)雜基因組, 由于SV等結(jié)構(gòu)變異以上步驟會組裝出"氣泡"結(jié)構(gòu), 也就是差異同源區(qū)域, unzip 會根據(jù)"氣泡"結(jié)構(gòu)和周圍的SNP位點切斷差異區(qū)段, 將haplotigs 組裝出來, 繼而將原始基因組 contigs 精細(xì)的組裝為精度更高的 contigs(primary contigs) 和haplotigs

Step4

Step5-Hi-C data mapping

上一步雖然細(xì)分出了primary contigs 和haplotigs, 但卻無法在整個基因組范圍內(nèi)區(qū)分每個氣泡結(jié)構(gòu)究竟是屬于哪個單體, 簡單點說, 如果整個基因組只有一個"氣泡"結(jié)構(gòu), 那么不需要Hi-C 數(shù)據(jù)就可以區(qū)分出兩個單體, 而≥2個"氣泡"結(jié)構(gòu)時, 單憑已有數(shù)據(jù)是無法排列的. 以下是Hi-C輔助組裝示意圖:


Step5

Connection within HGAP4 vs falcon vs falcon-unzip

  • HGAP4擁有基于Web 開發(fā)的圖形化處理界面, 在基因組復(fù)雜度低于人類基因組(3Gb)的情況下, 官方推薦使用HGAP4進(jìn)行組裝, 但實際性能根據(jù)計算資源的差異會有不同, falcon 是命令行界面的HGAP, 這在上面也提到了
  • HGAP4falcon 在計算資源的分配及結(jié)果產(chǎn)出的目錄結(jié)構(gòu)上兩者存在細(xì)微差別, 在運行過程中的差別分為以下幾點:
    1. 任何大小和復(fù)雜度的基因組都可以通過 falcon 組裝
    2. HGAP4中的拋光環(huán)節(jié)通過resequencing流程調(diào)用, falcon在組裝過程中沒有自動進(jìn)行拋光, 如需拋光可以通過pbsmrtpipe中的resequencing流程操作, 如果粗略一些的話, falcon-unzip組裝中有拋光流程
    3. HGAP4輸入為PacBio 提供的BAM格式文件, 輸出結(jié)果中primary and associated contigs在同一個文件中; falcon 輸入為FASTA格式文件, 同源差異區(qū)段分為兩個文件
  • 當(dāng)前版本的HGAP(4)輸出結(jié)果不支持falcon-unzip
  • falcon-unzip可以對多倍體進(jìn)行組裝
    falcon&falcon-unzip

安裝及測試數(shù)據(jù)下載

#安裝
$conda search pb-assembly
$conda install pb-assembly=0.0.3 #或者其他版本
#下載200Kb test case
$git clone https://github.com/cdunn2001/git-sym.git
$git clone https://github.com/pb-cdunn/FALCON-examples.git
$cd FALCON-examples
$../git-sym/git-sym update run/greg200k-sv2

報錯解決

通過Anaconda安裝相比之前, 節(jié)約了90%以上的時間, 運行環(huán)境基本已經(jīng)配置完全, 只有個別幾個軟件需要更新一下版本, 遇到的問題在log 日志文件里都有記錄.
報錯是在試運行階段遇到的, 但為了學(xué)習(xí)更流暢, 就把這部分提到前面介紹了

[ERROR1]

  • 錯誤提示
software/prefix/python2.7/bin/python2.7: No module named pypeflow
  • 解決方法
    出現(xiàn)這個問題的原因可能有兩個, 比較明顯的是沒有使用Anaconda配置的 python, 另外一個原因可能是 python 版本太低
$source ~/.bashrc
$conda search python
$conda install python=2.7.13 #或者更高版本

[ERROR2]

  • 錯誤提示
AttributeError: 'IntervalTree' object has no attribute 'search'
  • 解決辦法
    出現(xiàn)這個問題的原因也是有兩個, 最可能的是IntervalTree沒有安裝, 另一個比較腦殘, 版本太高了不行, 太惡心了..
$conda list
$conda search python-IntervalTree #會發(fā)現(xiàn)有兩三個版本
$conda install python-intervaltree=2.1.0 #只有2.1.0含有 search 屬性, 真坑

[ERROR3]

  • 錯誤提示
ERROR: CLI::Interface - unknown option name: sorttouch quiver_done.exit
#Google 這個問題都沒有記錄, 也是奇了怪
  • 解決辦法
    這個問題困擾了好久, 沒人提出過這個問題, 最后還是在開發(fā)人員的幫助下解決的, 所以說這個 error3的解決辦法是相當(dāng)寶貴的..
    解決的思路是這樣的, mp15 對四款相關(guān)軟件的版本提出了疑問, 我之前在全部更新時, 也發(fā)現(xiàn)某些軟件不能更新到最新版本, 可能是因為當(dāng)前環(huán)境不支持最新版本的運行, 我嘗試手動將四款軟件更新到了最新版本, 最終 unzip 完美運行
$conda update --all
$conda update -c bioconda --all
$conda install pbmm2=0.12.0
$conda install pbcore=1.6.5
$conda install pbalign=0.3.2

試運行

$cd run/greg200k-sv2
$fc_run fc_run.cfg
$fc_unzip.py fc_unzip.cfg

運行完成后, 基因組.fasta 文件存放在4-polish/cns-output目錄中

最后

  • 過段時間打算把Falcon 的使用情況做個整理吧
  • 天天當(dāng)啞巴, 吃黃連, 心累的很
  • 隱忍ing...
HOPE
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容