2010-01-18 56 views
1

对不起,但问题不容易压缩成一个句子...合并列表问题

我有两个重叠群列表(list1和list2)。它们大多含有独特的重叠群,但有一些重叠。我想比较list1和list2,然后创建一个列表3,其中包含list1中的所有重叠群减去也存在于list2中的所有重叠群。使用简单的cat/paste/grep/sort/uniq类批处理命令可以实现吗?

谢谢!

回答

1

你可以sortuniq做到这一点:

sort list1 list2 list2 | uniq -u 

在list2中的任何线将出现在排序的输出中至少两次,因此将被uniq过滤器过滤

+0

谢谢! 其他人也可能工作,但这对我的数据集做了诀窍。 :) – 2010-01-18 13:56:07

0

尝试comm -23

例子(第一个列表:编号1-10,第二个列表包含数字5-8)

comm -23 <(seq 1 10) <(seq 5 8)

的假设是,你的列表1和列表2排序

0

你没有表现出任何的样品关于你的名单的数据,所以我做了。假设

$ cat file1 
11 
12 
5 
13 
7 
14 
15 

$ cat file2 
6 
7 
8 
5 
4 
1 

$ awk 'FNR==NR { a[$0]; next } (! ($0 in a)) ' file2 file1 
11 
12 
13 
14 
15 

如果不是你想要的,你的名单范例和所需输出

0

我也是在生物信息学和基因组学工作的描述更加清楚。

如果你真的想得到uniq contig序列,你最好使用python或perl来使这个问题重叠/ mismacth线程!

来自中国深圳BGI的GentleYang :)