基因组组装工具之 SOAPdenovo 使用方法
SOAPdenovo是一个新颖的适用于组装短reads的方法,能组装出类似人类基因组大小的de novo草图。
该软件特地设计用来组装Illumina GA short reads,新的版本减少了在图创建时的内存消耗,解决了contig组装时的重复区域的问题,增加了scaffold组装时的覆盖度和长度,改进了gap closing,更加适用于大型基因组组装。
(SOAPdenovo是为了组装大型植物和动物基因组而设计的,同样也适用于组装细菌和真菌,组装大型基因组大小如人类时,可能需要150G内存。)
1.配置文件
一般大型基因组组装项目都会有多个文库,配置文件包含文库的位置信息 以及 其他信息。
配置文件包含 全局信息 和 多个文库部分信息。
全局信息:max_rd_len:任何比它大的read会被切到这个长度。
文库部分由[LIB]开始,并包含如下信息:
1) avg_ins
文库的平均插入长度,或者是插入长度分布图的峰值。(科普:理论上插入片段长度是成正态分布的,并不是严格控制的)
2) reverse_seq
这个选项有 0 或 1 两个选项,它告诉组装器read序列是否需要被完全反转。Illumima GA 产生两种 paired-end 文库:一是forward-reverse;另一个是 reverse-forward。"reverse_seq"参数应该如下设置:0,forward-reverse(由典型的插入长度少于500 bp的DNA末端片段生成);1,reverse-forward(由环状文库,典型的2 kb以上的文库生成)。
3) asm_flags
决定reads哪一段会被利用,1(仅进行contig组装);2(仅进行scaffold组装);3(contig和scaffold都组装);4(只进行gap closure)。
4) rd_len_cutof
组装器会过滤掉当前文库中到这个长度之间的reads。
5) rank
为整数值,它决定在scaffold组装时reads被利用的顺序。文库中具有同样rank值的会被同时使用(在组装scaffold时)。
6) pair_num_cutoff
该参数是成对number的 cutoff value,为了得到两条contigs的可靠的连接 或 pre-scaffolds。paired-end reads and mate-pair reads 的最小数量分别是 3 和 5.
7) map_len
这个参数在“map”阶段生效,它是read 和 contig 的最小比对长度,用来建立一个可靠的read定位。
paired-end reads and mate-pair reads 的最小的长度分别是 32 和 35.
组装器接受三种read格式:FASTA, FASTQ and BAM。
Mate-pair关系:fastq中两个文件的同行序列;fasta中的邻行序列,bam文件比较特殊。
配置文件中,单端文件用"f=/path/filename" or "q=/pah/filename" 表示 fasta or fastq 格式。
双端reads被放在两个fasta文件中,分别为"f1=" and "f2="。fastq文件由"q1=" and "q2="表示。
双端reads如果全在一个fasta文件中,则用"p=" 选项;reads在bam文件中则用"b=".选项。
以上参数大多是可选的,如果你不知道怎么用,可以不设置,让软件使用默认参数。
2.命令及参数
常用的一站式运行方式:
${bin} all -s config_file -K 63 -R -o graph_prefix 1>ass.log 2>ass.err
分四步运行:
${bin} pregraph -s config_file -K 63 -R -o graph_prefix 1>pregraph.log 2>pregraph.err
OR
${bin} sparse_pregraph -s config_file -K 63 -z 5000000000 -R -o graph_prefix 1>pregraph.log 2>pregraph.err
${bin} contig -g graph_prefix -R 1>contig.log 2>contig.err
${bin} map -s config_file -g graph_prefix 1>map.log 2>map.err
${bin} scaff -g graph_prefix -F 1>scaff.log 2>scaff.err
all (pregraph-contig-map-scaff)的参数
-s <string> 配置文件:config -o <string> 输出图:输出图文件名的前缀 -K <int> kmer(最小 13, 最大 63/127): kmer size, [23] -p <int> cpu核数 [8] -a <int> 初始的内存:避免内存再分配,单位为G [0] -d <int> KmerFreqCutoff: kmers with frequency no larger than KmerFreqCutoff will be deleted, [0] -R (optional) resolve repeats by reads, [NO] -D <int> EdgeCovCutoff: edges with coverage no larger than EdgeCovCutoff will be deleted, [1] -M <int> mergeLevel(min 0, max 3): the strength of merging similar sequences during contiging, [1] -m <int> max k when using multi kmer -e <int> weight to filter arc when linearize two edges(default 0) -r (optional) keep available read(*.read) -E (optional) merge clean bubble before iterate -f (optional) output gap related reads in map step for using SRkgf to fill gap, [NO] -k <int> kmer_R2C(min 13, max 63): kmer size used for mapping read to contig, [K] -F (optional) fill gaps in scaffold, [NO] -u (optional) un-mask contigs with high/low coverage before scaffolding, [mask] -w (optional) keep contigs weakly connected to other contigs in scaffold, [NO] -G <int> gapLenDiff: allowed length difference between estimated and filled gap, [50] -L <int> minContigLen: shortest contig for scaffolding, [K+2] -c <float> minContigCvg: minimum contig coverage (c*avgCvg), contigs shorter than 100bp with coverage smaller than c*avgCvg will be masked before scaffolding unless -u is set, [0.1] -C <float> maxContigCvg: maximum contig coverage (C*avgCvg), contigs with coverage larger than C*avgCvg or contigs shorter than 100bp with coverage larger than 0.8*C*avgCvg will be masked before scaffolding unless -u is set, [2] -b <float> insertSizeUpperBound: (b*avg_ins) will be used as upper bound of insert size for large insert size ( > 1000) when handling pair-end connections between contigs if b is set to larger than 1, [1.5] -B <float> bubbleCoverage: remove contig with lower cvoerage in bubble structure if both contigs coverage are smaller than bubbleCoverage*avgCvg, [0.6] -N <int> 基因组大小 [0] -V (optional) 组装的可视化信息输出 [NO]
学到的基本概念:
参考资料:
SOAPdenovo官方网站
基因组组装工具之 SOAPdenovo 使用方法的更多相关文章
- PacBio长reads的大基因组组装
原文链接:Large Genome Assembly with PacBio Long Reads 可以以多种方式利用PacBio长reads来生成和改进大型基因组的de novo组装. 你可以用几种 ...
- Java 使用Redis缓存工具的图文详细方法
开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java. (1)Java的安装配置可以参考我们的 Java ...
- Java基础知识强化之集合框架笔记33:Arrays工具类中asList()方法的使用
1. Arrays工具类中asList()方法的使用 public static <T> List<T> asList(T... a): 把数组转成集合 注意事项: 虽然可以把 ...
- Linux性能分析工具与图形化方法
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~. 作者:赵坤|腾讯魔王工作室后台开发工程师 在项目开发中,经常会遇到程序启动时间过长.CPU使用率过高等问题,这个时候需要依靠性能分析工具来 ...
- Hutool工具里,POST方法,body中传参的几种调用方法
接口说明: POSTMAN测试: JAVA代码: package com.provy.guard.api; import java.util.HashMap; import java.util.Map ...
- WQL语言简介和WQL测试工具wbemtest.exe使用方法详细介绍
这篇文章主要介绍了WQL语言简介和WQL测试工具wbemtest.exe使用方法详细介绍,WQL是指Windows管理规范查询语言,需要的朋友可以参考下 WQL就是WMI中的查询语言,WQL的全称是W ...
- MYSQL 命令行工具自动登录的方法
MYSQL 命令行工具自动登录的方法 1. 需求提出 由于在linux 环境下,经常需要使用mysql(command-line tool) 终端连接到MYSQL DB服务. 其中大致的语法如下: m ...
- 数据库管理工具navicat基本使用方法——以MySql为例
mysq数据库管理工具navicat基本使用方法 https://www.cnblogs.com/neuedu/p/5876874.html
- 工具类Arrays.asList()方法把数组转换成集合
工具类Arrays.asList()方法把数组转换成集合 不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportedOperationException() 问 ...
随机推荐
- Android中@id与@+id区别
Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值. id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc.@+id/xyz等. 如果在@后 ...
- collections在java中的常见用法
1. 工具类collections用于操作集合类,如List,Set,常用方法有: 1) 排序(Sort) 使用sort方法可以根据元素的自然顺序 对指定列表按升序进行排序.列表中的所有元素都必须实现 ...
- MySQL基础(四)——索引
MySQL基础(四)--索引
- VS2015使用技巧 为什么我们可以输入cw后按两下tab键出现console.writeline
镇场诗: 大梦谁觉,水月中建博客.百千磨难,才知世事无常. 今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ 为什么 ...
- 看看,这就是微软的“万物互联”系统 window10 IOT
今天在深圳 WinHEC2015 大会上,微软正式发布了其基于 Windows 10 开发的,专门用于一系列物联网设备的操作系统:Windows 10 IoT for Smart Devices(是的 ...
- SD卡驱动分析(二)
三.下面分析一下高通的android2.3的代码中SD卡驱动的流程. 在kernel中,SD卡是作为平台设备加入到内核中去的,在/kernel/arch/arm/mach-msm/devices-ms ...
- CSS在线字体库,外部字体的引用方法
目录: 1:CSS家族五大字体 2:360和谷歌外部字体引用方法 3:谷歌外部字体引用方法详解 4:@font-face用法详解 一: {font-family:serif,sans-serif,fa ...
- linux mv命令
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...
- 访问者模式,visitor
定义: 表示作用于某对象结构中的各个元素的操作. 可以在不改变各元素的类的前提下定义作用于这些元素的新操作. 前提: 适用于数据结构(Element)相对稳定的系统,这样visitor中的方法就是稳定 ...
- 【VB6笔记-01】 读取Excel绑定到DataGrid
Private Sub cmdOpen_Click() CommonDialog1.Filter = "Excel???t(*.xlsx)|*.xlsx" CommonDialog ...