跳转至

Fastq比对

在生物信息学中,FASTQ 序列比对(Sequence Alignment)是分析高通量测序数据的重要步骤之一。 这里以常用软件为例,给定一个原始数据比对、比对结果存放的参考建议。

原始数据

Warning

大部分比对软件可直接使用fq.gz 压缩格式的fastq文件进行比对,因此无需解压fq.gz。

部分不能直接使用fq.gz的程序,可以尝试使用类似下面的变通方式。

#程序输出转gz
program file | gzip > out.gz
#gz文件为输入
program < gzip -dc file.gz 
#综合
blastn -query <(gzip -dc ZS97_cds_10^6.fa.gz)  \
 -db ./MH63_cds -outfmt 6 |gzip > ZS97_cds_10000.gz

比对

对于大部分分析,只需要保留bam文件即可,因此可以在比对阶段直接输出bam或排序后的bam文件,以下是各常用比对软件直接输出bam的方式:

BWA

bwa mem -t 5 genome.fa data/sample_1.fa.gz data/sample_2.fa.gz \
| samtools sort -@8 -o map/sample_sorted.bam

hisat2

hisat2 -p 5 -x  genome.fa -1 data/sample_1.fa.gz -2 data/sample_2.fa.gz \
| samtools sort -@8 -o map/sample_sorted.bam

STAR

STAR可是指定参数输出排序后的bam,但内存使用较多。

STAR --runThreadN 5 --genomeDir genome_dir/ \
 --outSAMtype BAM SortedByCoordinate \
 --outFileNamePrefix map/sample \
 --readFilesCommand gunzip -c \
 --readFilesIn data/sample_1.fa.gz data/sample_2.fa.gz

bowtie2

bowtie2 -p 8 \
    -x genome.fa \
    -1 sample_1.fq.gz \
    -2 sample_2.fq.gz | samtools sort -@ 4 -o sample.bam

tophat2

比对输出bam后,使用samtool进行排序,之后删除未排序的bam

tophat2 -p 5 -o map/ \
 data/sample_1.fa.gz data/sample_2.fa.gz
samtools sort -@8 -o map/sample_sorted.bam map/sample.bam
rm map/sample.bam

去重

部分流程比对完成之后需要去重。

RNA-seq     一般不去重
ChIP-seq    一般要去重
Call SNP    一般要去重
RRBS        一般不去重
Targeted-seq (Amplicon seqencing) 一般不去重
WGBS        一般要去重
ATAC-seq    一般要去重

Samtools

samtools rmdup $sortedbam $depbam

如果多个reads具有相同的比对位置时,rmdup将它们标记为duplicates,然后去除重复,通常只保留第一个识别到的reads。

Picard

java -Xmx8g -jar ${EBROOTPICARD}/picard.jar MarkDuplicates  \
    MAX_FILE_HANDLES_FOR_READ_ENDS_MAP=512 \
    VALIDATION_STRINGENCY=LENIENT  \
    INPUT=$sortedbam \
    OUTPUT=$depbam \
    METRICS_FILE=${i}_dedup_metrics.txt && samtools index -@ $nt $depbam

该工具的MarkDuplicates方法对duplicates做一个标记,只在需要的时候对reads进行去重。