samtools index failed

近来在进行染色体级别基因组的分析。

使用pindel软件对染色体的结构变异进行检测。

在计算过程中发现,和delly不同,pindel需要使用二代数据(*.bam)并识别索引“.bai”而不识别“.csi”。

由于我的基因组组装至chromsome(scaffold)水平,因此scaffold1>512M。

本人系统默认samtools在对其进行索引建立的过程中报错如下,

[E::hts_idx_check_range] Region 536870752..536870915 cannot be stored in a bai index. Try using a csi index with min_shift = 14, n_lvls >= 6

[E::sam_index] Read '***' with ref_name='hic_scaffold_1', ref_length=569202264, flags=97, pos=536870753 cannot be indexed

samtools index: failed to create index for "***.bam": Numerical result out of range

通过检测samtools版本发现

samtools --version 检测版本 


进而通过查阅发现其他策略解决,

包括1、切割染色体,使用bed文件对内容进行切割,本人没有尝试过

2、听说biobambam2可以构建,本人也没有尝试过。

3、使用其他版本samtools,这是我使用的解决办法。

首先找到其他版本的samtools, 这里根据网上的提示我找到的是samtools-0.1.13版本

在网页https://sourceforge.net/projects/samtools/files/samtools/0.1.13/

在linux界面使用

wget https://sourceforge.net/projects/samtools/files/samtools/0.1.13/samtools-0.1.13.tar.bz2

tar -jxvf samtools-0.1.13.tar.bz2

make

./samtools 运行看是否可以用。


使用绝对路径直接调用samtools即可解决samtools不能index过长scaffold的问题。

你可能感兴趣的:(samtools index failed)