我正在寻找几个小时(实际上已经两天),但我还找不到我的问题的答案。我已经尝试过 Sed 和 Awk,但我无法正确设置参数。
本质上,这就是我正在寻找的
对于 file_1 中的每一行
IF [file_1 中 colum2 中的值]等于 [file_2 中某行
中第
4列中的值]
或等于 [file_2 中某行中第 5 列中的值] 或介于
[第 4 列和第 4列中的值]值 file_2 中某行的第 5 列]
THAN将 file_2某行的第 3、6
和 7列添加到 file_1 的第 3、4 和 5 列
注意:需要比较的值是 INT,列 3、6 和 7 中的值(只需要复制)是 STRING
这是上下文,但可能没有必要阅读:
我有两个包含基因组数据的文件,我想以特定方式合并它们(列是制表符分隔的)
- 第一个文件包含变体(只有感兴趣的 SNP),有效地,只有第二列是相关的。此列是数字列表(该变体在染色体上的位置)
- 我有一个包含以下数据的结构注释文件:
- 第 4 列是特定结构的开始位置,第 5 列是结束位置。
- 第 3、7 和 9 列包含描述特定结构(基因名称等)的信息。
我想用注释文件中的数据注释第一个文件中的变体。因此,如果变体文件第 2 列中的数字等于第 4 列或第 5 列或在特定行中的这些值之间,则需要添加注释中该特定行的第 3、7 和 9 列。
样本文件 1
SOME_NON_RELEVANT_STRING 142
SOME_NON_RELEVANT_STRING 182
SOME_NON_RELEVANT_STRING 320
SOME_NON_RELEVANT_STRING 321
SOME_NON_RELEVANT_STRING 322
SOME_NON_RELEVANT_STRING 471
SOME_NON_RELEVANT_STRING 488
SOME_NON_RELEVANT_STRING 497
SOME_NON_RELEVANT_STRING 541
SOME_NON_RELEVANT_STRING 545
SOME_NON_RELEVANT_STRING 548
SOME_NON_RELEVANT_STRING 4105
SOME_NON_RELEVANT_STRING 15879
SOME_NON_RELEVANT_STRING 26534
SOME_NON_RELEVANT_STRING 30000
SOME_NON_RELEVANT_STRING 30001
SOME_NON_RELEVANT_STRING 40001
SOME_NON_RELEVANT_STRING 44752
SOME_NON_RELEVANT_STRING 50587
SOME_NON_RELEVANT_STRING 87512
SOME_NON_RELEVANT_STRING 96541
SOME_NON_RELEVANT_STRING 99541
SOME_NON_RELEVANT_STRING 99871
样本文件 2
SOME_NON_RELEVANT_STRING SOME_NON_RELEVANT_STRING A1 0 38 B1 C1
SOME_NON_RELEVANT_STRING SOME_NON_RELEVANT_STRING A2 40 2100 B2 C2
SOME_NON_RELEVANT_STRING SOME_NON_RELEVANT_STRING A3 2101 9999 B3 C3
SOME_NON_RELEVANT_STRING SOME_NON_RELEVANT_STRING A4 10000 15000 B4 C4
SOME_NON_RELEVANT_STRING SOME_NON_RELEVANT_STRING A5 15001 30000 B5 C5
SOME_NON_RELEVANT_STRING SOME_NON_RELEVANT_STRING A6 30001 40000 B6 C6
SOME_NON_RELEVANT_STRING SOME_NON_RELEVANT_STRING A7 40001 50001 B7 C7
SOME_NON_RELEVANT_STRING SOME_NON_RELEVANT_STRING A8 50001 50587 B8 C8
SOME_NON_RELEVANT_STRING SOME_NON_RELEVANT_STRING A9 50588 83054 B9 C9
SOME_NON_RELEVANT_STRING SOME_NON_RELEVANT_STRING A10 83055 98421 B10 C10
SOME_NON_RELEVANT_STRING SOME_NON_RELEVANT_STRING A11 98422 99999 B11 C11
示例输出文件
142 A2 B2 C2
182 A2 B2 C2
320 A2 B2 C2
321 A2 B2 C2
322 A2 B2 C2
471 A2 B2 C2
488 A2 B2 C2
497 A2 B2 C2
541 A2 B2 C2
545 A2 B2 C2
548 A2 B2 C2
4105 A3 B3 C3
15879 A5 B5 C5
26534 A5 B5 C5
30000 A5 B5 C5
30001 A6 B6 C6
40001 A7 B7 C7
44752 A7 B7 C7
50587 A8 B8 C8
87512 A10 B10 C10
96541 A10 B10 C10
99541 A11 B11 C11
99871 A11 B11 C1
1