Eu tenho um arquivo que contém algumas posições,
head positions
142541687
142541814
142541910
142542976
142544533
142546366
142548674
142560386
Eu tenho outra pasta contendo 1800 arquivos, cada arquivo pertence a um indivíduo (1800 indivíduos no total). A coluna 2 é a posição e a coluna 4 é o ID individual:
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
ou exemplo de outro indivíduo,
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
Para cada arquivo individual, quero manter apenas as linhas que contêm as posições do arquivo de posição (a segunda coluna do arquivo individual corresponde ao arquivo de posição), mas quero armazená-la para cada posição separadamente!
cat NA20507.mapped.ILLUMINA.bwa.TSI.low_coverage.20130415.bam_dp_match142541687
1 142541687 78 NA20507
No final, quero combinar esses arquivos para todos os indivíduos: Isso é, por exemplo, para a posição 142541687
head desired_pos142541687
1 142541687 78 NA20507
1 142541687 135 NA20901
ou para a posição 142542976;
desired_pos142542976
1 142535976 79 NA20507
1 142535976 137 NA20901
Este é mais ou menos o mesmo tipo de resposta que você já teve para perguntas semelhantes: leia um arquivo primeiro (as posições), depois analise os outros arquivos e extraia os dados.
Se forem fornecidos os dois arquivos individuais na pergunta e se for
positions
incluído 142535975, isso criarádesired_pos142535975
o seguinte conteúdo:Isso funcionaria supondo que todas as posições se referissem ao cromossomo 1 (ou pelo menos ao mesmo cromossomo nos arquivos individuais), uma vez que não há informações sobre o nome do cromossomo além da localização no
positions
arquivo.