count matriz de um arquivo txt, grep -c para um arquivo delimitado por tabulação? [fechadas]

0

Eu tenho um arquivo de texto, aqui está o head dele:

1   TACCCTGTAGAACCGAATTTGT  miRNA   mmu-mir-10b PM
2   GCATTGGTGGTTCAGTGGTAGAATTCTCGCCT    tRNA    Mus_musculus_tRNA-Gly-GCC-4-1   PM
3   TACCCTGTAGATCCGAATTTGT  miRNA   mmu-mir-10a PM
4   GCATTGTGGTTCAGTGGTAGAATTCTCGCCT tRNA    Mus_musculus_tRNA-Gly-GCC-2-2   IM
5   ACCCTGTAGAACCGAATTTGT   other   other   NA
6   TACCCTGTAGAACCGAATTTG   other   other   NA
7   GCATTGGTTCAGTGGTAGAATTCTCGCCT   tRNA    Mus_musculus_tRNA-Gly-GCC-2-7   IM
8   GCATTTGTGGTTCAGTGGTAGAATTCTCGCCT    tRNA    Mus_musculus_tRNA-Gly-GCC-4-1   IM
9   TACCCTGTAGAACCGAATTTGTG miRNA   mmu-mir-10b PM
10  GGTGAATATAGTTTACAAAAAACATTAGACTGTGAATC  tRNA    tRNA-His    IM

Eu gostaria de uma matriz de contagem baseada no 4º valor em cada linha, de modo que eu tenha algo como

mmu-mir-10b 2
    
por R-MASHup 25.03.2018 / 13:14

1 resposta

2

Você pode usar awk , caso queira que todos os duplicados sejam localizados na posição # 4 (assumindo dados delimitados por espaços em branco):

$ awk '{seen[$4]++} END{for(x in seen) print x, seen[x]}' infile
other 2
Mus_musculus_tRNA-Gly-GCC-2-2 1
Mus_musculus_tRNA-Gly-GCC-2-7 1
mmu-mir-10a 1
mmu-mir-10b 2
tRNA-His 1
Mus_musculus_tRNA-Gly-GCC-4-1 2

Os primeiros campos são os dados e o segundo arquivo é duplicados correspondentes.

    
por 25.03.2018 / 14:22