我有一个文件包含一些职位,
head positions
142541687
142541814
142541910
142542976
142544533
142546366
142548674
142560386
我有另一个文件夹包含 1800 个文件,每个文件属于一个人(总共 1800 个人)。第 2 列是位置,第 4 列是个人 ID:
head NA20507.mapped.ILLUMINA.bwa.TSI.low_coverage.20130415.bam_dp
1 142541687 78 NA20507
1 142535975 79 NA20507
1 142535976 79 NA20507
1 142535977 77 NA20507
1 142535978 78 NA20507
1 142535979 77 NA20507
或另一个人的例子,
head NA20901.mapped.ILLUMINA.bwa.GIH.low_coverage.20120522.bam_dp
1 142541687 135 NA20901
1 142535975 135 NA20901
1 142535976 137 NA20901
1 142535977 138 NA20901
1 142535978 138 NA20901
1 142535979 136 NA20901
1 142535980 135 NA20901
对于每个单独的文件,我只想保留那些具有位置文件中位置的行(单个文件的第二列与位置文件匹配),但是我想分别为每个位置存储它!
cat NA20507.mapped.ILLUMINA.bwa.TSI.low_coverage.20130415.bam_dp_match142541687
1 142541687 78 NA20507
最后,我想为所有个人合并这些文件:例如位置 142541687
head desired_pos142541687
1 142541687 78 NA20507
1 142541687 135 NA20901
或职位 142542976;
desired_pos142542976
1 142535976 79 NA20507
1 142535976 137 NA20901
这或多或少与您对类似问题的答案相同:首先读取一个文件(位置),然后解析其他文件并提取数据。
如果给出问题中的两个单独的文件,并且如果
positions
包含 142535975,那么这将desired_pos142535975
使用以下内容创建:假设所有位置都引用染色体 1(或至少与单个文件中相同的染色体),这将起作用,因为除了文件中的位置之外没有染色体名称信息
positions
。