# Configuração dos caminhos de entrada (reads) e do diretório de trabalho.
reads="/data/reads/leveduras_inct/abril_24/S727-BRT367"
work_dir="/home/thiagomafra/projetos/leveduras/inct/abril24/brt367/filtragem"
echo "Alinhando reads vs Refseq Bacteria\n"
# Execução do alinhamento usando BWA MEM. (Linha comentada para segurança)
bwa mem -t 24 -a -P /data/databases/refseq/representative_bacteria/all_representatives_refseq_217_bacteria.fna \
$reads/S727-BRT367_S382_L001_R1_001.fastq \
$reads/S727-BRT367_S382_L001_R2_001.fastq > "$work_dir/BRT367_output_bwa_vs_refseq_bact_217.sam" 2> "$work_dir/bwa.log"
echo "Alinhamento concluído.\n"
echo "Convertendo SAM para BAM e ordenando..."
# Conversão de SAM para BAM e ordenação dos arquivos. (Linha comentada para segurança)
samtools view -b "$work_dir/BRT367_output_bwa_vs_refseq_bact_217.sam" | samtools sort -@24 -o "$work_dir/BRT367_sorted.bam"
echo "Conversão e ordenação concluídas.\n"
echo "Gerando as reads FastQ para alinhadas, incluindo singletons."
# Geração de arquivos FastQ para reads alinhadas e singletons.
samtools fastq -@24 -F 4 -1 "$work_dir/BRT367_aligned_R1.fastq" -2 "$work_dir/BRT367_aligned_R2.fastq" \
-s "$work_dir/BRT367_aligned_singletons.fastq" "$work_dir/BRT367_sorted.bam"
echo "Gerando as reads FastQ para não alinhadas, incluindo singletons."
# Geração de arquivos FastQ para reads não alinhadas e singletons.
samtools view -b -f 4 "$work_dir/BRT367_sorted.bam" | \
samtools fastq -@24 -1 "$work_dir/BRT367_unaligned_R1.fastq" -2 "$work_dir/BRT367_unaligned_R2.fastq" \
-s "$work_dir/BRT367_unaligned_singletons.fastq"
# Contagem das reads em cada categoria.
aligned_R1_count=$(grep -c '^@' "$work_dir/BRT367_aligned_R1.fastq")
aligned_R2_count=$(grep -c '^@' "$work_dir/BRT367_aligned_R2.fastq")
aligned_singleton_count=$(grep -c '^@' "$work_dir/BRT367_aligned_singletons.fastq")
unaligned_R1_count=$(grep -c '^@' "$work_dir/BRT367_unaligned_R1.fastq")
unaligned_R2_count=$(grep -c '^@' "$work_dir/BRT367_unaligned_R2.fastq")
unaligned_singleton_count=$(grep -c '^@' "$work_dir/BRT367_unaligned_singletons.fastq")
original_R1_count=$(grep -c '^@' "$reads/S727-BRT367_S382_L001_R1_001.fastq")
original_R2_count=$(grep -c '^@' "$reads/S727-BRT367_S382_L001_R2_001.fastq")
echo "Calculando totais e percentual de alinhamento."
# Cálculo dos totais e percentuais de alinhamento, incluindo singletons.
total_aligned=$(($aligned_R1_count + $aligned_R2_count + $aligned_singleton_count))
total_unaligned=$(($unaligned_R1_count + $unaligned_R2_count + $unaligned_singleton_count))
total_processed=$(($total_aligned + $total_unaligned))
total_original=$(($original_R1_count + $original_R2_count))
percent_aligned=$(echo "scale=2; $total_aligned * 100 / $total_original" | bc)
echo "Salvando resultados no arquivo read_counts.txt"
# Salvando os resultados no arquivo de texto.
echo "Reads alinhadas R1: $aligned_R1_count" > "$work_dir/read_counts.txt"
echo "Reads alinhadas R2: $aligned_R2_count" >> "$work_dir/read_counts.txt"
echo "Reads singletons alinhadas: $aligned_singleton_count" >> "$work_dir/read_counts.txt"
echo "Reads não alinhadas R1: $unaligned_R1_count" >> "$work_dir/read_counts.txt"
echo "Reads não alinhadas R2: $unaligned_R2_count" >> "$work_dir/read_counts.txt"
echo "Reads singletons não alinhadas: $unaligned_singleton_count" >> "$work_dir/read_counts.txt"
echo "Total de reads originais: $total_original" >> "$work_dir/read_counts.txt"
echo "Total de reads processadas (alinhadas, não alinhadas, singletons): $total_processed" >> "$work_dir/read_counts.txt"
echo "Percentual de reads alinhadas: ${percent_aligned}%" >> "$work_dir/read_counts.txt"