我试图用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个月内发生的团购,患者按年龄等)。
所以,如果有人可以帮助我,我将非常高兴! 西德尔
答案 0 :(得分:0)
考虑使用bedtools。特别是bedtools merge
子命令:
http://bedtools.readthedocs.io/en/latest/content/tools/merge.html
从这个页面看,它似乎可以做你想要的:
bedtools merge将重叠或“书籍结束”功能结合在一起 将间隔文件转换为跨越所有组合的单个特征 特征
此外,您可以使用-d
选项指定要合并的要素之间的最大距离:
-d允许合并要素的要素之间的最大距离。默认值为0.即,重叠和/或书籍结束功能 合并。