Encontre as diferentes linhas entre dois arquivos sem classificar

Encontre as diferentes linhas entre dois arquivos sem classificar

Eu tenho dois arquivos, arquivo1 é um subconjunto do arquivo2, o que significa que todas as linhas do arquivo1 podem ser encontradas no arquivo2, mas algumas linhas do arquivo2 não estão no arquivo1. Agora quero encontrar as diferentes linhas (ou linhas extras) entre dois arquivos. Por causa do conteúdo (contém longas sequências de RNA) do arquivo, não é muito viável classificar o arquivo, então estou pensando se consigo encontrar linhas extras ou diferentes entre dois arquivos sem classificar.

Eu tentei este comando, mas parece não funcionar:

    grep -vxFf barcodes1.tsv barcodes.tsv > diff.csv

Abaixo está uma seção do arquivo1 (que possui 6113 linhas):

AAACCTGAGAAAGTGG-1
AAACCTGAGCCACGCT-1
AAACCTGAGCCTATGT-1
AAACCTGAGCTGCAAG-1
AAACCTGCATTCGACA-1
AAACCTGCATTGGGCC-1
AAACCTGCATTTCACT-1
AAACCTGGTAACGTTC-1
AAACCTGGTATTCGTG-1
AAACCTGGTCGGCACT-1
AAACCTGTCACTATTC-1
AAACCTGTCAGGCGAA-1
AAACCTGTCCTAGTGA-1
AAACCTGTCGGATGTT-1
AAACCTGTCTGATTCT-1
AAACGGGAGTGAACAT-1
AAACGGGCACTCTGTC-1
AAACGGGGTAAGAGAG-1
AAACGGGGTACCTACA-1
AAACGGGGTTCAGACT-1
AAACGGGGTTTGACTG-1
AAACGGGTCAAAGTAG-1
AAACGGGTCAACCAAC-1
AAACGGGTCATGCATG-1
AAACGGGTCCTATTCA-1
AAACGGGTCGTATCAG-1
AAACGGGTCTATGTGG-1
AAAGATGAGCACAGGT-1
AAAGATGAGCAGGCTA-1
AAAGATGCAAACTGTC-1

Abaixo está uma seção do arquivo2 (que possui 6121 linhas):

AAACCTGCAAGCGAGT-1
AAACCTGCACACAGAG-1
AAACCTGGTAAACACA-1
AAACCTGGTCGGATCC-1
AAACCTGGTCTCTTTA-1
AAACCTGGTTTAAGCC-1
AAACCTGTCAACACCA-1
AAACCTGTCTATCCCG-1
AAACCTGTCTTTAGGG-1
AAACGGGAGCCACCTG-1
AAACGGGAGCGTTTAC-1
AAACGGGAGCTGTTCA-1
AAACGGGAGTAGGCCA-1
AAACGGGAGTGCCATT-1
AAACGGGCAACACCTA-1
AAACGGGCAATAGCGG-1
AAACGGGCACAGATTC-1
AAACGGGCACAGTCGC-1
AAACGGGCAGATGAGC-1
AAACGGGCAGGAATCG-1
AAACGGGCAGGTCCAC-1
AAACGGGCAGGTGGAT-1
AAACGGGCATAAAGGT-1
AAACGGGGTAGCTCCG-1
AAACGGGGTAGCTGCC-1
AAACGGGGTTCAACCA-1
AAACGGGGTTTGGGCC-1
AAACGGGTCAAACAAG-1
AAACGGGTCGAACTGT-1
AAACGGGTCTTAACCT-1

Não é viável classificar esses dois arquivos. Portanto, qual será o comando para o trabalho sem ordenação?

Responder1

Este liner deve resolver o problema e cuida para que o arquivo de saída não seja classificado:

cat -n barcodes1.tsv barcodes.tsv | sort -uk2 | sort -nk1 | cut -f2- > diff.csv

Basicamente, o que ele faz é:

  • Concatena o arquivo.
  • Remove as duplicatas.
  • Saídas no arquivo desejado que não será classificado.

Responder2

Em vez de grep, posso substituircomunicação?Tutoriaistalvezútil, mas aqui está uma linha para fazer o que você deseja:

comm -3 bigfile smallfile > differences

informação relacionada