如何创建由另一个文件中的值定义的间隔文件 - 用于WGS数据的圆圈成像

时间:2017-08-06 11:03:23

标签: unix genome circos

我试图用circos软件描绘我寄生虫的全基因组序列(WGS)数据。

我想描述的一个要素是参考基因组的区域,我没有来自寄生虫的测序数据。

为了做到这一点,我使用Samtools创建了一个mpileup文件,我从中提取了序列深度为0的位置。因此我有一个看起来像这样的文件:

$chromosome_name $chromosome_position $depth
chr_1 1 0
chr_1 2 0
chr_1 3 0
chr_2 67 0
chr_2 68 0 
chr_2 1099 0
chr_2 1100 0
chr_2 1101 0

这意味着染色体1中有3个位置,没有序列数据(深度= 0):即位置1,2和3.对于染色体2,没有数据的位置是位置67,68,1099,1100和1101.

由于我的文件很庞大(最多300万行),以及很多未序列位置都是间隔的事实,我想从上面的数据创建一个间隔文件。此外,circos需要这样的间隔文件才能创建图块。因此,我需要从上面创建一个新文件,如下所示:

$chromosome_name $start_pos $end_pos
chr_1 1 3
chr_2 67 68
chr_2 1099 1101

我搜索过一堆,但我只发现了有关按预定间隔对数据进行分组的问题(例如,在6个月内发生的团购,患者按年龄等)。

所以,如果有人可以帮助我,我将非常高兴! 西德尔

1 个答案:

答案 0 :(得分:0)

考虑使用bedtools。特别是bedtools merge子命令:

http://bedtools.readthedocs.io/en/latest/content/tools/merge.html

从这个页面看,它似乎可以做你想要的:

  

bedtools merge将重叠或“书籍结束”功能结合在一起   将间隔文件转换为跨越所有组合的单个特征   特征

此外,您可以使用-d选项指定要合并的要素之间的最大距离:

  

-d允许合并要素的要素之间的最大距离。默认值为0.即,重叠和/或书籍结束功能   合并。