Chip-Seq分析(3)比对到参考基因组

学术   科学   2024-07-23 22:31   重庆  

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 进行统计。

过滤后的数据就可以进行后续分析了。

END

欢迎关注






往期回顾

ggtree:一款强大的R语言绘制生物进化树工具

科研绘图模板之多组差异箱线图

科研绘图模板之箱线分面图

科研绘图模板之小提琴分面图

探索Circos图:视觉化基因相关性的强大工具

数据流动的艺术:桑葚图全解析

千呼万唤始出来!

科研绘图模板之森林图

科研绘图模板之ROC曲线

为什么要做Chip-Seq(前言)

Chip-Seq分析(1)准备数据

Chip-Seq分析(2)测序数据过滤和质控


点点“分享”,给我充点儿电吧~

Bioinfor 生信云
分享生信小工具,以及各种测序分析专题,期待有志之士的加入!