目前用于Pacbio HIFI测序数据的组装软件主流上有:FALCON、Hifiasm、Hicanu、NextDenovo。

Hifiasm的使用

介绍

Hifiasm是用于PacBio Hifi读取的快速单倍型解析的从头汇编程序。它可以在几个小时内组装一个人类基因组,并与加利福尼亚红木基因组(迄今为止测序最复杂的基因组之一)一起工作。Hifiasm可以生产质量最好的组装商的初级/替代组装。它还引入了新的图合并算法,并在给定三重数据的情况下实现了最佳的单倍型解析程序集。

我认为hifiasm不仅组装速度快,而且准确度也很好,所以还是很推荐使用

软件安装

#使用conda安装
conda install -c bioconda hifiasm#安装hifiasm(需要g++和zlib)
git clone https://github.com/chhylp123/hifiasm
cd hifiasm && make

格式转换

由于是bam格式需要转换为fasta格式

# bam --> fasta
samtools view *.bam | awk '{print ">"$1"\n"$10}' > fasta#补充一下其他格式的转换
## sam ---> fasta
cat *.sam | awk '{print ">"$1"\n"$10}' > *.fasta
## fasta ---> sam
bowtie2 -1 *_1.fa -2 *_2.fa -p 16 -x prefix -S *.sam
## sam --> bam
# -@:线程 -b:输出格式为BAM -S:自动检测输入格式 -o:输出文件
samtools view -@ 16 -b -S final.sam -o final.bam
## bam --> sam
samtools view *.bam -O SAM > *.sam

软件参数

$ hifiasm
Usage: hifiasm [options] <in_1.fq> <in_2.fq> <...>
Options:Input/Output:-o STR       prefix of output files [hifiasm.asm]-i           ignore saved read correction and overlaps-t INT       number of threads [1]-z INT       length of adapters that should be removed [0]--version    show version numberOverlap/Error correction:-k INT       k-mer length (must be <64) [51]-w INT       minimizer window size [51]-f INT       number of bits for bloom filter; 0 to disable [37]-D FLOAT     drop k-mers occurring >FLOAT*coverage times [5.0]-N INT       consider up to max(-D*coverage,-N) overlaps for each oriented read [100]-r INT       round of correction [3]Assembly:-a INT       round of assembly cleaning [4]-m INT       pop bubbles of <INT in size in contig graphs [10000000]-p INT       pop bubbles of <INT in size in unitig graphs [0]-n INT       remove tip unitigs composed of <=INT reads [3]-x FLOAT     max overlap drop ratio [0.8]-y FLOAT     min overlap drop ratio [0.2]-u           disable post join contigs step which may improve N50--lowQ       INToutput contig regions with >=INT% inconsistency in BED format; 0 to disable [70]--b-cov      INTbreak contigs at positions with <INT-fold coverage; work with '--m-rate'; 0 to disable [0]--h-cov      INTbreak contigs at positions with >INT-fold coverage; work with '--m-rate'; -1 to disable [-1]--m-rate     FLOATbreak contigs at positions with <=FLOAT*coverage exact overlaps;only work with '--b-cov' or '--h-cov'[0.75]--primary    output a primary assembly and an alternate assemblyTrio-partition:-1 FILE      hap1/paternal k-mer dump generated by "yak count" []-2 FILE      hap2/maternal k-mer dump generated by "yak count" []-c INT       lower bound of the binned k-mer's frequency [2]-d INT       upper bound of the binned k-mer's frequency [5]-3 FILE      list of hap1/paternal read names []-4 FILE      list of hap2/maternal read names []--t-occ      INTforce remove unitigs with >INT unexpected haplotype-specific reads;ignore graph topology; [60]Purge-dups:-l INT       purge level. 0: no purging; 1: light; 2/3: aggressive [0 for trio; 3 for unzip]-s FLOAT     similarity threshold for duplicate haplotigs [0.75 for -l1/-l2, 0.55 for -l3]-O INT       min number of overlapped reads for duplicate haplotigs [1]--purge-cov  INTcoverage upper bound of Purge-dups [auto]--n-hap      INTnumber of haplotypes [2]Hi-C-partition:--h1 FILEs   file names of Hi-C R1  [r1_1.fq,r1_2.fq,...]--h2 FILEs   file names of Hi-C R2  [r2_1.fq,r2_2.fq,...]--seed INT   RNG seed [11]--n-weight   INTrounds of reweighting Hi-C links [3]--n-perturb  INTrounds of perturbation [10000]--f-perturb  FLOATfraction to flip for perturbation [0.1]

用法

典型的hifiasm命令行如下所示:

hifiasm -o <outputPrefix> -t <nThreads> <HiFi-reads.fasta>
#eg:
hifiasm -o NA12878.asm -t 32 NA12878.fq.gz

其中NA12878.fq.gz提供输入reads,-t设置使用中的CPU数,-o输出文件的前缀名

加入HiC测序数据进行hifiasm组装
在新版本中可添加hic测序数据进行组装,组装的结果还是不错的

hifiasm --h1 HIC_1_clean.fq.gz --h2 HIC_2_clean.fq.gz -t 50 HiFi-reads.fq.gz# --h1 --h2 HiC 数据
# -t 线程数
# -o 输出文件前缀
# HiFi-reads.fq.gz

当亲本reads可用时,hifiasm可以生成一对具有三位一体的单倍型解析程序集。要进行这种组装,需要先用yak计算k-mers,然后进行组装:

yak count -b37 -t <nThreads> -o <pat.yak> <paternal-short-reads.fastq>
yak count -b37 -t <nThreads> -o <mat.yak> <maternal-short-reads.fastq>#eg:
yak count -k31 -b37 -t16 -o pat.yak paternal.fq.gz
yak count -k31 -b37 -t16 -o mat.yak maternal.fq.gz

然后我们用以下命令产生the paternal assembly and the maternal assembly

hifiasm -o <outputPrefix> -t <nThreads> -1 <pat.yak> -2 <mat.yak> <HiFi-reads.fasta>
#eg:
hifiasm -o NA12878.asm -t 20 -1 pat.yak -2 mat.yak NA12878.fq.gz

结果

对于非三重组装,hifiasm会生成以下文件:

prefix.r_utg.gfa(Haplotype-resolved raw unitig graph in GFA format):保留了组装生成的所有单体型信息,包括体细胞突变和重复的测序错误。
prefix.p_utg.gfa(Haplotype-resolved processed unitig graph without small bubbles):无小气泡的单倍型解析;去掉由于体细胞突变和数据背景噪音引起的small bubbles(这个并不是真正的单体型信息),对于高度杂合基因组物种优先选择这个结果。
prefix.p_ctg.gfa(Primary assembly contig graph):对于低杂合度物种来说,优先选择该文件;对于高杂合度物种,该结果代表其中一个单倍型。
prefix.a_ctg.gfa(Alternate assembly contig graph):组装出来的另一套单体型基因组结果。

对于三重组装,hifiasm会生成以下文件:

prefix.r_utg.gfa(Haplotype-resolved raw unitig graph in GFA format):保存了所有的单倍型信息。
prefix.hap1.p_ctg.gfa(Phased paternal/haplotype1 contig graph):保留了阶段性父系/单倍型1组装。
prefix.hap2.p_ctg.gfa(Phased maternal/haplotype2 contig graph):保留了阶段性母系/单倍型2组装。

使用hifiasm组装hifi基因组的方法介绍相关推荐

  1. 使用hicanu组装hifi基因组的方法介绍

    介绍 Canu专门组装PacBio或Oxford Nanopore序列.Canu分为三个阶段:校正.修整和装配.校正阶段将提高读取中基数的准确性.微调阶段将微调显示为高质量序列的部分的读取,删除可疑区 ...

  2. hifiasm对HiFi PacBio进行组装

    hifiasm是一个能有效利用PacBio HiFi测序技术,在分型组装图(pahsed assembly gprah)中可靠的表示单倍体信息的算法. 流程介绍 hifiasm的分析流程如下,主要分为 ...

  3. HiFi全基因组测序技术与实例|HiFi基因组组装软件推荐

    HIFI技术的简介 HiFi reads(High fidelity reads) 是Sequel II 三代测序平台推出的兼顾长读长和高准确度的测序序列,一般采用CCS(Circular Conse ...

  4. 宏基因组组装质量评估新方法-MAGISTA

    谷禾健康 尽管地球上微生物类群的繁多,但只有一小部分得到了培养和有效命名.因为大多数菌无法在非常特定的条件下培养分离鉴定. 在过去十年中,宏基因组研究的重要性已经凸显,因为它能够评估细菌基因库并发现当 ...

  5. 宏基因组生信分析方法介绍

    随着高通量技术的发展,宏基因组学(metagenomics)已经成为研究微生物群落物种及功能的前沿科学,在肠道微生物.环境微生物等研究领域具有广泛应用.宏基因组学通过对微生物群落全部DNA进行高通量测 ...

  6. DNA甲基化测序方法介绍

    DNA甲基化测序方法介绍 甲基化 表观遗传学 DNA 甲基化是表观遗传学(Epigenetics)的重要组成部分,在维持正常细胞功能.遗传印记.胚胎发育以及人类肿瘤发生中起着重要作用,是目前新的研究热 ...

  7. Java如何快速组装数据_树形数据组装最简单的方法-Java

    开发中我们经常遇到分类设计,除了表设计复杂之外,其数据组装也较为复杂 方法并不是原创,看了别的代码才有的思路, 要看懂以下代码需掌握java 8的stream和Lambda 表达式 组装有很多种方法, ...

  8. webview 加载php页面内容,WebView加载优化的方法介绍

    本篇文章给大家带来的内容是关于WebView加载优化的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. WebView加载优化 当WebView的使用频率变得频繁的时候,对于其 ...

  9. LoadRunner设置检查点的几种方法介绍

    LoadRunner设置检查点的几种方法介绍 发布时间: 2011-5-03 11:53    作者: 一米阳光做测试    来源: 51Testing软件测试网采编 字体:  小  中  大  | ...

最新文章

  1. 从RNN一步步通俗易懂T理解LSTM
  2. MongoDB图形化管理工具
  3. 在 Rss Bandit 和 SharpDevelop 之间的权衡
  4. 图片/容器/字体 透明度[opacity:0.4; filter:alpha(opacity=40)]
  5. eclips 的pydev的debug
  6. 一直在构建工作空间_基于用户场景构建的建筑工程弱电设计工作设想
  7. 17电大计算机网考模拟题,2017年电大 201717统考电大计算机应用基础网考试题.doc...
  8. 超云将成为数据中心演化的下一个阶段
  9. 电脑一开机出rebootand_北京联想电脑维修点【蓝伟博达笔记本维修吧】
  10. 再见 Jenkins !几行脚本搞定自动化部署,这款神器有点厉害!
  11. java abstractnumlist_如何从List集合中删除对象
  12. 补习系列(3)-springboot中的几种scope
  13. 因改变,赢未来!三星Galaxy重磅新品年后首发!
  14. 设计灵感|拼贴风格海报设计,优秀案例让你它好看在哪里?
  15. 程序员撕开京东 618 大促压测的另一面 | 原力计划
  16. [SHELL]判断一个命令是否存在
  17. 1、配置后台登录以及模板引入
  18. 笔记本电脑怎么找计算机硬盘,如何给笔记本电脑硬盘分区
  19. 在pysot中的SiamRPN and SiamRPN++论文结构和代码对应分析
  20. 学计算机应用技术买什么笔记本电脑,大学什么专业用电脑 要不要买电脑

热门文章

  1. VVC帧间预测(十)帧间帧内联合预测CIIP
  2. react18中使用react-hook-form
  3. Android 错把setLayerType当成硬件加速
  4. 测试工程师面试汇总【完美世界】
  5. 基于python管理系统论文_基于Python语言的实验室管理系统的设计与实现
  6. 如何查看电脑jdk/jre版本以及安装路径
  7. Win10远程桌面出现身份验证错误,由于CredSSP加密Oracle修正 解决方法
  8. 知识体系:如何构建自己的知识体系
  9. Web2与Web3开发的不同之处
  10. nas 群晖 git 项目创建步骤