The bowtie2 aligner

Bowtie2是一款用于核酸序列比对的工具,主要在端到端和局部比对模式下工作。比对得分量化了读取序列与参考序列的相似性,可通过匹配奖励、不匹配惩罚等参数进行配置。在端到端模式下,所有读取字符参与对齐,而在局部模式下,可能修剪部分字符以优化得分。此外,文章还讨论了双端对齐、映射质量和比对阈值等概念,以及如何通过Bowtie2的选项配置这些参数。
摘要由CSDN通过智能技术生成

本文翻译自

Bowtie2使用Bowtie 2索引和一组测序读取文件,输出一组格式为SAM的比对结果。

"比对"指的是我们检测读取序列与参考序列之间的相似性方法。一个"比对"就是这个过程的结果,换句话说:一个比对就是将一些或全部在读取序列中的字符与参考序列中的字符通过某种方式对齐,从而揭示它们的相似性的方法。 例如:
在这里插入图片描述

以破折号表示空隙,以垂直杠表示比对过的字符,我们使用对齐方式以便推测读取片段来自于参考基因组的位置。可惜,有时这并不可行。例如,若参考基因组中存在一大串A(AAAAAAAAA等),而读取片段只有短段A(AAAAAAA),我们无法确切知晓它来自A海洋中的哪一处。

End-to-end alignment versus local alignment

默认情况下,Bowtie 2执行端到端的读取对齐。换句话说,它搜索涉及所有读取字符的对齐。这也称为“未修剪”或“未剪裁”对准。

当指定–local选项时,Bowtie 2执行本地读取对准。在这种模式下,如果这样做可以最大化对准得分,Bowtie 2可能会从对齐的一端或双端“修剪”或“剪裁”某些读取字符。

End-to-end alignment example

以下是一种“端到端”对齐,因为它涉及到所读取的所有字符。这种对齐可以通过 Bowtie 2 以“端到端”模式或局部模式产生。
在这里插入图片描述
Local alignment example
以下是“局部”对齐,因为读取端的一些字符不参与。在这种情况下,从开头省略4个字符,从末尾省略3个字符。这种对齐只能在局部模式下由Bowtie 2产生。

在这里插入图片描述
分数:越高=越相似

一个对准分数量化了读序列和对应参照序列的相似性。分数越高,相似度就越高。一个分数是通过减去每个差异(不匹配,间隙等)的惩罚,以及在局部比对模式下为每个匹配添加奖励而计算的。

这些分数可以通过–ma(匹配奖励),–mp(不匹配惩罚),–np(在读数或参照中有一个N时的惩罚),–rdg(仿射读取间隙惩罚)和–rfg(仿射参考间隙惩罚)选项来配置。

–ma:设置匹配奖金。在–local模式下,每个读字符与参考字符相匹配且字符相同时,将添加到对齐得分。在–end-to-end 模式中不使用。默认值:2。
–mp:设置最大(MX)和最小(MN)不匹配罚分,均为整数。 对于读数字符与参考字符对齐但不匹配且都不是N的位置,从对齐分数中减去不超过MX且大于等于MN的数量。如果指定了–ignore-quals,则减去的数量为MX。否则,减去的数量为MN + floor( (MX-MN)(MIN(Q, 40.0)/40.0) ),其中Q为Phred质量值。默认值:MX = 6,MN = 2。
N代表无法准确确定的参考序列的字符。
–np:为包含模糊字符 (如N) 的读取、参考序列或两者设定罚金。默认值:1。
–rdg ,:设置读取间隔开放() 和延长 () 的惩罚。 长度为N的读取间隔将获得 + N * 的处罚。默认值:5,3。
–rfg ,:将参考间隙打开() 和延长 () 处罚。 长度为N的参考间隙将获得 + N * 的处罚。 默认值:5,3。

End-to-end alignment score example

以默认值计算,高质量位点上一个不匹配的基碱酰胺会得到-6的惩罚。长度为2的读取间隙会得到-11的惩罚(-5为间隙打开,-3为第一次扩展,-3为第二次扩展)。因此,在端到端对齐模式下,如果读取的长度为50 bp,而参考样本与读取的长度完全一致,但只有一个高质量位点和一个长度为2的可读取序列有差异,那么总得分就是 -(6+11)= -17。

最终端到端模式的最佳可能对齐得分是0,这种情况只有读取和参考样本之间没有差异时才会发生。

Local alignment score example

一个在高质量的参考位置上的不匹配的基底,默认会得到-6的惩罚。长2的读取间隙将默认得到-11分(-5分给 gap open, -3给第一个延伸,-3给第二个延伸)。一个匹配的基底默认会得到+2分。因此,在局部比对模式下,如果读取长度为50bp,并且只有一个高质量位置上的不匹配和一个长度为2的读取间隙,总得分就等于总奖励2×49,减去总惩罚(6+11)=81。

在局部模式下,最佳得分等于匹配奖励乘以读取长度。这发生在读取和参考没有差异的时候。

Valid alignments meet or exceed the minimum score threshold

(有效对齐达到或超过最低分数阈值)
为了被 Bowtie 2 所认可 (即被认为 ‘足够好了’) 的比对, 必须要有低于最小分数阈值的比对分数。阈值是可以配置的, 并且以读取长度的函数表示。在端到端比对模式下, 默认最小分数阈值是 -0.6 + -0.6 * L, 其中 L 表示读取长度。在局部比对模式下, 默认最小分数阈值是 20 + 8.0 * ln(L), 其中 L 表示读取长度。这可以通过 --score-min 选项来配置。关于如何设置对应于函数的选项, 请参见设置函数选项的章节。
–score-min :为了让一个比对被认为是有效的(即足够好,可以报告),它必须满足一定的最小比对分数。这是一个取决于读取长度的函数。例如,指定 L,0,-0.6 将最小分数函数设为 f(x) = 0 + -0.6 * x,其中 x 是读取长度。另请参见:设置函数选项。 --end-to-end 模式下的默认值为 L,-0.6,-0.6,–local 模式下的默认值为 G,20,8。

Mapping quality: higher = more unique

一般来说, 多重比对器不能总是将读取的序列与其来源精确对齐。例如,原本来自重复元素内部的序列可以同样地对齐到基因组中多个出现的该元素,这将使得对齐器无法基于任何依据认定其中的一个合适的对其点。
比对器通过报告映射质量来表示其对起点的置信度:非负整数 Q = -10 log10 p,其中 p 是联系不相应于读取真实起点的概率估计值。映射质量有时缩写为 MAPQ,记录在 SAM MAPQ 字段中。
映射质量与“独特性(uniqueness)”有关。我们把一个对齐关系称为独特的,如果其对齐得分明显高于其他所有可能的对齐关系。最好对齐得分与第二佳对齐得分之间的差距越大,最佳对齐就越独特,其映射质量也应相应提高。
准确的比对质量对于像variant callers这样的下游诸如工具很有用。 例如,一个variant callers可能选择忽略来自比对质量低于10的证据。 映射质量小于或等于10表示至少有1/10的可能性表明该读数实际上来自其他地方。

Aligning pairs

一个“双端”或“配对读取”包括另外两个配对的序列,称为配对1和配对2。这些配对具有关于(a)相对方向的预期以及(b)在原始 DNA 分子上分离它们的距离的预期。对于给定的数据集,具体有什么期望取决于用于生成数据的实验室程序。例如,Illumina 的配对端测序法用于生成带有相对定向 FR(“正向,反向”)的配对,即如果配对1来自 Watson 链,那么配对2很有可能来自 Crick 链,反之亦然。此外,该协议会产生端到端的预期基因组距离约为200-500 个碱基对。

为了简单起见,本手册将称为“双端”的任何一对具备某种期望相对定向和距离的读取。根据协议,这些实际上可能被称为“双端”或“配对”。此外,我们总是把构成对的个体序列称为“配对”。(Depending on the protocol, these might actually be referred to as “paired-end” or “mate-paired.” Also, we always refer to the individual sequences making up the pair as “mates.”)

Paired inputs

一般会将成对的文件存储在两个文件中,一个文件存储mate 1,另一个文件存储mate 2。第一个mate1文件中的第一个mate配对第二个文件中的第一个mate,第二个配对第二个,以此类推。当使用Bowtie 2对配对的文件进行对齐时,使用-1参数指定mate 1文件,使用-2参数指定mate 2文件。这会使Bowtie 2在对配对的数据进行对齐时考虑到它们的配对特性。

Paired SAM output

当Bowtie2打印一对的SAM对齐时,它会打印两条记录(即两行输出),其中一条描述伴侣1的比对,另一条描述伴侣2的比对。在两条记录中,SAM记录的某些字段描述比对的各种属性;例如第7和第8个字段(RNEXT和PNEXT)分别指示另一个配偶对齐的参考名称和位置,第9个字段指示两个配偶被测序的DNA片段的推断长度。有关这些字段的更多细节,请参阅SAM规格。

Concordant pairs match pair expectations, discordant pairs don’t

一对符合预期的相对配偶方向和距离范围的配对被称为"和谐"。 如果两个配偶都有独特的排列,但它们不符合配对末端的期望(即伴侣不在预期的相对朝向或不在预期的距离范围内,或者两者都是),则该对被称为“不和谐”。 不和谐的排列特别有趣,例如,当寻找结构变体时
使用–ff 、–fr 或-rf 选项设置配偶之间的预期相对方向. 使用-I 和-X 选项设置配偶之间距离(从配偶的 最远边缘测量;也称为“外距”)的预期范围. 注意,由于-I 和-X的值很大,会使Bowtie2的运行变慢。 有关-I和-X的更详细信息,请参阅相关文档。
为了声明一对比对不协调,Bowtie 2要求两个配偶比对唯一。这是一个保守的阈值,但当寻找结构变异时通常是可取的。

Bowtie 2默认搜索协调和不协调的比对,尽管可以使用–no-discordant选项禁用搜索不协调的比对。

优先配对,无法配对时采取单独模式

如果 Bowtie 2 无法为一对找到配对的对齐,默认情况下,它将继续寻找单个成员的非配对对齐。这称为“混合模式”。要禁用混合模式,请设置 --no-mixed 选项。

在 --no-mixed 模式下,Bowtie 2 的运行速度更快,但只会考虑对齐对的状态,而不考虑单个成员。
–no-mixed:默认情况下,当Bowtie2无法为一对查找到一致或不一致的比对时,它将尝试为每个配偶查找比对。此选项可禁用此行为。

一些 SAM FLAGS 描述双端属性

SAM FLAGS字段,即SAM记录中的第二个字段,包含多个位来描述读取和比对的双端特性。第一个(最低有效位)位(十进制中的1,十六进制中的0x1)设置为成对的读取部分。第二位(十进制中的2,十六进制中的0x2)设置为以双端方式对齐的配对部分。第四位(十进制中的8,十六进制中的0x8)设置为成对的读取部分,且对中的另一个伴侣至少有一个有效对齐。第六位(十进制中的32,十六进制中的0x20)设置为成对的读取部分,且另一个配对中的伴侣对齐到Crick链(或者等效地说,另一个伴侣的反向互补对齐到Watson链)。第七位(十进制中的64,十六进制中的0x40)设置为成对中的mate 1。第八位(十进制中的128,十六进制中的0x80)设置为成对中的mate 2。请参阅SAM规范以获取有关FLAGS字段的更详细描述。

一些 SAM 可选字段描述了更多成对端属性。

SAM 记录的最后好几个字段通常包含 SAM 选项字段,它们只是传达关于读取和对齐的附加信息的制表符分隔的字符串。 SAM 选项字段的格式如下:“XP:i:1”,其中“XP”是 TAG,“i”是类型(在本例中为“integer”),“1”是值。有关 SAM 选项字段的详细信息,请参见 SAM 规范。

Mates can overlap, contain, or dovetail each other

以下例子中,假设我们期望mate 1与mate 2在左边相互比配:fragment和read长度可能会使这两个mate配对相互重叠。 考虑以下例子:
(对于这些例子, 假设我们期望mate1在mate2的左边对齐。)
在这里插入图片描述
也有可能, 虽然不太常见, 一个伴侣的对齐包括另一个, 如下例:
在这里插入图片描述

也有可能(尽管不太常见),伴侣之间可以“dovetail”,似乎彼此延伸“超越”对方,如此例所示:

在这里插入图片描述

在某些情况下,只要不违反其他配对端约束,就期望aligner将所有这些情况视为“一致”。Bowtie 2的默认行为是将重叠和包含视为与一致对齐一致。默认情况下,dovetailing视为与一致对齐不一致。
这些默认值可以被覆盖。设定–no-overlap会使Bowtie 2认为重叠的配偶为非一致。设定–no-contain会使Bowtie 2认为其中一个比对完全包含另一个为非一致。设定 --dovetail 会使Bowtie 2认为翅状比对是一致的。

Reporting

报道模式决定Bowtie 2要搜索多少的比对,以及如何报告它们。 Bowtie 2具有三种不同的报告模式。 默认的报告模式类似于其他许多读取对齐工具(包括BWA)的默认报告模式。 它也与Bowtie 1的-M对齐模式相似。
一般来说,当我们说一个读取具有对齐时,我们的意思是它具有有效的对齐。当我们说一个读取有多个对齐时,我们的意思是它有多个有效的、彼此不同的对齐。

不同的比对可以将一段测序结果比对到不同的位置。

两个针对同一个读取的对齐是“不同的”,如果它们将同一个读出映射到不同的地方。具体来说,我们说两个对齐是不同的,如果没有对齐位置,其中某个特定的读取偏移量以相同的方向在两个对齐中都与特定的参考偏移量相反对齐。例如,如果第一个对齐以正向方向对准读取字符在读取偏移量10处,在染色体3,偏移量3,445,245处,而第二个对齐也以正向方向对准读取字符在读取偏移量10处,在染色体3,偏移量3,445,245处,它们不是不同的对齐。
两对结对的比对结果是不同的:如果两对结对比对结果中的mate 1不同,或者两对结对比对结果中的mate 2不同,或者两者皆不同。

默认模式: 搜索多个比对, 报告最好的一个

默认情况下,Bowtie 2为每个读取查找独特的有效对齐。当它找到一个有效的对齐时,它通常会继续寻找几乎一样好或更好的对齐。它最终会停止搜索,要么是因为它超过了搜索努力的限制(参见-D和-R),要么是因为它已经知道所有需要知道进行报告对齐。来自最佳对齐的信息用于估计映射质量(MAPQ SAM字段)并设置SAM可选字段,例如AS:i和XS:i。Bowtie 2不能保证报告的对齐是就对齐分数而言最好的可能的对齐。
AS:i::对齐分数。可以是负数。在–local模式下可以大于0(但在–end-to-end模式下,不能超过0)。如果SAM记录是针对对齐读数,则仅显示。
XS:i::与报告的比对除外,找到的最佳比对的比对分数。可以为负。可以在 --local 模式中大于 0(但不在 --end-to-end 模式中)。只有在 SAM 记录是比对上的 read,并且为 read 找到多个比对时才出现。请注意,当读取是共同比对的一对的一部分时,此分数可能会大于 AS:i。
也请参阅-D,它对连续失败的动态规划问题(即种子扩展)的数量设定了上限,在此之前 Bowtie 2 停止搜索。增加 -D 会使 Bowtie 2 变慢,但增加了它报告该读取片段的正确比对的可能性,即使该片段在多个位置都有比对。
也参见:-R,它设置Bowtie 2尝试对具有重复种子的读取进行重新播种的最大次数。 增加-R会使Bowtie 2变慢,但会增加其为许多地方对齐的读取报告正确比对的可能性。
-D :默认情况下,连续 次种子扩展尝试在Bowtie 2继续之前可以“失败”,使用已经找到的对齐。如果它没有产生新的最佳或新的第二最佳对齐,则种子扩展会“失败”。 当指定 -k 或 -a 时,此限制将自动升级。默认值:15。
-R :是 Bowtie 2 重新种子读数的最大次数。 当“重新种植”时,Bowtie 2 只是以不同的偏移量选择一组新的读数(相同长度,相同数量的允许错误)并寻找更多的比对。 如果总种子命中次数除以至少比对一次的种子数大于300,则认为该读数具有重复的种子。 默认值:2。

-k mode: search for one or more alignments, report each

在 -k 模式下,Bowtie 2 搜索最多 N 个不同、有效的每个读取对齐,其中 N 等于用 -k 参数指定的整数。也就是说,如果指定 -k 2,Bowtie 2 将搜索最多 2 个不同的对齐。它按对齐分数降序报告所有找到的对齐。配对端对齐的对齐分数等于个体配偶的对齐分数的总和。每个报告的读取或对齐超出第一个具有 SAM ‘secondary’ 位(等于256)的 FLAGS 字段。补充对齐还将分配 MAPQ 值为 255。有关详细信息,请参阅 SAM 规范。
Bowtie 2不会按照特定顺序“找到”比对,因此对于具有多于N个不同有效比对的序列,Bowtie 2不能保证报告的N个比对是最佳比对得分。不过,在用户更关心序列是否可以比对(或比对多少次)而不是它可能来自的特定位置的情况下,此模式仍然是高效和快速的。

-a mode: search for and report all alignments

一种模式与-k模式相似,只是Bowtie 2要报告的比对数量没有上限。比对按比对分值降序报告。一对端比对的比对分值等于个体mate的比对分值之和。每条报告的读取或者对端比对注意在其FLAGS字段中设置的SAM“次要”位(等于256)。附加的比对将被分配MAPQ 255。有关详细信息,请参阅SAM规范。
一些工具是针对这种报告模式进行设计的. Bowtie 2 却不是! 对于非常大的基因组, 这种模式非常缓慢。

Randomness in Bowtie 2

Bowtie 2搜索给定读数的对齐是“随机的”。也就是说,当Bowtie 2遇到一组同样好的选择时,它会使用伪随机数来进行选择。例如,如果Bowtie 2发现一组3个同样好的对齐,并且要决定报告哪个,它会挑选一个伪随机整数,0、1或2,然后报告相应的对齐。在对齐过程中,各种任意选择也会出现。
伪随机数生成器在每次读取时都被重新初始化,用于初始化的种子是读取名称,核苷酸串,质量串和–seed指定的值的函数。如果使用相同版本的Bowtie 2来运行具有相同名称,核苷酸串和质量串的两次读取,并且如果两次运行中都设置了–seed,那么Bowtie 2将产生相同的输出; 也就是说,即使有多个完全一样的比对,它也会将读取比对到相同的位置。在大多数情况下,这是直观且期望的。大多数用户希望Bowtie在对同一输入运行两次时产生相同的输出。
但是,当用户指定–non-deterministic选项时,Bowtie 2将使用当前时间来重新初始化伪随机数生成器。指定此选项时,Bowtie 2可能会对相同的读取报告不同的对齐情况。对某些用户来说,这是反直觉的,但是在输入包含许多相同读数的情况下,这可能更合适。
–non-deterministic:一般而言,Bowtie 2 会针对每个读取重新初始化其伪随机生成器。它使用从(a)读取名称,(b)核苷酸序列,(c)质量序列,(d) --seed 选项的值派生的数字来播种生成器。这意味着,如果两个读取完全相同(相同名称,相同的核苷酸,相同的质量),Bowtie 2 将会查找并报告相同的对齐,即使有模糊性。当指定 --non-deterministic 时,Bowtie 2会使用当前时间针对每一次读取重新初始化其伪随机生成器。这意味着Bowtie 2不一定会报告两个完全相同的读取相同的对齐。这对某些用户来说并不直观,但如果输入包括许多完全相同的读取,可能会更合适。

多种种子启发式

(Multiseed heuristic)
为了迅速缩小必须考虑的可能排列的数量, Bowtie 2 开始通过从读取与其反向补充中提取子字符串(“种子”)并在 FM Index 的帮助下无补充的方式对它们进行排列。 这是“多种子排列”,它与 Bowtie 1 的做法相似,只是 Bowtie 1 试图用这种方式排列整个读取数据。
为了提高速度,bowtie 2 首先使用一个过滤器,但以漏掉一些有效的对齐方式为代价。例如,对于一个读取来说,它可能有一个有效的总对齐,但没有有效的种子对齐,因为每个潜在的种子对齐都被太多的错配或者缺口所打断。
使用Bowtie 2,可以通过设置种子长度(-L),提取种子之间的间隔(-i)和允许的每个种子的错误数(-N)来调整速度和灵敏度/准确性之间的权衡。为了更好的对齐,将这些参数设置为(a)使种子更接近,(b)使种子更短,/或(c)允许更多的错误。您可以逐个调整这些选项,尽管Bowtie 2提供了一些有用的选项组合的预设选项。
-D 和 -R 也是可以调整速度与灵敏度/准确性之间折衷的选项。

FM索引内存足迹

Bowtie 2 使用 FM 索引来查找无缝对齐的种子。 这一步占Bowtie 2的大部分内存空间,因为FM索引本身通常是最大的数据结构。 例如,人类基因组的FM索引的内存占用空间约为3.2 GB RAM。

模糊字符

(Ambiguous characters)
非空白字符除了A、C、G或T以外被视为“模糊”。N是一个常见的模糊字符,出现在参考序列中。Bowtie 2认为参考序列中所有模糊字符(包括IUPAC核苷酸编码)均为Ns。

Bowtie 2允许对齐与参考序列中的模糊字符重叠。包含读取文件、参考文件或两者中的模糊字符的对齐位置将按照–np进行惩罚。–n-ceil设置了有效对齐中可以包含模糊参考字符的位置数的上限。可选字段XN:i报告对齐与模糊参考字符的重叠数量。

注意,多种种子启发式算法不能找到与模糊参考字符重叠的种子对齐。要找到与模糊参考字符重叠的对齐,必须有一个或多个种子对齐不重叠模糊参考字符。

一次性设置多个设置:预设

Presets: setting many settings at once
Bowtie 2 包含一些有用的参数组合,绑成更短的“预设”参数。例如,使用–very-sensitive 选项运行Bowtie 2 相当于运行 -D 20 -R 3 -N 0 -L 20 -i S,1,0.50的选项。Bowtie 2 提供的预设参数覆盖了速度/灵敏度/准确性的广阔空间,以fast 结尾的预设参数一般更快,但灵敏度和准确性较低,而以sensitive 结尾的预设参数通常较慢,但灵敏度和准确性更高。有关预设参数的详情,请参阅文档。

从 Bowtie2 v2.4.0开始,可以通过提供特定选项(如上面的[–very-sensitive]预设中的配置的种子长度20可以通过 -L 25参数在命令行中的任何位置来更改)来覆盖单个预设值​​。

筛选

一些阅读被Bowtie 2跳过或“过滤掉”,例如,阅读可能因为太短或含有高比例的歧义碱基而被过滤。Bowtie 2仍然会为这样的阅读输出SAM记录,但不会报告比对,而且YF:i SAM可选字段将被设置以指示该阅读被过滤的原因。
YF:Z:LN: 读取被筛选掉,因为它的长度小于或等于用-N 选项设置的种子错误数。
YF:Z:NS: 读取被筛选掉,因为它包含的含糊字符(通常为 N 或 .) 的数量大于用–n-ceil 指定的上限。YF:Z:SC: 读取被筛选掉,因为读取长度和匹配奖励(用 --ma 设置) 的这样,读取不可能获得大于或等于用 --score-min 设置的阈值的比对得分。
YF:Z:QC:由于标记为失败的质量控制而过滤此读取, 并且用户指定了–qc-filter选项。 这仅发生在输入位于Illumina的QSEQ格式(即当指定–qseq时)且读入的QSEQ记录的最后(第11个)字段包含1时。
如果可以因多个原因对读取进行过滤, 则YF:Z标记将反映其中一个原因。

Alignment summary

当 Bowtie 2 运行完毕后,它会发送一些消息,简要概述发生的情况。 这些消息会打印到“标准错误”(“stderr”)文件句柄中。 对于由不成对读取组成的数据集,摘要可能如下:

20000 reads; of these:
20000 (100.00%) were unpaired; of these:
1247 (6.24%) aligned 0 times
18739 (93.69%) aligned exactly 1 time
14 (0.07%) aligned >1 times
93.77% overall alignment rate
对于由对组成的数据集,摘要可能如下所示 :
10000 reads; of these:
10000 (100.00%) were paired; of these:
650 (6.50%) aligned concordantly 0 times
8823 (88.23%) aligned concordantly exactly 1 time
527 (5.27%) aligned concordantly >1 times
----
650 pairs aligned concordantly 0 times; of these:
34 (5.23%) aligned discordantly 1 time
----
616 pairs aligned 0 times concordantly or discordantly; of these:
1232 mates make up the pairs; of these:
660 (53.57%) aligned 0 times
571 (46.35%) aligned exactly 1 time
1 (0.08%) aligned >1 times
96.70% overall alignment rate
缩进表明小计与总计之间的关系。

封装脚本

(Wrapper scripts)
bowtie2,bowtie2-build和bowtie2-inspect可执行文件实际上是调用二进制程序的包装脚本。 包装层使用者无需区分“小”和“大”索引格式,在下一部分中有简要描述。 此外,bowtie2包装程序提供某些关键功能,例如处理压缩输入的能力以及–un,-- al和相关选项的功能。
建议你总是运行bowtie2的wrappers而不是直接运行二进制文件。

小型和大型指数

bowtie2-build可以索引任何大小的参考基因组。 对于不到约40亿个核苷酸长度的基因组,bowtie2-build使用索引的各个部分中的32位数字构建“小”索引。 当基因组较长时,bowtie2-build构建一个“大”索引使用64位数字。 小索引存储在具有.bt2扩展名的文件中,而大索引存储在具有.bt2l扩展名的文件中。 用户无需担心特定索引是大是小;包装脚本将自动构建并使用适当的索引。

性能调整

如果您的计算机具有多个处理器/核心,请使用-p 命令。 -p 选项会启动指定数量的 Parallel Search Threads。 每个线程在不同的处理器/内核上运行,所有线程并行查找对齐,约增加线程数倍的对齐吞吐量(尽管在实践中,加速程度略低于线性)。

如果每个序列报告的比对比较多,试着减小 bowtie2-build-offrate。

如果使用-k或-a选项,Bowtie 2 报告每个序列很多比对,使用索引的 SA 样本稠密会加快速度。为此,运行 bowtie2-build 时,指定一个比默认值更小的 -o / --offrate。索引稠密的 SA 样本可以产生较大的索引,也能特别有效地提高当大量报告每个序列的比对的时候的比对速度。
-o/–offrate ;使用 覆盖索引的 offrate。如果大于用于构建索引的 offrate,则在将索引读入内存时会丢弃一些行标记。这减少了排列器的内存占用,但需要更多时间来计算文本偏移量。必须大于用于构建索引的值。

如果bowtie2 “性能不佳”,请尝试增加bowtie2-build --offrate。如果在内存相对较低的计算机上运行bowtie2变得非常慢,可以在构建索引时设置-o/和–offrate为更大的值。这减轻了索引的内存占用。

Command Line

Setting function options(设置功能选项)

在这些情况下,用户指定三个参数:(a)函数类型F,(b)常数项B和©系数A。可用的函数类型有常数(C),线性(L),平方根(S)和自然对数(G)。参数按照F,B,A的顺序指定——即函数类型、常数项和系数用逗号分隔,之间不带有空白符。常数项和系数可以是负数和/或浮点数。
例如, 如果函数规格为 L,-0.4, -0.6, 那么定义的函数是:
f(x) = -0.4 + -0.6 * x
如果函数规格是G,1,5.4,那么定义的函数是:
f(x) = 1.0 + 5.4 * ln(x)
查看有问题的选项的文档以了解参数 x 的用途。例如,在 --score-min 选项的情况下,函数 f(x) 设置必须有的最低比对分数,以便比对被认为是有效的,而 x 为读长度。

比对原理解释

本次主要针对bowtie2的-a、-k参数做了测试
选取了两条reads作为input,分别复制4、2份作为基因组,再分别复制两份放入组成成新的基因组,一起进行bowtie2建库,比对
test.input:

@LH00380:125:227CNGLT4:5:1101:50800:1056 2:N:0:GCAGAAGA+AACAAGGT
NAAGGAAGGCCTGCCCCCGGCCTAGAAGGTCCTAAGGATTCATAGTTCCTCTCCTTGTCCAAGAATCTAGGGATGCAGACACCTTCCTGAACTGACCTTACACATGGGAACTGTTGTCTTCCTTCAGCCTTTTAGCTTATTCTAAGTTAT
+
#IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IIIIIIIIIIIIII-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
@LH00380:125:227CNGLT4:5:1101:51487:1126 2:N:0:GCAGAAGA+AACCAGGT
GATTACCGTAGATCGGAAGAGCGTCGTGGAGGGAAAGAGTGTAACCAAGTGTGTCGATCTCGGTGGTTTCCGTATCATTACAAAAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+
IIIIIIIIIIIIIIIIIIIIIIIIIIII-9III-9II9I99I-99II-9I-II---9---9--9-99-------99--9-99-9I---99-99-9999999I9-99II-999999999IIIIII--9I-I99I--I99I-9IIII9IIII

test.genomes

>3daskdjaj
NAAGGAAGGCCTGCCCCCGGCCTAGAAGGTCCTAAGGATTCATAGTTCCTCTCCTTGTCCAAGAATCTAGGGATGCAGACACCTTCCTGAACTGACCTTACACATGGGAACTGTTGTCTTCCTTCAGCCTTTTAGCTTATTCTAAGTTATNAAGGAAGGCCTGCCCCCGGCCTAGAAGGTCCTAAGGATTCATAGTTCCTCTCCTTGTCCAAGAATCTAGGGATGCAGACACCTTCCTGAACTGACCTTACACATGGGAACTGTTGTCTTCCTTCAGCCTTTTAGCTTATTCTAAGTTATNAAGGAAGGCCTGCCCCCGGCCTAGAAGGTCCTAAGGATTCATAGTTCCTCTCCTTGTCCAAGAATCTAGGGATGCAGACACCTTCCTGAACTGACCTTACACATGGGAACTGTTGTCTTCCTTCAGCCTTTTAGCTTATTCTAAGTTATNAAGGAAGGCCTGCCCCCGGCCTAGAAGGTCCTAAGGATTCATAGTTCCTCTCCTTGTCCAAGAATCTAGGGATGCAGACACCTTCCTGAACTGACCTTACACATGGGAACTGTTGTCTTCCTTCAGCCTTTTAGCTTATTCTAAGTTAT
>4daksdas
GATTACCGTAGATCGGAAGAGCGTCGTGGAGGGAAAGAGTGTAACCAAGTGTGTCGATCTCGGTGGTTTCCGTATCATTACAAAAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGATTACCGTAGATCGGAAGAGCGTCGTGGAGGGAAAGAGTGTAACCAAGTGTGTCGATCTCGGTGGTTTCCGTATCATTACAAAAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
>5dhajdhasj
NAAGGAAGGCCTGCCCCCGGCCTAGAAGGTCCTAAGGATTCATAGTTCCTCTCCTTGTCCAAGAATCTAGGGATGCAGACACCTTCCTGAACTGACCTTACACATGGGAACTGTTGTCTTCCTTCAGCCTTTTAGCTTATTCTAAGTTATGATTACCGTAGATCGGAAGAGCGTCGTGGAGGGAAAGAGTGTAACCAAGTGTGTCGATCTCGGTGGTTTCCGTATCATTACAAAAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGATTACCGTAGATCGGAAGAGCGTCGTGGAGGGAAAGAGTGTAACCAAGTGTGTCGATCTCGGTGGTTTCCGTATCATTACAAAAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGNAAGGAAGGCCTGCCCCCGGCCTAGAAGGTCCTAAGGATTCATAGTTCCTCTCCTTGTCCAAGAATCTAGGGATGCAGACACCTTCCTGAACTGACCTTACACATGGGAACTGTTGTCTTCCTTCAGCCTTTTAGCTTATTCTAAGTTAT


1)运行bowtie2 默认参数

bowtie2 -x test.genomes -q test.fastq  > test.out
@HD     VN:1.5  SO:unsorted     GO:query
@SQ     SN:GCF_000214035.2_ASM21403v3_**_lcl|NZ_AFHG01000060.1_cds_METUNV1_RS19870_1    LN:1201
@SQ     SN:GCF_000214035.2_ASM21403v3_**_lcl|NZ_AFHG01000059.1_cds_WP_043360298.1_2     LN:8502
@SQ     SN:3daskdjaj    LN:600
@SQ     SN:4daksdas     LN:300
@PG     ID:bowtie2      PN:bowtie2      VN:2.5.2        CL:"/public/home/TonyWuLab/zhangzhd/anaconda3/envs/bowtie2/bin/bowtie2-align-s --wrapper basic-0 -x test.genomes -q test.fastq"
LH00380:125:227CNGLT4:5:1101:50800:1056 0       3daskdjaj       301     1       150M    *       0       0       NAAGGAAGGCCTGCCCCCGGCCTAGAAGGTCCTAAGGATTCATAGTTCCTCTCCTTGTCCAAGAATCTAGGGATGCAGACACCTTCCTGAACTGACCTTACACATGGGAACTGTTGTCTTCCTTCAGCCTTTTAGCTTATTCTAAGTTAT  #IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IIIIIIIIIIIIII-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  AS:i:-1 XS:i:-1 XN:i:1  XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:0N149      YT:Z:UU
LH00380:125:227CNGLT4:5:1101:51487:1126 0       4daksdas        151     1       150M    *       0       0       GATTACCGTAGATCGGAAGAGCGTCGTGGAGGGAAAGAGTGTAACCAAGTGTGTCGATCTCGGTGGTTTCCGTATCATTACAAAAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG  IIIIIIIIIIIIIIIIIIIIIIIIIIII-9III-9II9I99I-99II-9I-II---9---9--9-99-------99--9-99-9I---99-99-9999999I9-99II-999999999IIIIII--9I-I99I--I99I-9IIII9IIII  AS:i:0  XS:i:0  XN:i:0  XM:i:0  XO:i:0  XG:i:0  NM:i:0  MD:Z:150        YT:Z:UU

结果只会显示一个,也就是存在的话,会找出来最好的那个进行报告,如果一样随机挑选一个进行报道
2)运行 -k 2

@HD     VN:1.5  SO:unsorted     GO:query
@SQ     SN:3daskdjaj    LN:600
@SQ     SN:4daksdas     LN:300
@SQ     SN:5dhajdhasj   LN:600
@PG     ID:bowtie2      PN:bowtie2      VN:2.5.2        CL:"/public/home/TonyWuLab/zhangzhd/anaconda3/envs/bowtie2/bin/bowtie2-align-s --wrapper basic-0 -x test.genomes -q test.fastq -k 2"
LH00380:125:227CNGLT4:5:1101:50800:1056 0       3daskdjaj       1       1       150M    *       0       0       NAAGGAAGGCCTGCCCCCGGCCTAGAAGGTCCTAAGGATTCATAGTTCCTCTCCTTGTCCAAGAATCTAGGGATGCAGACACCTTCCTGAACTGACCTTACACATGGGAACTGTTGTCTTCCTTCAGCCTTTTAGCTTATTCTAAGTTAT  #IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IIIIIIIIIIIIII-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  AS:i:-1 XS:i:-1 XN:i:1  XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:0N149      YT:Z:UU
LH00380:125:227CNGLT4:5:1101:50800:1056 256     3daskdjaj       301     255     150M    *       0       0       NAAGGAAGGCCTGCCCCCGGCCTAGAAGGTCCTAAGGATTCATAGTTCCTCTCCTTGTCCAAGAATCTAGGGATGCAGACACCTTCCTGAACTGACCTTACACATGGGAACTGTTGTCTTCCTTCAGCCTTTTAGCTTATTCTAAGTTAT  #IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IIIIIIIIIIIIII-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  AS:i:-1 XS:i:-1 XN:i:1  XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:0N149      YT:Z:UU
LH00380:125:227CNGLT4:5:1101:51487:1126 0       5dhajdhasj      301     1       150M    *       0       0       GATTACCGTAGATCGGAAGAGCGTCGTGGAGGGAAAGAGTGTAACCAAGTGTGTCGATCTCGGTGGTTTCCGTATCATTACAAAAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG  IIIIIIIIIIIIIIIIIIIIIIIIIIII-9III-9II9I99I-99II-9I-II---9---9--9-99-------99--9-99-9I---99-99-9999999I9-99II-999999999IIIIII--9I-I99I--I99I-9IIII9IIII  AS:i:0  XS:i:0  XN:i:0  XM:i:0  XO:i:0  XG:i:0  NM:i:0  MD:Z:150        YT:Z:UU
LH00380:125:227CNGLT4:5:1101:51487:1126 256     4daksdas        151     255     150M    *       0       0       GATTACCGTAGATCGGAAGAGCGTCGTGGAGGGAAAGAGTGTAACCAAGTGTGTCGATCTCGGTGGTTTCCGTATCATTACAAAAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG  IIIIIIIIIIIIIIIIIIIIIIIIIIII-9III-9II9I99I-99II-9I-II---9---9--9-99-------99--9-99-9I---99-99-9999999I9-99II-999999999IIIIII--9I-I99I--I99I-9IIII9IIII  AS:i:0  XS:i:0  XN:i:0  XM:i:0  XO:i:0  XG:i:0  NM:i:0  MD:Z:150        YT:Z:UU

结果会分别显示两个
也就是说会随机选出两个进行报道
3)运行-a 参数,结果会全部展示,这里就不再贴出来结果了

@HD     VN:1.5  SO:unsorted     GO:query
@SQ     SN:3daskdjaj    LN:600
@SQ     SN:4daksdas     LN:300
@SQ     SN:5dhajdhasj   LN:600
@PG     ID:bowtie2      PN:bowtie2      VN:2.5.2        CL:"/public/home/TonyWuLab/zhangzhd/anaconda3/envs/bowtie2/bin/bowtie2-align-s --wrapper basic-0 -x test.genomes -q test.fastq -a"
LH00380:125:227CNGLT4:5:1101:50800:1056 0       5dhajdhasj      1       1       150M    *       0       0       NAAGGAAGGCCTGCCCCCGGCCTAGAAGGTCCTAAGGATTCATAGTTCCTCTCCTTGTCCAAGAATCTAGGGATGCAGACACCTTCCTGAACTGACCTTACACATGGGAACTGTTGTCTTCCTTCAGCCTTTTAGCTTATTCTAAGTTAT  #IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IIIIIIIIIIIIII-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  AS:i:-1 XS:i:-1 XN:i:1  XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:0N149      YT:Z:UU
LH00380:125:227CNGLT4:5:1101:50800:1056 256     3daskdjaj       151     255     150M    *       0       0       NAAGGAAGGCCTGCCCCCGGCCTAGAAGGTCCTAAGGATTCATAGTTCCTCTCCTTGTCCAAGAATCTAGGGATGCAGACACCTTCCTGAACTGACCTTACACATGGGAACTGTTGTCTTCCTTCAGCCTTTTAGCTTATTCTAAGTTAT  #IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IIIIIIIIIIIIII-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  AS:i:-1 XS:i:-1 XN:i:1  XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:0N149      YT:Z:UU
LH00380:125:227CNGLT4:5:1101:50800:1056 256     3daskdjaj       451     255     150M    *       0       0       NAAGGAAGGCCTGCCCCCGGCCTAGAAGGTCCTAAGGATTCATAGTTCCTCTCCTTGTCCAAGAATCTAGGGATGCAGACACCTTCCTGAACTGACCTTACACATGGGAACTGTTGTCTTCCTTCAGCCTTTTAGCTTATTCTAAGTTAT  #IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IIIIIIIIIIIIII-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  AS:i:-1 XS:i:-1 XN:i:1  XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:0N149      YT:Z:UU
LH00380:125:227CNGLT4:5:1101:50800:1056 256     3daskdjaj       301     255     150M    *       0       0       NAAGGAAGGCCTGCCCCCGGCCTAGAAGGTCCTAAGGATTCATAGTTCCTCTCCTTGTCCAAGAATCTAGGGATGCAGACACCTTCCTGAACTGACCTTACACATGGGAACTGTTGTCTTCCTTCAGCCTTTTAGCTTATTCTAAGTTAT  #IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IIIIIIIIIIIIII-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  AS:i:-1 XS:i:-1 XN:i:1  XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:0N149      YT:Z:UU
LH00380:125:227CNGLT4:5:1101:50800:1056 256     3daskdjaj       1       255     150M    *       0       0       NAAGGAAGGCCTGCCCCCGGCCTAGAAGGTCCTAAGGATTCATAGTTCCTCTCCTTGTCCAAGAATCTAGGGATGCAGACACCTTCCTGAACTGACCTTACACATGGGAACTGTTGTCTTCCTTCAGCCTTTTAGCTTATTCTAAGTTAT  #IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IIIIIIIIIIIIII-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  AS:i:-1 XS:i:-1 XN:i:1  XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:0N149      YT:Z:UU
LH00380:125:227CNGLT4:5:1101:50800:1056 256     5dhajdhasj      451     255     150M    *       0       0       NAAGGAAGGCCTGCCCCCGGCCTAGAAGGTCCTAAGGATTCATAGTTCCTCTCCTTGTCCAAGAATCTAGGGATGCAGACACCTTCCTGAACTGACCTTACACATGGGAACTGTTGTCTTCCTTCAGCCTTTTAGCTTATTCTAAGTTAT  #IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IIIIIIIIIIIIII-IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  AS:i:-1 XS:i:-1 XN:i:1  XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z:0N149      YT:Z:UU
LH00380:125:227CNGLT4:5:1101:51487:1126 0       4daksdas        1       1       150M    *       0       0       GATTACCGTAGATCGGAAGAGCGTCGTGGAGGGAAAGAGTGTAACCAAGTGTGTCGATCTCGGTGGTTTCCGTATCATTACAAAAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG  IIIIIIIIIIIIIIIIIIIIIIIIIIII-9III-9II9I99I-99II-9I-II---9---9--9-99-------99--9-99-9I---99-99-9999999I9-99II-999999999IIIIII--9I-I99I--I99I-9IIII9IIII  AS:i:0  XS:i:0  XN:i:0  XM:i:0  XO:i:0  XG:i:0  NM:i:0  MD:Z:150        YT:Z:UU
LH00380:125:227CNGLT4:5:1101:51487:1126 256     5dhajdhasj      301     255     150M    *       0       0       GATTACCGTAGATCGGAAGAGCGTCGTGGAGGGAAAGAGTGTAACCAAGTGTGTCGATCTCGGTGGTTTCCGTATCATTACAAAAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG  IIIIIIIIIIIIIIIIIIIIIIIIIIII-9III-9II9I99I-99II-9I-II---9---9--9-99-------99--9-99-9I---99-99-9999999I9-99II-999999999IIIIII--9I-I99I--I99I-9IIII9IIII  AS:i:0  XS:i:0  XN:i:0  XM:i:0  XO:i:0  XG:i:0  NM:i:0  MD:Z:150        YT:Z:UU
LH00380:125:227CNGLT4:5:1101:51487:1126 256     5dhajdhasj      151     255     150M    *       0       0       GATTACCGTAGATCGGAAGAGCGTCGTGGAGGGAAAGAGTGTAACCAAGTGTGTCGATCTCGGTGGTTTCCGTATCATTACAAAAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG  IIIIIIIIIIIIIIIIIIIIIIIIIIII-9III-9II9I99I-99II-9I-II---9---9--9-99-------99--9-99-9I---99-99-9999999I9-99II-999999999IIIIII--9I-I99I--I99I-9IIII9IIII  AS:i:0  XS:i:0  XN:i:0  XM:i:0  XO:i:0  XG:i:0  NM:i:0  MD:Z:150        YT:Z:UU
LH00380:125:227CNGLT4:5:1101:51487:1126 256     4daksdas        151     255     150M    *       0       0       GATTACCGTAGATCGGAAGAGCGTCGTGGAGGGAAAGAGTGTAACCAAGTGTGTCGATCTCGGTGGTTTCCGTATCATTACAAAAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG  IIIIIIIIIIIIIIIIIIIIIIIIIIII-9III-9II9I99I-99II-9I-II---9---9--9-99-------99--9-99-9I---99-99-9999999I9-99II-999999999IIIIII--9I-I99I--I99I-9IIII9IIII  AS:i:0  XS:i:0  XN:i:0  XM:i:0  XO:i:0  XG:i:0  NM:i:0  MD:Z:150        YT:Z:UU

这也就说明,-a。-k参数会影响一个reads是否能map到全部的基因组上去

Bowtie2是一个用于快速、内存高效地将短读序列与哺乳动物大小的基因组进行比对的工具。它使用的是基于FM-index的索引结构,能够有效地处理长度为20-200个碱基的DNA序列。Bowtie2支持单端和双端的比对,以及局部和全局的比对模式。 使用Bowtie2进行比对的基本步骤如下: 1. 首先,需要有一个基因组序列,并且需要构建一个索引文件,这是使用Bowtie2之前必须完成的一步。构建索引的命令格式如下: ``` bowtie2-build <reference_in> <bt2_index_base> ``` 其中 `<reference_in>` 是基因组的FASTA格式文件,而 `<bt2_index_base>` 是输出的索引文件的前缀名。 2. 构建索引后,就可以使用Bowtie2将序列读取与索引的基因组进行比对了。比对的基本命令格式如下: ``` bowtie2 -U <reads> -S <output_sam_file> ``` 在这里,`<bt2_index_base>` 是之前构建索引时指定的文件前缀,`<reads>` 是包含测序读数的文件,通常为FASTQ格式。`<output_sam_file>` 是比对结果的输出文件,通常输出为SAM格式,但是Bowtie2也能输出BAM格式。 3. 为了优化比对过程,Bowtie2提供许多参数来自定义比对条件,例如,可以选择是否报告多于一个最佳的比对位置、允许的最大gap大小等。 4. 比对完成后,通常需要将SAM格式的文件转换为更为紧凑的BAM格式,并进行排序。这可以通过Samtools来完成: ``` samtools view -Sb <output_sam_file> > <output_bam_file> samtools sort <output_bam_file> -o <sorted_output_bam_file> ``` 以上就是使用Bowtie2进行基因组序列比对的基本步骤。需要注意的是,具体使用时可能需要根据数据和研究目的调整参数,以获得最佳的比对结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值