前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >非模式生物构建10x单细胞转录组CellRanger参考文件

非模式生物构建10x单细胞转录组CellRanger参考文件

作者头像
生信技能树
发布2024-04-19 17:05:29
990
发布2024-04-19 17:05:29
举报
文章被收录于专栏:生信技能树生信技能树

10X单细胞上游定量标准流程运行Cellranger定量需要对应的参考基因组文件以及其配套的基因组注释信息文件,如果是人类和小鼠,官网即可下载构建好的文件压缩包,详见:https://www.10xgenomics.com/support/software/cell-ranger/downloads#reference-downloads

正常走cellranger的定量流程即可,代码我已经是多次分享了。参考:

差不多几个小时就可以完成全部的样品的cellranger的定量流程。

但是对于其它物种,就需要我们自己单独去构建cellranger 所需的参考基因组及注释文件(详见:https://www.10xgenomics.com/support/software/cell-ranger/latest/tutorials/cr-tutorial-mr)。

通常我们会去Ensembl网站独立下载,然后构建,Ensembl 的 GTF 文件包含可选标签,这使过滤变得容易。如果 Ensembl 无法提供您感兴趣的物种,则其他来源的 GTF 和 FASTA 文件也可以使用。但请注意,注释文件需要时GTF 格式,而 GFF 格式不受支持。

首先下载基因组注释信息

基因组注释是对参考基因组序列上的功能区域进行标识和描述的过程,它包括基因的位置、结构、功能和其他生物学特征。

GTF文件

  • GTF(General Transfer Format)文件是一种基于纯文本的基因组注释文件格式,广泛用于存储基因、转录本、外显子等的注释信息。
  • GTF文件中的每一行代表一个基因组上的注释特征,通常包括以下字段:
    • seqname:染色体或扫描序列的名称。
    • source:注释信息的来源,例如基因预测软件或数据库。
    • feature:特征类型,如基因(gene)、转录本(transcript)、外显子(exon)等。
    • start:特征在序列上的起始位置(1-based)。
    • end:特征在序列上的结束位置。
    • score:一个可选的分数,通常用于表示序列比对的匹配程度。
    • strand:特征在序列上的链,通常是+(正链)或-(负链)。
    • frame:在某些情况下,指定编码区的阅读框架(0、1或2)。
    • attribute:一系列键值对,提供额外的信息,如基因ID、外显子编号、注释来源等。

GTF文件为研究人员提供了一种标准化的方式来描述和共享基因组注释数据,它支持基因表达分析、变异分析和调控元件的识别等多种应用。

我们首先去Ensembl ( https://www.ensembl.org/index.html )官网找到待处理物种的基因组注释信息(gtf文件),然后下载

代码语言:javascript
复制
##下载注释文件
wget -c https://ftp.ensembl.org/pub/release-111/gtf/gallus_gallus_gca000002315v5/Gallus_gallus_gca000002315v5.GRCg6a.111.gtf.gz
##文件大小
18M 10月  9 16:44 Gallus_gallus_gca000002315v5.GRCg6a.111.gtf.gz 
##解压后大小
488M 10月  9 16:44 Gallus_gallus_gca000002315v5.GRCg6a.111.gtf

为了避免在进行单细胞RNA测序数据分析时出现的多重映射(multi-mapped)问题,需要过滤一下GTF文件

详细信息可参考

  • Check for multi-mapped reads
  • Which reads are considered for UMI counting by Cell Ranger?
代码语言:javascript
复制
##过滤GTF
./cellranger-7.1.0/bin/cellranger mkgtf \
  Gallus_gallus_gca000002315v5.GRCg6a.111.gtf \
  Gallus_gallus_gca000002315v5.GRCg6a.111.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 mkgtf \
    Danio_rerio.GRCz11.105.gtf \
    Danio_rerio.GRCz11.105.filtered.gtf \
    --attribute=gene_biotype:protein_coding

上面的mkgtf操作到底是过滤掉了什么?

那么这一步做了什么,参考基因组注释文件有哪些变化,我们可以来详细看一下,首先对它参考基因组注释下载的原始文件进行基础的统计

代码语言:javascript
复制
 cat  Gallus_gallus_gca000002315v5.GRCg6a.111.gtf| awk '$3 == "gene" {print}'|cut -f 9 |perl -alne '{/gene_biotype "([^"]+)";/;print $1}' |sort |uniq  -c |sort -k1n

结果如下

代码语言:javascript
复制
     2 Mt_rRNA
      2 ribozyme
      2 vault_RNA
      2 Y_RNA
      5 misc_RNA
     13 processed_pseudogene
     15 scaRNA
     22 Mt_tRNA
     43 pseudogene
     74 snRNA
    108 rRNA
    200 snoRNA
    850 miRNA
  12447 lncRNA
  17077 protein_coding

然后统计一下过滤后的文件:

代码语言:javascript
复制
cat  Gallus_gallus_gca000002315v5.GRCg6a.111.filtered.gtf| awk '$3 == "gene" {print}'| cut -f 9 |perl -alne '{/gene_biotype "([^"]+)";/;print $1}' |sort |uniq  -c |sort -k1n

过滤后的结果统计:

代码语言:javascript
复制
  12447 lncRNA
  17077 protein_coding

可以看到,只剩下lncRNA和protein_coding。而参数中的antisenseIG_LV_gene 等,是参考基因组注释文件中本身就没有的。

其次是下载参考基因组FA文件

参考基因组是一个物种的代表性DNA序列,它通常是通过整合来自多个个体的遗传信息而构建的,旨在反映该物种的遗传多样性。参考基因组被用作比较基因组分析、基因发现、变异检测和基因功能研究的基础。

FA文件

  • FA文件是FASTA格式的一种变体,通常用于存储参考基因组序列。
  • FASTA格式是一种生物序列文件格式,其中每个序列以一个以大于号(>)开头的标题行开始,后面跟着序列本身的一行或多行。
  • 标题行通常包含序列的名称、来源和其他相关信息。
  • FA文件中的每个序列代表基因组中的一个染色体或片段,文件中可能包含整个基因组的所有染色体。
代码语言:javascript
复制
## 参考基因组下载
wget -c https://ftp.ensembl.org/pub/release-111/fasta/gallus_gallus_gca000002315v5/dna/Gallus_gallus_gca000002315v5.GRCg6a.dna.toplevel.fa.gz

##文件大小
306M 10月  4 19:46 Gallus_gallus_gca000002315v5.GRCg6a.dna.toplevel.fa.gz

##解压后大小
1.1G 10月  4 19:46 Gallus_gallus_gca000002315v5.GRCg6a.dna.toplevel.fa

构建CellRanger自定义参考

有了上面的两个文件,剩下的就很简单,执行cellranger mkref 即可

代码语言:javascript
复制
cellranger-7.1.0/bin/cellranger mkref \
  --genome=Gallus \
  --fasta=Gallus_gallus_gca000002315v5.GRCg6a.dna.toplevel.fa \
  --genes=Gallus_gallus_gca000002315v5.GRCg6a.111.filtered.gtf \
  --ref-version=1.0.0

学徒作业

依据上面的的流程,自行下载猪马牛羊狗的参考基因组fa文件以及基因组注释信息gtf文件,构建好10x单细胞转录组CellRanger参考文件。然后完成一个(Sus scrofa domesticus)的10x项目的定量:

  • https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE193975
  • https://www.ncbi.nlm.nih.gov/bioproject/PRJNA798674

进阶作业

仍然是一个(Sus scrofa domesticus)的10x项目的定量,但是需要下载两个物种的fq和gtf文件,然后合并后构建好10x单细胞转录组CellRanger参考文件。如下所示:

两个物种

数据集是:

  • https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE168113
  • https://www.ncbi.nlm.nih.gov/bioproject/PRJNA706032
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 首先下载基因组注释信息
    • 上面的mkgtf操作到底是过滤掉了什么?
    • 其次是下载参考基因组FA文件
    • 构建CellRanger自定义参考
      • 学徒作业
        • 进阶作业
        相关产品与服务
        对象存储
        对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档