Desejo usar as duas primeiras colunas de cada arquivo para adicionar colunas adicionais de fil2, file3 e file4 para file1 nas linhas apropriadas (onde as duas primeiras colunas correspondem). O arquivo2 tem três colunas para adicionar ao arquivo1, mas todos os outros arquivos têm apenas uma coluna para adicionar, a última.
As entradas NW_456 44
e NW_987 75
não são anotadas no arquivo3 e, portanto, ausentes. Eu gostaria de manter isso vazio no arquivo de saída para essa coluna específica (sem realmente dizer 'vazio').
Exemplo:
arquivo1
NW_1234 23
NW_1234 29
NW_1234 778
NW_456 44
NW_987 75
NW_987 98
NW_5000 105
NW_5500 37
NW_5500 900
arquivo2
NW_1234 23 C 0:0:32:0:0:0 42:0:0:0:0:0
NW_1234 29 C 0:0:28:0:0:0 0:28:0:0:0:0
NW_1234 778 C 0:54:0:0:0:0 0:0:53:0:0:0
NW_456 44 G 0:0:0:45:0:0 59:0:0:0:0:0
NW_987 75 G 0:0:0:60:0:0 55:0:0:0:0:0
NW_987 98 C 0:0:63:0:0:0 0:42:0:0:0:0
NW_5000 105 G 0:0:71:0:0:0 0:50:0:0:0:0
NW_5500 37 G 0:0:0:54:0:0 55:0:0:0:0:0
NW_5500 900 A 43:0:0:0:0:0 0:0:0:37:0:0
arquivo3
NW_1234 23 DOCK
NW_1234 29 DOCK
NW_1234 778 DOCK
NW_987 98 TFEC
NW_5000 105 MIN
NW_5500 37 LIPG
NW_5500 900 MYC
ARQUIVO 4
NW_1234 23 intron_region
NW_1234 29 intron_region
NW_1234 778 intron_region
NW_456 44 intergenic
NW_987 75 intergenic
NW_987 98 intron_region
NW_5000 105 intron_region
NW_5500 37 intron_region
NW_5500 900 intron_region
arquivo de saída
NW_1234 23 C 0:0:32:0:0:0 42:0:0:0:0:0 DOCK intron_region
NW_1234 29 C 0:0:28:0:0:0 0:28:0:0:0:0 DOCK intron_region
NW_1234 778 C 0:54:0:0:0:0 0:0:53:0:0:0 DOCK intron_region
NW_456 44 G 0:0:0:45:0:0 59:0:0:0:0:0 (empty) intergenic
NW_987 75 G 0:0:0:60:0:0 55:0:0:0:0:0 (empty) intergenic
NW_987 98 C 0:0:63:0:0:0 0:42:0:0:0:0 TFEC intron_region
NW_5000 105 G 0:0:71:0:0:0 0:50:0:0:0:0 MIN intron_region
NW_5500 37 G 0:0:0:54:0:0 55:0:0:0:0:0 LIPG intron_region
NW_5500 900 A 43:0:0:0:0:0 0:0:0:37:0:0 MYC intron_region
Semelhante a esta pergunta: Adicionando coluna com base na correspondência da segunda coluna
Qualquer ajuda é apreciada!
Usando abas como separadores de campo de saída, isso funcionará usando qualquer awk em qualquer shell em cada caixa UNIX:
.
Para que os espaços fiquem em branco (muito menos útil para análise adicional de ferramentas), basta canalizar para
column
: