对不好的标题感到抱歉,但问题并不容易压缩成一句......
我有两个重叠群列表(list1和list2)。它们主要包含独特的重叠群,但有一些重叠。我想比较list1和list2,然后创建一个list3,其中包含list1中的所有contigs减去list2中也存在的contigs。这可以通过简单的cat / paste / grep / sort / uniq类批处理命令来实现吗?
谢谢!
答案 0 :(得分:1)
您可以使用sort
和uniq
:
sort list1 list2 list2 | uniq -u
list2中的任何行在排序的输出中至少出现两次,因此将由uniq过滤器过滤
答案 1 :(得分:0)
看看Iesi.Collections库,请参阅Codeproject上的文章 http://www.codeproject.com/KB/recipes/sets.aspx#xx703510xx
答案 2 :(得分:0)
尝试comm -23
示例(第一个列表:数字1-10,第二个列表包含数字5-8)
comm -23 <(seq 1 10) <(seq 5 8)
假设您的list1和list2已排序
答案 3 :(得分: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
如果它不是您想要的,请使用您的列表和所需输出的示例更清楚地描述
答案 4 :(得分:0)
我也在生物信息学和基因组学工作。
如果您真的想获得uniq重叠群序列,最好使用python或perl来解决重叠/错误的线程问题!
来自中国深圳华大基因的GentleYang:)