Eu tenho muitos arquivos fastq terminando com fastq.gz.
rep1.fastq.gz
rep2.fastq.gz
rep3.fastq.gz
rep4.fastq.gz
.....
Espero minha saída como
rep1.fastq.gz 23516782
rep2.fastq.gz 45126780
rep3.fastq.gz 67543908
rep4.fastq.gz 76425368
Onde a linha 1 mostra cada um dos meus arquivos de entrada e a linha 2 mostra a contagem do número de sequências em cada arquivo.
Para conseguir isso, escrevi um pequeno script bash para contar o número de sequências em cada arquivo com o número escrito após cada arquivo como saída
for sample in *.fastq.gz;do echo -en $sample "\t";(zcat $sample|wc -l)/4|bc ;done
Estou recebendo um erro: -bash: erro de sintaxe próximo ao token inesperado `/4'
Ignorando tudo o que pode estar errado na suposição de 4 linhas por sequência ... o comando que você mostrou acima deve funcionar com o seguinte formato
Você está executando isso:
O solitário
/4
não é compreendido pelo shell, e é por isso que ele falha. Suspeito que o que você deseja é obter o resultado do comandozcat $sample|wc -l
e, em seguida, imprimir esse valor/4
e passá-lo parabc
. Em caso afirmativo, você precisa$()
e não apenas()
e também precisa citá-lo:Então isso significaria:
Ou, um pouco mais portátil:
Alternativamente, você pode fazer a coisa toda em
awk
:No entanto, observe que não há nada na definição do formato fastq que diga que os arquivos terão apenas 4 linhas por sequência. Se você conhece bem seus dados, pode usar essa abordagem, mas se precisar lidar com arquivos fastq arbitrários, não pode assumir apenas 4 linhas e seria melhor usar uma ferramenta dedicada.
Você pode achar este Q&A interessante: Maneira rápida de contar o número de leituras e o número de bases em um arquivo fastq? .
E também a especificação do formato de arquivo FASTQ , que esclareceu que você não pode assumir apenas 4 linhas por entrada. Dito isto, em minha experiência significativa em trabalhar com dados humanos de NGS nos últimos 7 anos agora em um ambiente clínico, cada arquivo que eu vi tinha apenas 4 linhas por amostra. Mas eu não trabalho com dados de leitura longa e o formato em si permite mais, então é algo a considerar.