转录组分析使用stringtie定量后,如果使用DESeq2进行下游分析,需要使用prepDE.py生成read counts矩阵,prepDE.py需要fastq文件的read平均长度,可用以下脚本实现。
运行方式:
sh fastq_average_read_length.sh /home/user/fastq_dir (fastq文件路径)
脚本内容:
#!/bin/bash
P=${1}
ls ${P} | grep "_paired_fastq.gz" | less > ${P}/fastq_paired_list.txt
for i in $(cat "${P}/fastq_paired_list.txt") ; do
zcat ${P}/${i} | awk '{if(NR%4==2) print length($1)}'| awk -v i="${i}" '{sum+=$1} END {print i, sum/NR}' ;
done > fastq_average_length.txt
cat fastq_average_length.txt | awk '{sum+=$2} END {print "samples_average", sum/NR}' | less >> fastq_average_length.txt
sed -i "1ifastq average_read_length" fastq_average_length.txt