Skip to content

如何构建参考基因组

作者: SeekGene
时长: 5 分钟
字数: 1.3k 字
更新: 2026-01-21
阅读: 0 次
SeekSoul Tools

准备构建基因组所需的文件

使用 SeekSoul Tools 软件进行转录组和全序列分析时,需要准备物种的参考基因组序列和对应的 GTF 注释文件,相关文件格式说明如下:

基因组序列

基因组序列要求 FASTA 格式文件,染色体 ID 要与 GTF 文件第一列 seqname 一致,且 GTF 的 seqname 需要是 FASTA 文件的 chrom ID 的子集。注意文件不可以有空行。

GTF 文件

TIP

推荐使用权威数据库(如 Ensembl、RefSeq)下载 GTF 文件,并确保与 FASTA 文件版本一致。

GTF 文件格式说明如下:

  1. seqname: 序列名称,通常为染色体或 Contig ID。
  2. source: 注释来源,可以是数据库的名称,比如来自 RefSeq 数据库,也可以是软件的名称,比如用 GeneScan 软件预测得到,当然,也可以为空,用 . 点号填充。
  3. feature: 代表区间对应的特征类型,在 GTF 中,常见类型:gene、transcript、CDS、exon、start_codon、stop_codon 等。
  4. start: feature 的起始位置。
  5. end: feature 的终止位置。
  6. score: 表示 feature 存在和坐标的置信度,可以是一个浮点数或整数,"." 表示为空,就是不需要。
  7. strand: 该 feature 位于参考基因组的正链 (+) 或者负链 (-)。
  8. frame: 0 表示阅读框的第一个完整密码子位于最 5' 端,1 表示第一个完整密码子之前有一个额外的碱基,2 表示第一个完整密码子之前有两个额外的碱基。注意 frame 不是 CDS 长度除以 3 的余数,如果链是 '-',则该区域的第一个碱基值为 'end',因为对应的编码区将在反义链从 end 到 start。
  9. attribute: 应具有的格式是 attributes_name "attributes_values"; 每个属性必须以分号结尾并且与下一个属性之间以空格分隔,并且属性的值用双引号包围。包含以下三种属性:
attribute含义
gene_id "value";表示转录本在基因组上的基因座的唯一 ID。gene_id 与 value 值用空格分开,如果值为空,则表示没有对应的基因。
transcript_id "value";预测转录本的唯一 ID。transcipt_id 与 value 值用空格分开,空表示没有转录本
gene_type "value";gene 的生物学类型,protein coding;lncRNA......

GTF 文件准备的注意事项:

  • GTF 文件中每个基因的 feature 列须包含 gene、transcript、exon 三个信息。
  • 当 feature 列为 'gene' 时,attributes 列需要包含 gene_id,gene_type,如果没有 gene_name,则将 gene_id 的值当作 gene_name;当 feature 列为 'transcript' 时,attributes 列需要包含 transcript_id;当 feature 列为 'exon' 时,attributes 列需要包含 exon_id,否则会影响 Reads 注释到多个基因时的处理。
  • GTF 文件同样不要有空行。
  • GTF 文件中线粒体基因的 gene_name 需要以 "Mt-" 或者 "mt-" 开头,否则在报告中 mito 部分均为 0。

CAUTION

GTF 和 FASTA 文件的染色体名称必须完全一致,否则会导致比对失败或下游分析异常。

场景一:构建兼容不同平台单细胞数据的参考基因组

TIP

推荐使用 10X CellRanger 构建参考基因组,SeekSoul Tools 可直接兼容 CellRanger 构建的索引。

如果您既有 10X Genomics 单细胞数据,又有 SeekOne® 产品的单细胞数据,推荐使用10X CellRanger来构建参考基因组,SeekSoul Tools 可以兼容 CellRanger 构建的参考基因组。

处理基因注释文件(GTF 文件)的代码如下:

shell
/path/to/cellranger mkgtf Homo_sapiens.GRCh38.ensembl.gtf Homo_sapiens.GRCh38.ensembl.filtered.gtf \
    --attribute=gene_biotype:protein_coding \
    --attribute=gene_biotype:lncRNA \
    --attribute=gene_biotype:antisense \
    --attribute=gene_biotype:IG_LV_gene \
    --attribute=gene_biotype:IG_V_gene \
    --attribute=gene_biotype:IG_V_pseudogene \
    --attribute=gene_biotype:IG_D_gene \
    --attribute=gene_biotype:IG_J_gene \
    --attribute=gene_biotype:IG_J_pseudogene \
    --attribute=gene_biotype:IG_C_gene \
    --attribute=gene_biotype:IG_C_pseudogene \
    --attribute=gene_biotype:TR_V_gene \
    --attribute=gene_biotype:TR_V_pseudogene \
    --attribute=gene_biotype:TR_D_gene \
    --attribute=gene_biotype:TR_J_gene \
    --attribute=gene_biotype:TR_J_pseudogene \
    --attribute=gene_biotype:TR_C_gene
cellranger mkref --genome=GRCh38 --fasta=GRCh38.fa --genes=GRCh38-filtered-ensembl.gtf
cd GRCh38/genes
gunzip -dc genes.gtf.gz > genes.gtf

IMPORTANT

当 Cell Ranger 构建的参考基因组与 SeekSoul Tools 的 STAR 版本不兼容时,可以将 Cell Ranger 的 STAR 路径指定给 SeekSoul Tools,例如:--star_path /path/to/cellranger-5.0.1/lib/bin/STAR

CAUTION

FASTA 文件中染色体名称必须与 GTF 文件中的染色体名称相匹配。例如,FASTA 的 1 号染色体名称为 chr1,那么 GTF 文件中 1 号染色体名称也必须为 chr1


场景二:仅有 SeekOne® 产品,不需要考虑平台兼容性

构建 STAR 索引的代码如下:

shell
/demo/seeksoultools.1.2.0/bin/STAR \
  --runMode genomeGenerate \
  --runThreadN 16 \                        
  --genomeDir /path/to/star \             
  --genomeFastaFiles /path/to/genome.fa \  
  --sjdbGTFfile /path/to/genome.gtf \      
  --sjdbOverhang 149 \                     
  --limitGenomeGenerateRAM 17179869184

CAUTION

FASTA 文件中染色体名称必须与 GTF 文件中的染色体名称相匹配。例如,FASTA 的 1 号染色体名称为 chr1,那么 GTF 文件中 1 号染色体名称也必须为 chr1

0 条评论·0 条回复