「生信」三代基因组De novo assembler —— Falcon(试运行篇)

目录

  • 关于 Falcon
    • 部件介绍
    • 组装流程
    • Connection within HGAP4 vs falcon vs falcon-unzip
  • 安装及测试数据下载
  • 试运行
  • 最后

很多公众号都有介绍关于 Falcon 各参数的设置经验, 而安装指南却没有一份系统的资料供借鉴. 前两年安装只能通过官网下载安装包, 一步步的配置其运行环境, 步骤繁琐, 如果是非管理员用户, 搞定运行环境就更难了. 好在前段时间, PacBio 发布了 Anaconda 版本, 使非管理员用户可以比较轻松的解决 Falcon 的安装问题
Anaconda 中的最新版本为0.0.3, 可能做得不够"傻瓜", 运行过程中会遇到几个普遍的错误. 这篇文章是我对 Falcon 原理背景、安装问题解决和试运行的学习笔记

关于 Falcon

Falcon是由PacBio 开发用于SMRT测序长reads的基因组从头组装工具, 其包含的主要部件为:

  • falcon
  • falcon-unzip
  • falcon-phase

部件介绍

  • falcon
    继承了HGAP的功能, 将运行方式从图形用户界面(Graphical User Interface, GUI)更改为命令行界面, 并且优化对大基因组的组装能力. 它的特点是能够将杂合等位基因同时组装出来, 软件将这部分 contigs 分为primary and associated contigs. 基于这个功能 falcon 也称为可以感知二倍体的组装工具
  • falcon-unzip
    真正的二倍体组装工具, 它利用 falcon 产出的 primary&associated contigs, 通过鉴别SNP位点进行初步组装, 最终获得二倍体的两个同源区段(haplotigs)
  • falcon-phase
    利用Hi-C数据映射到falcon-unzip组装本中, 利用haplotigs和共有序列, 将两个单倍体完全组装出来
    演示视频(上传失败,只能放链接了)

组装流程

Step1-预组装/错误矫正

HGAP&falcon完成. 筛选种子序列或者说是最长序列(通过length_cutoff控制), 将短序列映射到当序列中, 目的是获得高准确率的一致性序列, 该步骤完成后获得的序列准确率大于99%

Step2-组装

HGAP&falcon完成. 将预组装的序列(preassembled reads, preads)相互映射, 得到原始的基因组 contigs

Step1&2

Step3-抛光

组装完成后要进行第一轮抛光, 需要将所有的subreads映射到原始基因组中, 这一步骤能大幅度的提高碱基的准确率

Step4-Haplotigs组装

falcon-unzip完成. 对于复杂基因组, 由于SV等结构变异以上步骤会组装出"气泡"结构, 也就是差异同源区域, unzip 会根据"气泡"结构和周围的SNP位点切断差异区段, 将haplotigs 组装出来, 继而将原始基因组 contigs 精细的组装为精度更高的 contigs(primary contigs) 和haplotigs

Step4

Step5-Hi-C data mapping

上一步虽然细分出了primary contigs 和haplotigs, 但却无法在整个基因组范围内区分每个气泡结构究竟是属于哪个单体, 简单点说, 如果整个基因组只有一个"气泡"结构, 那么不需要Hi-C 数据就可以区分出两个单体, 而≥2个"气泡"结构时, 单凭已有数据是无法排列的. 以下是Hi-C辅助组装示意图:


Step5

Connection within HGAP4 vs falcon vs falcon-unzip

  • HGAP4拥有基于Web 开发的图形化处理界面, 在基因组复杂度低于人类基因组(3Gb)的情况下, 官方推荐使用HGAP4进行组装, 但实际性能根据计算资源的差异会有不同, falcon 是命令行界面的HGAP, 这在上面也提到了
  • HGAP4falcon 在计算资源的分配及结果产出的目录结构上两者存在细微差别, 在运行过程中的差别分为以下几点:
    1. 任何大小和复杂度的基因组都可以通过 falcon 组装
    2. HGAP4中的抛光环节通过resequencing流程调用, falcon在组装过程中没有自动进行抛光, 如需抛光可以通过pbsmrtpipe中的resequencing流程操作, 如果粗略一些的话, falcon-unzip组装中有抛光流程
    3. HGAP4输入为PacBio 提供的BAM格式文件, 输出结果中primary and associated contigs在同一个文件中; falcon 输入为FASTA格式文件, 同源差异区段分为两个文件
  • 当前版本的HGAP(4)输出结果不支持falcon-unzip
  • falcon-unzip可以对多倍体进行组装
    falcon&falcon-unzip

安装及测试数据下载

#安装
$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安装相比之前, 节约了90%以上的时间, 运行环境基本已经配置完全, 只有个别几个软件需要更新一下版本, 遇到的问题在log 日志文件里都有记录.
报错是在试运行阶段遇到的, 但为了学习更流畅, 就把这部分提到前面介绍了

[ERROR1]

  • 错误提示
software/prefix/python2.7/bin/python2.7: No module named pypeflow
  • 解决方法
    出现这个问题的原因可能有两个, 比较明显的是没有使用Anaconda配置的 python, 另外一个原因可能是 python 版本太低
$source ~/.bashrc
$conda search python
$conda install python=2.7.13 #或者更高版本

[ERROR2]

  • 错误提示
AttributeError: 'IntervalTree' object has no attribute 'search'
  • 解决办法
    出现这个问题的原因也是有两个, 最可能的是IntervalTree没有安装, 另一个比较脑残, 版本太高了不行, 太恶心了..
$conda list
$conda search python-IntervalTree #会发现有两三个版本
$conda install python-intervaltree=2.1.0 #只有2.1.0含有 search 属性, 真坑

[ERROR3]

  • 错误提示
ERROR: CLI::Interface - unknown option name: sorttouch quiver_done.exit
#Google 这个问题都没有记录, 也是奇了怪
  • 解决办法
    这个问题困扰了好久, 没人提出过这个问题, 最后还是在开发人员的帮助下解决的, 所以说这个 error3的解决办法是相当宝贵的..
    解决的思路是这样的, mp15 对四款相关软件的版本提出了疑问, 我之前在全部更新时, 也发现某些软件不能更新到最新版本, 可能是因为当前环境不支持最新版本的运行, 我尝试手动将四款软件更新到了最新版本, 最终 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 的使用情况做个整理吧
  • 天天当哑巴, 吃黄连, 心累的很
  • 隐忍ing...
HOPE
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容