- 论坛徽章:
- 1
|
file1最后一列 rel_pos的值是否落在另一个文件file2中的区间(例如第一行 267为起点 346为钟点)。
ENSRNOG000000xx1是不同的ID,是两个文件都含有的. 注:一定要ID先匹配再考虑范围
最后输出 以file2为主,将file1 的值[ chr1 17618115 T C CC CC TT TT ENSRNOG00000013436_451 chr1 17617848 17618216 369 268]填到file 2后面
file1
value.V1 value.V2 value.V3 value.V4 value.V5 value.V6 value.V7 value.V8 value.V9 chromosome start end dmr_length rel_pos
chr1 17618115 T C CC CC TT TT ENSRNOG00000013436_451 chr1 17617848 17618216 369 268
chr1 17618162 A C CC CC AA AA ENSRNOG00000013436_451 chr1 17617848 17618216 369 315
chr1 24197584 A G GG GG AG AG ENSRNOG00000016371_102 chr1 24197021 24198790 1770 564
chr1 24197597 C T TT TT CT CT ENSRNOG00000016371_102 chr1 24197021 24198790 1770 577
chr1 24197733 G C CC CC GC GG ENSRNOG00000016371_102 chr1 24197021 24198790 1770 713
chr1 24197750 G A AA AA GG GG ENSRNOG00000016371_102 chr1 24197021 24198790 1770 730
file2
V$GLI_Q3 267 346 g2_ENSRNOG00000013436_451
V$GKLF_Q4 345 351 g2_ENSRNOG00000013436_451
V$IK_Q5_01 345 351 g2_ENSRNOG00000013436_451
V$TTF1_Q5_01 347 353 g2_ENSRNOG00000013436_451
V$COE1_Q6 347 360 g2_ENSRNOG00000013436_451
V$TBX5_01 13 24 g2_ENSRNOG00000016371_102
V$RBPJK_01 27 37 g2_ENSRNOG00000016371_102
V$DR4_Q2 34 50 g2_ENSRNOG00000016371_102
V$BBX_04 117 133 g2_ENSRNOG00000016371_102
V$BBX_04 118 134 g2_ENSRNOG00000016371_102
用$ awk 'FNR==NR{a[$NF]=$0;next}{YN="No";for(n in a)if($2<=+n&&+n<=$3){YN="Yes";break}print $0,YN}' file1 file2结果似乎不太对,请问是不是这里忽略了id的匹配?
请各位大神支招。。
|
|