Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在linux上,根据相应的数字展开文本文件的每一行_Linux_Shell_Awk_Sed_Bioinformatics - Fatal编程技术网

在linux上,根据相应的数字展开文本文件的每一行

在linux上,根据相应的数字展开文本文件的每一行,linux,shell,awk,sed,bioinformatics,Linux,Shell,Awk,Sed,Bioinformatics,在linux上,我可以仅仅通过基本shell处理、awk或sed将第一种格式转换为第二种格式吗 这是一个玩具示例: 这种文本文件就是我的,三个col,col2和col3相似的范围,左关闭和右打开 chr1 0 2 0 chr1 2 6 1.5 chr2 0 3 0 chr2 3 10 2.1 将每个职位描述为: chr1 0 0 chr1 1 0 chr1 2 1.5 chr1 3 1.5 chr1 4 1.5 chr1 5 1.5 chr2 0 0

在linux上,我可以仅仅通过基本shell处理、awk或sed将第一种格式转换为第二种格式吗

这是一个玩具示例:

这种文本文件就是我的,三个col,col2和col3相似的范围,左关闭和右打开

chr1 0 2 0  
chr1 2 6 1.5  
chr2 0 3 0  
chr2 3 10 2.1
将每个职位描述为:

chr1 0 0  
chr1 1 0  
chr1 2 1.5  
chr1 3 1.5  
chr1 4 1.5  
chr1 5 1.5  
chr2 0 0      
chr2 1 0  
chr2 2 0    
chr2 3 2.1  
...  
chr2 9 2.1

这可以通过
awk
完成

awk '{for(i=$2;i<$3;i++)print $1,i,$4}' file

awk'{for(i=$2;i这可以通过
awk
完成

awk '{for(i=$2;i<$3;i++)print $1,i,$4}' file

awk'{for(i=$2;i另一个选项是对
bedops
bedmap
cut
使用设置和映射操作:

$ bedops --chop 1 foo.bed | bedmap --faster --echo --echo-map-id --delim "\t" - foo.bed | cut -f1,2,4 > answer.txt

如果需要其他类型的分割和信号映射,可能会提供一定的灵活性。

另一个选项是使用设置和映射操作与
bedops
bedmap
cut

$ bedops --chop 1 foo.bed | bedmap --faster --echo --echo-map-id --delim "\t" - foo.bed | cut -f1,2,4 > answer.txt

如果需要其他类型的分割和信号映射,可能会提供一些灵活性。

awk'{B=int($2);E=int($3);for(i=B;iThanks!!!这是Pierre Lindenbaum刚才的回答(我把这个问题贴到其他地方,因为太无助了,找不到答案),我现在正在尝试,但是我的数据太大了,还没有用完。这两种方法导致相同的结果,并且完全正确。awk'{B=int($2);E=int($3);for(I=B;iThanks!!!这是Pierre Lindenbaum刚才的回答(我把这个问题贴到其他地方,因为我很无助,也找不到答案),我正在尝试,但是我的数据太大了,还没有用完。这两种方法导致相同的结果,而且完全正确。对不起,我等了很长时间,并认为我在这里不会再得到答案。但我肯定会注意到你的善意提醒。不用担心,只是想链接帖子。我不介意交叉发布,只要它们是凯德。我还是会注意的~Thankstorry,我等了很长时间,我想我在这里不会再得到答案了。但我肯定会注意到你的提醒。不用担心,我只是想链接这些帖子。我不介意交叉发布,只要它们是链接的。我还是会注意~Thankstory~请你解释一下bedops和bedmap命令以及o您使用的选项?您能解释一下bedops和bedmap命令的作用以及您使用的选项吗?