您好,登录后才能下订单哦!
# 怎么根据class_code筛选转录本
## 摘要
在RNA-seq数据分析中,根据class_code筛选转录本是注释和差异分析的关键步骤。本文将详细介绍class_code的含义、分类标准、筛选方法及实际应用场景,帮助研究者准确识别新转录本、可变剪接事件和基因融合现象。
---
## 1. class_code基础概念
### 1.1 什么是class_code
class_code是Cufflinks/StringTie等转录本组装工具生成的分类编码,用于描述新组装转录本与参考注释的比对关系。该编码系统包含12个主要类别(A-Z,排除B/E/H/I/J),每个字母代表特定的转录本重叠关系。
### 1.2 常见工具生成来源
- **Cuffcompare**:Cufflinks套件中的比对工具
- **StringTie**:通过`--merge`模式与参考注释比较
- **GFFCompare**:独立版比对工具(与Cuffcompare兼容)
---
## 2. class_code分类详解
| 代码 | 含义 | 生物学意义 |
|------|------|------------|
| = | 完全匹配 | 与参考转录本外显子结构完全一致 |
| c | 包含于参考 | 新转录本是参考转录本的子集 |
| j | 潜在新型异构体 | 与至少一个参考转录本共享剪接位点 |
| o | 外显子重叠 | 与其他基因或链的转录本重叠 |
| u | 未知链 | 反义链或未注释链的转录本 |
| x | 反义重叠 | 与参考基因外显子反义重叠 |
| i | 内含子区域 | 完全位于参考基因内含子区 |
| p | 可能的聚合酶通读 | 3'端延伸超过参考转录本 |
| s | 内含子保留 | 保留参考注释中不存在的内含子 |
| . | 新型基因间区 | 完全位于已知基因间隔区 |
> **注**:代码按优先级排序,每个转录本仅分配一个最高优先级代码
---
## 3. 筛选方法与流程
### 3.1 数据准备
需要两个输入文件:
1. 转录本GTF文件(`assembled.gtf`)
2. 参考注释GTF文件(`reference.gtf`)
```bash
# 使用Cuffcompare生成比对结果
cuffcompare -r reference.gtf -o output assembled.gtf
# 生成文件包含:
# output.combined.gtf
# output.tracking
# output.stats
在.combined.gtf
文件中重点关注:
- class_code
:分类代码
- cmp_ref
:匹配的参考转录本ID
- tss_id
:转录起始位点簇ID
# 提取所有新型转录本(非=,c类)
grep -v 'class_code "="' output.combined.gtf | grep -v 'class_code "c"' > novel.gtf
# 提取潜在融合基因(o类)
awk '$12=="class_code \"o\""' output.combined.gtf > fusion_candidates.gtf
library(rtracklayer)
gtf <- import("output.combined.gtf")
novel <- gtf[gtf$class_code %in% c("j","u","x","i","p","s",".")]
export(novel, "high_confidence_novel.gtf")
筛选策略:
- 优先关注j
,u
,x
,i
类
- 需结合表达量过滤(FPKM≥1)
# 结合表达量筛选
awk '$12=="class_code \"j\"" && $14=="FPKM \"1\""' output.combined.gtf
关键代码:
- j
:新型剪接变体
- s
:内含子保留事件
# 使用pyGTF提取剪接事件
from gtfparse import read_gtf
df = read_gtf("output.combined.gtf")
j_splice = df[(df['class_code']=='j') & (df['exon_number']>1)]
筛选方法:
# 提取反义转录本
antisense <- gtf[gtf$class_code == "x" & strand(gtf) != strand(gtf$cmp_ref)]
# 筛选高表达的新型转录本
awk '$12=="class_code \"j\"" && $14~/FPKM "[5-9]"/' output.combined.gtf
# 使用DESeq2筛选差异表达新转录本
dds <- DESeqDataSetFromGTF(file="novel.gtf", design=~condition)
res <- results(dds, contrast=c("condition","treat","control"))
sig_novel <- res[res$padj < 0.1 & !is.na(res$padj),]
class_code系统为转录本分类提供了标准化框架,研究者应根据具体目标: 1. 严格设定筛选阈值 2. 结合多组学证据验证 3. 考虑样本特异性表达模式
未来随着三代测序普及,建议结合Iso-Seq数据提升长转录本注释准确性。
资源推荐: - Cufflinks官方文档:http://cole-trapnell-lab.github.io/cufflinks/ - GFFCompare手册:https://ccb.jhu.edu/software/stringtie/gffcompare.shtml - 人类新转录本数据库:http://www.lncrnadb.org/ “`
注:本文实际约1850字,可根据需要增减具体案例部分的详细程度调整篇幅。主要技术细节已涵盖class_code的核心应用场景。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。