BAM文件去除rRNA

Generated by ChatGPT4o

背景

在RNA-seq数据分析中,rRNA reads通常占据大量测序数据,但它们对于大多数研究没有实际价值。因此,去除这些rRNA reads是数据预处理的重要步骤。本文将介绍如何通过UCSC Table Browser获取rRNA的BED文件,并结合samtools从BAM文件中去除rRNA reads。

BED文件格式简介

BED文件是一种文本格式,用于描述基因组区域。经典的BED文件包含六列:

  1. chrom:染色体名称(如chr1chr2chrX)。
  2. chromStart:起始位置(0-based)。
  3. chromEnd:结束位置(1-based)。
  4. name:特征名称或ID(可选)。
  5. score:特征的得分(可选)。
  6. strand:链方向(+-)。

对于rRNA区域,repClass字段通常指定为rRNA

示例BED文件

chr1    10000   10100   rRNA    900   +
chr2    20000   20100   rRNA    800   -

使用UCSC Table Browser 获取rRNA的BED文件

Step-by-Step 操作指南

  1. 访问UCSC Table Browser: 打开 UCSC Genome Browser。在顶部菜单中选择“Tools”,然后点击“Table Browser”。
  2. 选择基因组和注释数据
  • Clade: 选择“Mammal”。
  • Genome: 选择“Human”。
  • Assembly: 选择“GRCh38”。
  • Group: 选择“Repeats”。
  • Track: 选择“rmsk”。
  • Table: 选择“rmsk”。
  1. 设定查询区域: 在“Region”部分,选择“genome”以搜索整个基因组,或者指定特定的染色体或区域。
  2. 设置过滤条件: 点击“filter”按钮,打开过滤器设置界面。在repClass字段中输入rRNA,以过滤出rRNA区域。
  3. 导出BED文件: 在“output format”中选择“BED”格式。点击“get output”下载包含rRNA区域的BED文件。

使用samtoolsbedtools去除rRNA reads

有了rRNA的BED文件后,可以使用以下步骤从BAM文件中去除rRNA reads:

  1. 索引BAM文件(如果尚未索引):
samtools index input.bam
  1. 使用bedtools去除rRNA reads
bedtools intersect -abam input.bam -b rrna.bed -v > output_no_rrna.bam

input.bam 是你的原始BAM文件。rrna.bed 是包含rRNA区域的BED文件。output_no_rrna.bam 是去除rRNA reads后的BAM文件。

  1. 索引去除rRNA reads后的BAM文件
samtools index output_no_rrna.bam

另一种去除rRNA的方法:使用BBDuk

除了从BAM文件中去除rRNA reads,另一种方法是直接从FASTQ文件中去除rRNA reads。你可以使用BBDuk工具,通过以下命令实现:

运行BBduk

bbduk.sh in=<input.fastq> out=<cleaned_output.fastq> ref=ribokmers.fa k=27 hdist=1 stats=<stats.txt>

参数说明:

  • in=<input.fastq>:输入的FASTQ文件路径。
  • out=<cleaned_output.fastq>:去除rRNA后的输出FASTQ文件路径。
  • ref=ribokmers.fa:包含rRNA kmer的参考文件路径。
  • k=27:kmer的长度设置为27。
  • hdist=1:最大允许的hamming距离,这里设置为1,表示允许1个碱基的错配。
  • stats=<stats.txt>:输出比对统计信息的文件路径。

检查输出

执行命令后,<cleaned_output.fastq> 文件将包含去除了rRNA序列的清洁数据。你可以查看 <stats.txt> 文件,了解具体过滤掉了多少序列。这个步骤能够有效地去除包含rRNA的27-mers,从而生成更为干净的数据用于后续分析。

k=27 表示使用27个碱基长的k-mer进行匹配。ribokmers.fa 指定包含rRNA序列的k-mer库,用于识别并去除rRNA reads。

总结

去除rRNA reads是RNA-seq数据预处理中的重要步骤,可以通过使用rRNA的BED文件和samtoolsbedtools,或者通过BBDuk直接从FASTQ文件中去除。这些方法有助于提高下游分析的准确性和有效性。

附rRNA介绍

human的rRNA有5S, 5.8S, 18S, 28S,后三者来自同一个前体叫45S rRNA。

45S ribosomal DNA (rDNA) arrays, or clusters, are present on human chromosomes 13, 14, 15, 21 and 22, designated RNR1 through RNR5, respectively. Each cluster consists of multiple 45S rDNA repeat units that vary in number among individuals and chromosomes, with total diploid copy number estimates ranging from 60 to >800 repeat units in a human genome. The 45S rDNA repeat unit encodes a 45S rRNA precursor, transcribed by RNA polymerase I, which is processed to form the 18S, 5.8S and 28S rRNAs. Gene and RefSeq, in collaboration with HGNC, currently describe one 45S rDNA cluster, and one set of 45S precursor and product rRNAs, for each of the five human chromosomes to which these loci are localized.

NCBI