对不起,但问题不容易压缩成一个句子...合并列表问题
我有两个重叠群列表(list1和list2)。它们大多含有独特的重叠群,但有一些重叠。我想比较list1和list2,然后创建一个列表3,其中包含list1中的所有重叠群减去也存在于list2中的所有重叠群。使用简单的cat/paste/grep/sort/uniq类批处理命令可以实现吗?
谢谢!
对不起,但问题不容易压缩成一个句子...合并列表问题
我有两个重叠群列表(list1和list2)。它们大多含有独特的重叠群,但有一些重叠。我想比较list1和list2,然后创建一个列表3,其中包含list1中的所有重叠群减去也存在于list2中的所有重叠群。使用简单的cat/paste/grep/sort/uniq类批处理命令可以实现吗?
谢谢!
你可以sort
和uniq
做到这一点:
sort list1 list2 list2 | uniq -u
在list2中的任何线将出现在排序的输出中至少两次,因此将被uniq过滤器过滤
看看在Iesi.Collections库,也请参考文章在CodeProject http://www.codeproject.com/KB/recipes/sets.aspx#xx703510xx
尝试comm -23
例子(第一个列表:编号1-10,第二个列表包含数字5-8)
comm -23 <(seq 1 10) <(seq 5 8)
的假设是,你的列表1和列表2排序
你没有表现出任何的样品关于你的名单的数据,所以我做了。假设
$ 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
如果不是你想要的,你的名单范例和所需输出
我也是在生物信息学和基因组学工作的描述更加清楚。
如果你真的想得到uniq contig序列,你最好使用python或perl来使这个问题重叠/ mismacth线程!
来自中国深圳BGI的GentleYang :)
谢谢! 其他人也可能工作,但这对我的数据集做了诀窍。 :) – 2010-01-18 13:56:07