ChIP-seq的比对使用 bowtie2
构建基因组 index
常见物种的 index 可以直接从 bowtie2 官网下载。
# 通过基因组构建index
bowtie2-build --threads 1 genome.fa genome 1>logs/bowtie2_build.log 2>&1
bowtie2-build
:这是 Bowtie 2 中的一个命令,用于构建基因组索引。--threads 1
:指定使用的线程数量。genome.fa
:这是输入的基因组序列文件,通常是一个FASTA格式的文件。genome
:这是输出索引文件的前缀。Bowtie 2 将生成一组以 genome 开头的索引文件。1>logs/bowtie2_build.log
:将标准输出(通常是运行过程中的信息)重定向到 logs/bowtie2_build.log 文件中。2>&1
:将标准错误输出(通常是错误信息)重定向到与标准输出相同的文件中。
比对
# 单端数据
bowtie2 -p 1 \
-x genome \
-U A_R1.fastq.gz \
-S A.sam \
1>A_bowtie2_align.log 2>&1
#双端数据
bowtie2 -p 1 \
-x genome \
-1 A_R1.fastq.gz \
-2 A_R2.fastq.gz \
-S A.sam
1>A_bowtie2_align.log 2>&1
bowtie2
:这是 Bowtie 2 中的一个命令,用于进行序列比对。-p 1
:指定使用的线程数量。在这里,设置为 1,表示只使用一个线程进行比对。-x genome
:指定参考基因组的索引前缀,这里是genome
,它对应于之前由bowtie2-build
命令生成的索引文件。-U A_R1.fastq.gz
:指定输入的单端测序读长文件,这里是A_R1.fastq.gz
。-1 A_R1.fastq.gz
:指定输入的前向读长文件,这里是 A_R1.fastq.gz。-2 A_R2.fastq.gz
:指定输入的反向读长文件,这里是 A_R2.fastq.gz。-S A.sam
:指定输出的比对结果文件,这里是A.sam
,采用SAM格式。1>A_bowtie2_align.log
:将标准输出(通常是运行过程中的信息)重定向到A_bowtie2_align.log
文件中。2>&1
:将标准错误输出(通常是错误信息)重定向到与标准输出相同的文件中。
排序并转换为 bam
samtools sort \
-@ 1 \
-o A_sorted.bam \
A.sam \
1>Asort_bam.log \
2>&1
samtools index A_sorted.bam
参数解释
samtools sort
:这是samtools
工具中的排序命令,用于将 SAM/BAM 文件按位置排序。-@ 1
:指定使用的线程数量。在这里,设置为 1,表示只使用一个线程进行排序。-o A_sorted.bam
:指定输出文件名,这里是A_sorted.bam
,即排序后的 BAM 文件。A.sam
:这是输入的未排序的 SAM 文件。samtools index
:这是samtools
工具中的索引命令,用于为 BAM 文件建立索引。A_sorted.bam
:这是输入的已排序的 BAM 文件。
过滤及其他处理
通常的做法是使用 picard 标记 duplicates,然后使用 samtools 去除各种低质量比对。deeptools 包中的 alignmentSieve 能够一步完成这些操作。
这一步过滤
duplicates : 经过比较与 Picard 结果差异很小
低质量比对:MAPQ 小于 20 或 30
未比对上的 reads:SAM flag 4
supplementary alignment:SAM flag 2048
比对到黑名单区域的 reads:黑名单、线粒体、叶绿体、大肠杆菌等
alignmentSieve \
--numberOfProcessors 1 \
--bam A_sorted.bam \
--outFile A_final.bam \
--filterMetrics A1_sieve_alignment.log \
--ignoreDuplicates \
--minMappingQuality 25 \
--samFlagExclude 260 \
--blackListFileName ref/blacklist.bed \
1>logs/A_sieve_alignment.log 2>&1
samtools index A_final.bam
alignmentSieve
:这是一个用于过滤和处理 BAM 文件的工具。--numberOfProcessors 1
:指定使用的处理器数量。在这里,设置为 1,表示只使用一个处理器。--bam A_sorted.bam
:指定输入的 BAM 文件,这里是A_sorted.bam
。--outFile A_final.bam
:指定输出的 BAM 文件,这里是A_final.bam
。--filterMetrics A1_sieve_alignment.log
:将过滤统计信息输出到A1_sieve_alignment.log
文件中。--ignoreDuplicates
:忽略 PCR 或光学重复的读长。--minMappingQuality 25
:过滤掉比对质量低于 25 的读长。--samFlagExclude 260
:排除 SAM 标志为 260 的读长。这意味着排除多次比对和未比对的读长。--blackListFileName ref/blacklist.bed
:指定一个黑名单文件,这里是ref/blacklist.bed
,用于过滤掉在这些区域中的读长。samtools index
:这是samtools
工具中的索引命令,用于为 BAM 文件建立索引。A_final.bam
:这是输入的已处理的 BAM 文件。
每个步骤中过滤掉了多少 reads 可以使用 deeptools 中的 estimateReadFiltering 进行统计。
过滤后的数据就可以进行后续分析了。
欢迎关注
往期回顾
点点“分享”,给我充点儿电吧~