Questão de Sistemas Operacionais — Linux — CESPE / CEBRASPE 2025
Sistemas Operacionais›Linux
Código
ce418292
Banca
CESPE / CEBRASPE
Órgão
EMBRAPA
Ano
2025
Cargo
Ana ( )
Julgue o item a seguir, pertinente ao uso das ferramentas da informática nas pesquisas científicas em biotecnologia.
A vantagem do Linux como sistema operacional de escolha para análises bioinformáticas é a disponibilidade de diversos programas executáveis via linha de comando em um terminal de texto. Em um arquivo FASTA (seq.fas) com milhões de sequências, pode-se contar o número único de sequências com o encadeamento dos seguintes comandos de shell BASH no terminal: 'grep " > " seq.fas | sort | uniq | wc -l'.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoC — Certo
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Comandos de shell BASH: contagem de sequências únicas em arquivo FASTA
Gabarito: letra C (CERTO). O encadeamento grep "> " seq.fas | sort | uniq | wc -l conta corretamente o número de sequências únicas em um arquivo FASTA, pois o grep extrai as linhas de cabeçalho (que começam com ">"), o sort as ordena, o uniq remove as duplicadas e o wc -l conta as linhas restantes. A afirmação está correta.
O Linux é amplamente utilizado em bioinformática justamente por sua filosofia de linha de comando, que permite encadear programas simples e especializados para processar grandes volumes de dados de forma eficiente. O shell BASH (Bourne Again Shell) é o interpretador de comandos padrão na maioria das distribuições Linux, e a combinação de comandos com pipes (|) é uma técnica fundamental para análise de dados. No contexto de um arquivo FASTA, que é um formato de texto simples para representar sequências biológicas (nucleotídeos ou aminoácidos), cada sequência é precedida por uma linha de cabeçalho que começa com o caractere ">". Portanto, para contar sequências, é preciso primeiro identificar essas linhas de cabeçalho.
O comando grep "> " seq.fas filtra as linhas que contêm o padrão "> " (um sinal de maior seguido de espaço). Em arquivos FASTA bem formados, o cabeçalho é exatamente >descrição_da_sequência, então esse padrão captura corretamente as linhas de cabeçalho. Em seguida, sort ordena essas linhas alfabeticamente, o que é um pré-requisito para o funcionamento do uniq, que remove linhas adjacentes duplicadas. Finalmente, wc -l conta o número de linhas que chegaram até ali, que corresponde ao número de sequências únicas (considerando que sequências com o mesmo cabeçalho são consideradas duplicadas).
A pegadinha desta questão está na sintaxe do grep. O padrão "> " (com espaço após o >) é o correto para capturar cabeçalhos FASTA, pois o formato padrão é >identificador. Se o padrão fosse apenas ">", também funcionaria, mas a presença do espaço é uma forma de evitar capturar linhas que contenham > em outros contextos (embora em um arquivo FASTA isso seja raro). O importante é que o encadeamento como um todo está logicamente correto e atende ao objetivo proposto.
Para entender melhor, vejamos um exemplo prático. Suponha um arquivo seq.fas com o seguinte conteúdo:
>seq1
ATCG
>seq2
GCTA
>seq1
ATCG
>seq3
TTAA
O comando grep "> " seq.fas produziria:
>seq1
>seq2
>seq1
>seq3
Após sort, teríamos:
>seq1
>seq1
>seq2
>seq3
O uniq removeria a linha duplicada adjacente, resultando em:
>seq1
>seq2
>seq3
E o wc -l contaria 3 linhas, que é o número de sequências únicas. O raciocínio está correto.
A distinção importante aqui é entre uniq e sort -u. O comando uniq sozinho remove apenas duplicatas consecutivas, por isso é necessário o sort antes. Já sort -u faz a ordenação e a remoção de duplicatas em um único passo. Ambos os métodos são válidos, mas o encadeamento apresentado na questão (sort | uniq) é uma forma clássica e correta.
A banca explora o conhecimento prático de comandos de shell, um tema recorrente em concursos de TI. O candidato precisa conhecer a função de cada comando (grep, sort, uniq, wc) e como eles se combinam via pipe. A pegadinha seria pensar que o uniq sozinho já resolve, sem a necessidade do sort, ou confundir a função do wc -l (contar linhas) com wc -c (contar caracteres) ou wc -w (contar palavras).
1grep "> " extrai cabeçalhos
2sort ordena linhas
3uniq remove duplicadas
4wc -l conta linhas
LEVEL · soulevel.com.br
Item — ✅ CERTO ⟵ GABARITO
A afirmação está correta. O encadeamento grep "> " seq.fas | sort | uniq | wc -l é uma forma válida e eficiente de contar o número de sequências únicas em um arquivo FASTA. Cada comando tem uma função específica e a combinação via pipe (|) permite que a saída de um comando seja a entrada do próximo, criando um pipeline de processamento. O grep seleciona as linhas de cabeçalho, o sort as ordena, o uniq remove as duplicadas e o wc -l conta as linhas resultantes. O resultado é o número de sequências únicas, que é exatamente o que se deseja.