环状 RNA 的跨物种坐标系 — CIRCpedia 数据库

20 物种 / 2,413 份测序 / 261 万条环状 RNA

来源 https://bits.fudan.edu.cn/circpediav3发布时间: 2026-10-28最后更新: 2026-10-28 阅读 17
环状 RNA 的跨物种坐标系 — CIRCpedia 数据库

信息速览

数据集名称环状 RNA 的跨物种坐标系 — CIRCpedia 数据库
数据类型元数据,多组学,文献引用
规模不适用(2,413 份测序样本 / 20 个物种)
接入方式https://bits.fudan.edu.cn/circpediav3
AI 就绪度

一个基因能转录出多少种环状 RNA?在人类肌联蛋白基因上,CIRCpedia 给出了一个让人停顿的数字:同一个位点可以产生上千种外显子组合方式,每一种都在反向剪接时闭合成了一个独立的环。这类分子没有 5′ 端也没有 3′ 端,不被核酸外切酶降解,半衰期比同源的线性信使 RNA 长得多,因此在组织里留下的痕迹往往比它来自的那条线性转录本更稳定。

但要把这种稳定性变成可比较的数据,需要三件事同时成立:跨物种的坐标能对齐、表达量有统一的分母、命名能让不同实验室说的是同一个环。环状 RNA 领域长期缺的正是第三件。同一个环,有人按染色体位置编号,有人按宿主基因编号,有人按外显子区间编号,文献里出现的名字彼此无法对上,跨数据集合并时只能靠坐标硬匹配。

CIRCpedia 的第三版就是围绕这三件事重建的:把二十个物种、两千多份测序样本用同一套流程重跑一遍,给每条环一个社区建议的名字和一个稳定编号,再把线性转录本的表达放在旁边做参照。它不是最大的环状 RNA 目录,但它是少数把「跨物种可比」这件事做进数据结构里的一个。一屏速览见下表。

维度 内容
全名 CIRCpedia v3(前身为 CIRCpedia / CIRCpedia v2)
维护方 复旦大学 生物医学研究院 生物信息学与交叉技术中心(Yang Lab,杨力实验室)
通讯作者 杨力、马旭凯(Xu-Kai Ma);合作者陈玲玲(中国科学院分子细胞科学卓越创新中心)
首次上线 2015 年 12 月 10 日(beta);第三版 2025 年 7 月 1 日上线
论文 Nucleic Acids Research 2026, 54(D1): D78–D88;2025 年 10 月 22 日在线
物种数 20 个,分属 7 个目
样本数 2,413 份(2,350 份二代测序 + 63 份三代测序)
环状 RNA 总数 2,610,032 条(含 circRNA 与 ciRNA)
人类占比 849,495 条,约占全部的三分之一
组织与细胞覆盖 26 个器官系统、203 种组织、375 种细胞类型
表达指标 FPBcirc、FPBlinear、CIRCscore 三项
鉴定流程 CIRCexplorer3/CLEAR,线性端用 StringTie 2.2.1
下载单元 每物种两个压缩包(注释表 + 序列),合计 40 个
网页功能 检索、浏览、样本比较、JBrowse、六类预测、三类设计工具
数据许可 官方未公布;论文为 CC BY-NC 4.0
当前状态 站点首页标注「Database under active development」

§1 它要解决的具体麻烦

1.1 环状 RNA 研究卡在「说的不是同一个环」

反向剪接是前体信使 RNA 在剪接时把下游的 5′ 剪接位点接到上游的 3′ 剪接位点上,形成共价闭合的环。这个过程可以发生在多个外显子之间,一个基因只要有若干个可参与的外显子,理论上就能组合出大量不同的环。于是同一个基因座在数据里不是一条记录,而是一片记录。

麻烦从命名开始。早期文献里常见的写法是 hsa_circ_0001234 这类流水号,号本身不带任何位置信息,换一个数据库就换一套号。后来流行按宿主基因加外显子区间命名,但没有统一约定,有人写 circFOXO3,有人写 circFOXO3(2-3),有人把外显子编号按转录本算、有人按基因组算。同一个环在不同论文里可能挂着三个名字,做荟萃分析的人只能回到坐标层面重新匹配。

CIRCpedia 的应对是把编号和名字分开:circID 是机器用的稳定键,circname 是人读的社区建议名。两者并存,前者保证跨版本可追溯,后者保证跨实验室可沟通。这个设计看起来是小事,但它决定了这张表能不能被别人的流程直接接进去。

双轨设计还解决了一个更隐蔽的问题:参考注释会变。同一个基因在 GENCODE 换版本后,转录本编号可能失效,外显子编号可能整体位移,此时按外显子区间拼出来的名字就变了,而按物种加基因加序号分配的编号不依赖注释版本,仍然指同一条分子。做跨年度数据合并时,这一条比任何字段都重要——名字会骗人,编号不会。

1.2 三条常见的错误期待

第一条,期待它是一份「环状 RNA 表达矩阵」。下载包里只有注释与预测字段,没有按样本排开的表达值。表达量要在网页端按样本查询,或者自己拿原始测序数据重算(§2.1)。想直接读进 Seurat 或 Scanpy 当矩阵用的,会在第一步就卡住。

第二条,期待它的条数等于物种的真实环状 RNA 数量。检出条数高度依赖样本量与测序深度。人类有一千多份样本,线虫只有三十几份,两者的数字不在同一个尺度上。把它当「物种复杂度排序」用,比的是投入而不是生物学(§2.5)。

第三条,期待它的功能字段有实验支撑。可编辑位点、亚细胞定位、降解信号、m6A 位点、开放阅读框,全部是计算预测。官方在关于页写清了每个模块用的工具与参数,但没有给验证集。这些字段适合做候选筛选,不适合当标签。

1.3 它能给到的与给不到的

你的需求 它给的 够不够
查某个人类环状 RNA 在哪些组织表达 按样本查询 FPBcirc 与 CIRCscore 够,但需逐样本取,不能一次导出全矩阵
跨物种找保守的环状 RNA LiftOver 映射 + 位点相差五核苷酸内的保守判定 够做候选,判定阈值固定,无法调
给新发现的环起一个规范名字 社区建议命名 + 稳定编号双轨 够,命名规则可照抄
设计 divergent PCR 引物做验证 网页端 Primer3 自动出引物 够,但要自行核对产物是否跨反向剪接位点
挑一个环做敲低实验 siRNA 设计 + 碱基可编辑位点 够做初筛,脱靶未评估
训练环状 RNA 表达预测模型 只有注释,没有批量表达矩阵 不够,需自行重算
判断某个环是否有功能 只有计算预测 不够,无实验验证标签
做物种间绝对数量比较 条数受样本量强烈影响 不够,会得出误导性结论

1.4 你的处境与它能帮到的事

你的处境 它能帮你什么 下一步该做什么
你在一篇论文里看到一个环的名字,想确认它到底是什么 用 circname 反查,拿到坐标、宿主基因与外显子区间 记下 circID,跨版本引用时用它而不是名字(§2.3)
你在人身上找到一个候选环,想在鼠里做敲除实验 查 Orthology 列,看小鼠是否有同位点的直系同源环 保守判定只到「位点相差五核苷酸内」,实验前仍需自己比对序列
你要写一个环状 RNA 鉴定流程,需要参照实现 官方流程、工具版本、参数都写在关于页 照抄参数前先确认你的参考基因组版本与它一致(§5.6)
你在做跨物种转录组比较,缺一个环状 RNA 层 二十个物种用同一套流程跑,口径统一 只比较同一组织类型、样本量相近的物种对
你要给一个环设计验证引物 Primer3 自动生成跨反向剪接位点的 divergent 引物 出引物后自己跑一次 in silico PCR 确认产物
你在评估一个环状 RNA 数据库的可靠性 提供与另两个库的命名对照与 ID 转换工具 转换后用坐标复核,不要只信 ID 映射

1.5 一句话判断

它的价值不在「收了多少条」,而在「这些条用的是同一把尺」:同一套流程、同一套坐标约定、同一套命名规则,这才让跨物种、跨样本的比较在方法上站得住。

1.6 不适合谁:四条边界

不适合要现成表达矩阵的人。 下载包里没有矩阵。二十个物种、两千多份样本的表达值要在网页端逐条查,或者回到原始测序数据用同一套流程重算。想直接开箱训练的人会失望。

不适合要实验验证标签的人。 所有功能字段都是预测。做监督学习时它们只能当弱标签,且必须说明标签来源是计算而非实验。

不适合做物种间绝对丰度比较的人。 样本量从七份到一千五百多份不等,检出条数随之拉开两个数量级。跨物种比较只能在样本量匹配的子集里做。

不适合需要明确商业授权的人。 数据许可条款官方没有单独公布,论文的 CC BY-NC 4.0 约束的是论文文本,不能自动推出数据可商用。企业用户需要先联系通讯作者。

§2 数据构成与规格

2.1 一张表,二十个物种,四十个压缩包

数据组织的逻辑很简单:物种是最外层单位,每个物种给两个压缩包。第一个是注释与预测表,制表符分隔的纯文本,压在 zip 里;第二个是序列,FASTA 格式,每条记录对应表里的一行。

层级 内容 规模
数据库 全部 20 个物种 2,610,032 条环状 RNA
物种 一个物种一个目录项 人类最多,线虫最少
压缩包 每物种 2 个(注释 / 序列) 合计 40 个
行 一条环状 RNA 与官方条数一致,另加一行表头
列 15 个字段 见 §2.2

没有整库打包,也没有按组织或按样本切分的子集。这一点值得提前知道:如果你只想要人类的心脏样本,仍然要先下完整个物种的注释表(约 93 MB),再去网页端逐样本查表达。

物种 目 参考基因组 环状 RNA 条数
人 Homo sapiens 灵长目 GRCh38 (hg38) 849,495
猪 Sus scrofa 偶蹄目 Sscrofa11.1 277,448
小鼠 Mus musculus 啮齿目 GRCm38 (mm10) 214,984
猕猴(恒河猴)Macaca mulatta 灵长目 Mmul_10 157,771
黑猩猩 Pan troglodytes 灵长目 pan_Tro_3.0 128,010
食蟹猴 Macaca fascicularis 灵长目 Macaca_fascicularis_6.0 99,057
猫 Felis catus 食肉目 Felis_catus_9.0 93,680
苏门答腊猩猩 Pongo abelii 灵长目 Susie_PABv2 92,264
家犬 Canis lupus familiaris 食肉目 ROS_Cfam_1.0 86,570
鸡 Gallus gallus 鸡形目 GRCg7b 82,185
狒狒 Papio anubis 灵长目 Panubis1.0 77,664
豚尾猕猴 Macaca nemestrina 灵长目 Mnem_1.0 70,514
白眉猴 Cercocebus atys 灵长目 Caty_1.0 70,673
狨 Callithrix jacchus 灵长目 mCalJac1.pat.X 66,613
绵羊 Ovis aries 偶蹄目 Oar_v3.1 66,644
兔 Oryctolagus cuniculus 啮齿目(官方归类) OryCun2.0 62,670
大鼠 Rattus norvegicus 啮齿目 mRatBN7.2 50,866
豚鼠 Cavia porcellus 啮齿目 Cavpor3.0 27,965
果蝇 Drosophila melanogaster 双翅目 BDGP6 (dm6) 20,690
线虫 Caenorhabditis elegans 小杆目 WBcel235 (ce11) 14,269

把这张表竖着读一遍,先注意物种的分布:灵长目占了十个,其余六个目分掉另外十个。这不是按生物多样性挑的,是按「有公开测序数据」挑的。农业物种只进来猪、牛科的绵羊、鸡,植物一个没有。

还有一处归类要留意:官方统计把兔放进啮齿目,而兔在分类学上属兔形目。这不是本库独有的做法,公共数据库里把兔与啮齿类并成一组很常见。引用这张表时照官方写不会错,但如果拿它去做目级统计,要知道这一组里混了两个目。

2.2 十五个字段的完整字典

注释表的列顺序在所有物种里一致:前三列是身份信息,其后是预测与统计字段,末尾四列是基因注释。

列名 含义 示例值 来源模块
circID 唯一稳定编号,物种三字母码加宿主基因加序号 CIRCHSA_TTN_49 内部编号
Location 零基基因组坐标,染色体:起-止(链) V:15874634-15876408(-) 比对结果
circname 社区建议命名,环类型加基因名加外显子或内含子区间 circMAN1A2(2-5) 命名规则
editing_site 可被碱基编辑改变的位点,用于敲除环而不动线性转录本 none;none;none;none 序列扫描
subcell_location 亚细胞定位预测与置信分 cytoplasmic (-0.94) RNAlight
length 环状 RNA 全长,核苷酸数 998 序列计算
DIS3_signal 富尿苷降解信号所在的区间段 `85-91\ 437-442`
DIS3_motif 具体基序序列与匹配到的模体类型 85-91:GCTCTGT:M2-GCTCTGC 基序比对
Orthology 与人源环的直系同源判定 conserved / human specific / none LiftOver
TGS 是否有三代测序证据 none / 方法名 长读长整合
species 物种拉丁名,连字符连接 Homo-sapiens 元数据
gene_Ensembl 宿主基因的 Ensembl 编号 ENSG00000155657 注释库
gene_Refseq 宿主基因的 RefSeq 编号或基因符号 TTN 注释库
transcript_Ensembl 命名所参照的转录本 Ensembl 编号 ENST00000342992 注释库
transcript_Refseq 同上的 RefSeq 编号,缺失时写 NA NA 注释库

editing_site 这一列的结构值得单独说:它用分号分隔四个位置,分别对应敲除策略里四种可选的编辑方案,没有可用位点时整列写 none。DIS3_motif 用竖线分隔多个信号,每个信号内部再用冒号分成区间、实际序列、匹配的模体名三段。这两列是典型的「一行里塞结构化子串」,直接按分隔符切开就能还原成子表(§5.3)。

2.3 一条记录的完整解剖

拿线虫表里第一条 circRNA 和第一条 ciRNA 对照看,能一次看清两类环在字段上的差别。

circID              CIRCCEL_nhr-102_1
Location            V:15874634-15876408(-)
circname            circnhr-102(1-7)
editing_site        none;none;none;none
subcell_location    cytoplasmic (-0.94)
length              998
DIS3_signal         85-91|437-442|605-610|646-652|791-796|928-933
DIS3_motif          85-91:GCTCTGT:M2-GCTCTGC|437-442:TCCGCG:M1-KTCGCT
Orthology           none
TGS                 none
species             Caenorhabditis-elegans
gene_Ensembl        WBGene00003692
gene_Refseq         nhr-102
transcript_Ensembl  T06C12.6.1
transcript_Refseq   NA

第二条是 ciRNA,差别集中在三处:编号前缀从 CIRCCEL_ 变成 CICEL_,名字从 circ 开头变成 ci 开头,长度掉到二十七。第三处不是巧合——内含子套索来源的环只包含一个内含子,长度自然短;外显子来源的环在这里跨了七个外显子,长度就近千。

circID              CICEL_F56A8.3_3
Location            III:13257530-13257557(+)
circname            ciF56A8.3(3)
length              27
subcell_location    cytoplasmic (-0.06)

这两个前缀是本库唯一区分两类环的方式。官方没有单独的类型列,做统计分析时必须自己从前缀切出来,否则会把两种长度分布完全不同、生成机制也不同的分子混在一起算。

2.4 样本从哪来,怎么分

样本来源有五个:RNA Atlas、ENCODE、NHPRTR(非人灵长类参考转录组资源)、NCBI 的 SRA、国家基因组科学数据中心的 GSA。官方说明除了线虫与果蝇用整体生物跨发育阶段采样,其余样本都经过人工整理,按来源研究的元数据归进 26 个器官系统。

分类轴 取值 说明
物种 20 个 见 §2.1 表
器官系统 26 个 人工归并,非自动映射
样本类型 整体生物 / 组织 / 细胞系 / 亚细胞组分 四类
病理状态 正常 / 癌 / 患病 粗分,无具体疾病编码
富集方式 核糖体 RNA 去除 / polyA 去除 / RNase R 处理 三档

富集方式的分布极不均衡。人类的一千五百多份样本里,核糖体 RNA 去除占绝大多数,polyA 去除与 RNase R 处理合计不到一百份。这个偏斜有生物学理由:环状 RNA 没有 polyA 尾,用 polyA 富集建库会系统性丢掉它们,所以主流做法是去核糖体 RNA。但也意味着用这三档数据做比较时,polyA 去除那批的检出率天然更低。

物种 核糖体 RNA 去除 polyA 去除 RNase R 合计
人 1,469 58 33 1,560
小鼠 203 2 1 206
猪 134 0 0 134
果蝇 118 0 9 127
猕猴(恒河猴) 68 0 0 68
线虫 27 0 6 33
食蟹猴 29 0 0 29
黑猩猩 27 0 0 27
鸡 16 0 6 22
大鼠 15 0 0 15
狒狒 15 0 0 15
绵羊 14 0 0 14
豚尾猕猴 14 0 0 14
白眉猴 14 0 0 14
猫 14 0 0 14
家犬 13 0 0 13
兔 13 0 0 13
狨 13 0 0 13
苏门答腊猩猩 12 0 0 12
豚鼠 7 0 0 7

这张表最重要的一列是合计:样本从七份到一千五百多份,跨度超过两个数量级。任何跨物种的定量结论都必须先把这一列放进模型当协变量。

2.5 条数与样本量的关系

把物种按样本量排序,再把条数放在旁边,方向很明确:样本越多,累加检出的环越多。但这个关系不是线性的,中间隔着基因组复杂度与测序深度。

物种 样本数 条数
人 1,560 八十四万余
小鼠 206 214,984
猪 134 277,448
果蝇 127 20,690
猕猴(恒河猴) 68 157,771
线虫 33 14,269
豚鼠 7 27,965

把猪和果蝇并排看最能说明问题:样本量几乎相同,一个一百三十四份、一个一百二十七份,条数却差了一个数量级以上,前者二十七万余,后者两万余。差距来自基因组本身——猪的基因组约二十五亿碱基、基因数量与人类相当,果蝇只有约一亿四千万碱基。样本量相同而条数悬殊,说明这个数字里同时装着投入与物种属性,两者无法从同一列里拆开。

再看豚鼠:只有七份样本,条数却比三十三份样本的线虫多一倍。这一行直接否掉了「条数随样本单调增长」的简单读法。样本的组织来源、测序深度、建库质量都会改变结果,样本数只是其中一个可见的旋钮。

这张表也是 §1.2 第二条错误期待的量化依据。看到「人类八十四万、线虫一万四」就说人类环状 RNA 比线虫丰富六十倍,是把物种属性、样本投入、测序深度三件事压成了一个数字。

2.6 与同类资源的字段差异

环状 RNA 领域有三个常被拿来比较的库:本库、circAtlas 3.0、circBase。三者定位不同,字段设计也不同。

对比项 CIRCpedia v3 circAtlas 3.0 circBase
物种数 20 脊椎动物为主 多物种,以人鼠为主
样本口径 统一重跑 整合已发表结果 汇集已发表结果
条数量级 约 261 万 约 300 万 十万量级
命名规则 社区建议命名 + 稳定编号 自有编号 流水号
表达量 FPBcirc / FPBlinear / CIRCscore 有 无
跨物种保守性 LiftOver + 位点阈值 有 无
三代测序证据 有专门列 部分 无
功能预测 六类模块 少量 无
下载形态 每物种两包 分物种 分物种

最关键的一行是「样本口径」。本库不沿用原论文的鉴定结果,而是把原始测序读段重新比对、重新定量。circBase 与本库的差别不只是条数,而是「这一条是怎么被算出来的」——前者汇集别人的判断,后者用自己的判断覆盖全部样本。代价是重跑时的参数选择会系统性地影响结果,好处是所有物种站在同一把尺上。

这带来一个实用推论:把本库的表和汇集型库的表做交集,得到的不是「高置信集合」,而是「两套判断标准都认的集合」。两个都认的记录确实更可能真,但被两边都漏掉的记录也真实存在,只是各自的阈值把它挡在门外。做候选筛选时按交集取会更保守,做召回评估时按交集取会低估实际含量。

§3 它属于谁:一支做环状 RNA 的实验室

3.1 从上海生科院到复旦

数据库的署名单位换过。第二版的通讯作者邮箱在 picb.ac.cn 域下,那是中国科学院分子植物科学卓越创新中心的域名;第三版的版权行写的是「Bioinformatics and Interdisciplinary Technologies (BITs), Yang Lab, IBS, Fudan University」,即复旦大学生物医学研究院。同一位通讯作者杨力,研究组随机构调整迁移,数据库也跟着搬了家。

这件事对使用者有直接影响:旧链接失效不是站点故障,是归属变更。引用旧地址的论文、教程、流程脚本都会指向一个不再提供服务的入口(§7.3 有本次访问的具体记录)。

版本 年份 署名单位 入口域名
v1(beta) 2015 中国科学院上海生命科学研究院 picb.ac.cn/rnomics/circpedia
v2 2018 同上 同上
v3 2025 复旦大学 BITs bits.fudan.edu.cn/circpediav3

3.2 时间线

时间 事件 意义
2014 CIRCexplorer 论文发表于 Cell 方法学起点:互补序列介导的外显子环化
2015-12-10 CIRCpedia 上线 beta 首次公开
2016-04 至 2017-09 CIRCexplorer2 连发四版;样本分批加入 人、鼠、果蝇、线虫陆续扩充
2016 Genome Research 发表替代反向剪接图景 为数据库提供注释框架
2018-05-18 升级为 v2,六物种 首次成体系的多物种版本
2018-07-07 加入基于 hg19 的人类鉴定结果 双基因组版本并存
2025-07-01 v3 上线 二十物种、两千余样本、加入 ciRNA
2025-10-22 论文在线发表于 Nucleic Acids Research 版本定型
2026-01 论文见刊,卷 54 第 D1 期 数据库专刊

这张表里有两行容易被忽略。2018 年 5 月 17 日官方把表达量改成 FPM,7 月又加入 hg19 版本——说明 v2 时期曾经并存两套基因组坐标与两套表达单位。如果你要复现 2018 年前后的分析,得先确认当时用的是哪一套。v3 只保留一套坐标,这个歧义消失了。

3.3 一条方法学的传承线

理解这个库要看它的工具链,因为它不是独立开发的数据库,而是自家流程的展示面。

工具 年份 作用 与本库的关系
CIRCexplorer 2014 从反向剪接读段鉴定环状 RNA 方法学源头
CIRCexplorer2 2016 加入替代反向剪接与可变剪接分析 v1–v2 的鉴定引擎
CLEAR 2019 环状与线性 RNA 表达量的直接比较 引入 CIRCscore
CIRCexplorer3 2019 前两者的整合版 v3 的鉴定与定量引擎

这条线的意义在于:数据库里每一条记录都是这套流程的输出,流程的假设会原样进入数据。比如 CLEAR 用「每基因表达最高的转录本」作线性分母,那么一个基因若有多个高表达转录本,环状与线性的比值就会依赖这个选择。用 CIRCscore 做跨基因比较时,这个约定必须写进方法节。

3.4 谁在维护,能找谁

官方页面给了两个联系邮箱,分别在关于页的通讯作者栏。代码与工具挂在 GitHub,数据库本体不开放源代码,只提供网页与下载。这种「工具开源、数据托管」的分工在国内生物数据库里很常见:方法可以被复现,数据只能被下载。

角色 对象 用途
通讯作者 杨力(复旦大学) 数据使用授权、合作
通讯作者 马旭凯(复旦大学) 技术问题、字段疑问
合作方 陈玲玲(分子细胞卓越中心) 环状 RNA 生物学背景
工具代码 CIRCexplorer 系列 GitHub 仓库 复现鉴定流程

§4 它最独特的东西:跨物种可比与一个基因的上千个环

4.1 为什么「统一重跑」比「汇集结果」贵得多

汇集别人的鉴定结果很省事:把各论文的补充表拉下来,统一坐标,去重,合并。代价是每篇论文用的流程、参数、参考基因组都不同,合并后的表里混着十几种判断标准。

统一重跑要把每一份原始测序数据重新比对。本库的两千多份样本,全都要走一遍比对、反向剪接读段提取、定量。这个代价换来的是可比性:同一个环在不同物种里的判定标准完全一致,样本之间的差异只剩生物学与测序深度。

做法 成本 可比性 典型代表
汇集已发表结果 低 差,标准混杂 circBase
整合并重新定量 中 中 circAtlas
全部重跑 高 好,标准统一 本库

这张表没有说哪种更好,只说它们回答的问题不同。想找「文献里报道过哪些环」,汇集型库更全;想问「这个环在这个物种的这个组织里表达多少」,重跑型库更可靠。

4.2 保守性是怎么判的

跨物种保守性用 UCSC LiftOver 做。把人类的环状 RNA 坐标按链文件映射到其他物种的基因组,如果映射过去的位点上存在一个环,且两个反向剪接位点相差不超过五个核苷酸,就判为保守;否则判为该物种特异。

判定 条件 含义
conserved 映射成功且位点相差 ≤5 nt 认为存在直系同源环
human specific 映射成功但无对应环 人类特有
none 映射失败或无同源区域 无法判定

「无法判定」与「人类特有」是两件事,但在下游分析里经常被合并。一个基因在别的物种里根本没有对应区域(比如灵长类特有的基因家族),它的环会被判成 none,不是 human specific。做保守性统计时把 none 算进分母,会系统性低估保守比例。

4.3 案例:一个基因的一千九百一十七个环

官方论文的表格里有一行数字很扎眼:人类 TTN 基因(肌联蛋白)产生了 1,917 种环状 RNA 异构体,是全部人类基因里最多的。小鼠的同源基因 Ttn 只有 314 种,排在第一位,但绝对值差了六倍。

TTN 是人体最大的蛋白编码基因,转录本长度超过十万个核苷酸,外显子数量三百多。外显子越多,可组合的反向剪接方式越多,这是它排第一的结构基础。但这个解释只说明「可能多」,不说明「为什么是人比鼠多六倍」——样本量差异、测序深度、以及该基因在心脏与骨骼肌中的超高表达,三个因素叠在一起。

官方把这个基因单独拿出来讲,重点是一条具体的环:circTTN(76-142),编号 CIRCHSA_TTN_49。它在心脏样本里的表达被单独画了图,与它同源的线性 TTN 转录本放在一起比较。这条记录同时展示了本库的四个设计:命名用外显子区间(76 到 142)、编号用物种加基因加序号、表达用环与线性的比值、坐标可以在 JBrowse 里直接看。

层级 人类 TTN 小鼠 Ttn
环状 RNA 异构体数 1,917 314
全库基因排名 第 1 第 1
示例环命名 circTTN(76-142) 对应直系同源环
示例环编号 CIRCHSA_TTN_49 按小鼠码另编
组织富集 心脏(官方图示) 心脏与骨骼肌

这个案例在 §5.4 的取数流程与 §7.2 的批次讨论里还会再出现,因为它把「条数」「命名」「表达」「组织特异性」四件事压缩在一条记录上,比任何抽象描述都好用。

4.4 两类环混在一张表里

外显子反向剪接形成的 circRNA 与内含子套索形成的 ciRNA,生成机制不同、长度分布不同、亚细胞定位倾向也不同,但它们在同一个文件里,只靠编号前缀区分。

特征 circRNA ciRNA
编号前缀 CIRC + 物种码 CI + 物种码
命名前缀 circ ci
来源 外显子反向剪接 内含子套索
典型长度 数百至数千核苷酸 数十核苷酸
主要定位 细胞质为主 文献报道多滞留核内
剪接位点 跨外显子边界 内含子两端

如果做长度分布或定位富集分析,必须先按前缀切开。混算的结果会把两个峰糊成一个,既看不到 circRNA 的长尾,也看不到 ciRNA 的短峰。

4.5 边界条件:什么情况下它不再适用

条件 是否适用 判断依据
查某个已知环的表达组织谱 适用 按样本查询即可
跨物种找保守候选 适用,注意 none 与 specific 的区别 §4.2
物种间绝对条数比较 不适用 样本量差两个数量级
需要实验验证的标签 不适用 全部为计算预测
商业产品中的再分发 谨慎 数据许可未公布
依赖最新基因组组装的分析 谨慎 部分物种用上一代组装
需要批量表达矩阵 不适用 下载表不含表达
植物环状 RNA 研究 不适用 二十个物种全为动物

这张表最后一行值得单独提:本库一个植物都没有。如果研究拟南芥、水稻、玉米的环状 RNA,需要去植物专门的库,与这里没有交集。

§5 怎么拿到:从四十个压缩包到一张可比矩阵

5.1 目录与下载面

下载页按目分组,每个物种一行两个按钮。链接结构固定,可以直接拼。

路径 内容 大小
/circpediav3/static/download_cache/annotation/<Species>.txt.zip 注释与预测表 人类约 93 MB,线虫不到 1 MB
/circpediav3/static/download_cache/sequence/<Species>_circ.fa.zip 环状 RNA 序列 人类约 104 MB
/circpediav3/static/20250418_CIRCpediav3_summary.xlsx 官方样本汇总表 约 168 KB
/circpediav3/static/circNum_stat.json 各物种条数统计 数 KB
/circpediav3/static/sample_stat.json 各物种按富集方式的样本数 数 KB

注意文件名里的物种写法有两套:注释包用连字符(Homo-sapiens),序列包用下划线(Homo_sapiens)。拼 URL 时混用会 404,这是最容易在批量脚本里踩的坑。

另一个要提前知道的事:文件路径里没有版本号。第三版的入口叫 circpediav3,这是版本信息唯一出现的地方,压缩包名与文件名都不带日期或修订号。也就是说,同一个 URL 在不同月份可能给出内容不同的文件,而你从文件名上看不出来。做长期项目时,唯一可靠的记录方式是下载后自己算校验和并存档,同时把访问日期写进方法节。相比之下,很多国际化数据库会在文件名里嵌版本号或以 DOI 冻结快照,这里没有这层保护。

5.2 批量下载与校验

#-- 物种名两套写法:注释用连字符,序列用下划线
BASE="https://bits.fudan.edu.cn/circpediav3/static/download_cache"
mkdir -p circpedia/annotation circpedia/sequence

for sp in Homo-sapiens Mus-musculus Sus-scrofa Gallus-gallus; do
  curl -sSL --retry 3 "$BASE/annotation/${sp}.txt.zip" \
       -o "circpedia/annotation/${sp}.txt.zip"
done

#-- 序列包把连字符换成下划线再拼
for sp in Homo_sapiens Mus_musculus Sus_scrofa Gallus_gallus; do
  curl -sSL --retry 3 "$BASE/sequence/${sp}_circ.fa.zip" \
       -o "circpedia/sequence/${sp}_circ.fa.zip"
done

#-- 解压后先数行数,再与官方条数对
unzip -o -q circpedia/annotation/Gallus-gallus.txt.zip -d circpedia/annotation/
wc -l circpedia/annotation/Gallus-gallus.txt

最后一行会给出「官方条数加一」。多出来的是表头,不是错误(§5.6)。

5.3 读表与拆子字段

import pandas as pd

#-- 制表符分隔,首行是表头;dtype 全按字符串读,避免 ID 被转成数字
df = pd.read_csv("circpedia/annotation/Caenorhabditis-elegans.txt",
                 sep="\t", dtype=str)

#-- 按编号前缀切出两类环
df["kind"] = df["circID"].str.startswith("CIRC").map({True: "circRNA", False: "ciRNA"})
print(df["kind"].value_counts())

#-- DIS3_signal 是一列里塞了多个区间,按竖线拆成多行
sig = (df[df["DIS3_signal"] != "none"]
       .assign(sig=lambda d: d["DIS3_signal"].str.split("|"))
       .explode("sig"))
sig[["sig_start", "sig_end"]] = sig["sig"].str.split("-", expand=True)
print(sig[["circID", "sig_start", "sig_end"]].head())

#-- 坐标列拆成染色体、起、止、链
loc = df["Location"].str.extract(r"^(?P<chrom>[^:]+):(?P<start>\d+)-(?P<end>\d+)\((?P<strand>[+-])\)$")
print(loc.head())

dtype=str 这一步不能省。circID 里含下划线与字母,但 gene_Refseq 之类的列可能是纯数字,pandas 默认会做类型推断,把 001 读成 1,后续匹配就断了。

5.4 取一条环的完整上下文

以 §4.3 的案例为例,从表里捞出人类 TTN 的全部环,看它们的长度与定位分布。

import pandas as pd

human = pd.read_csv("circpedia/annotation/Homo-sapiens.txt",
                    sep="\t", dtype=str,
                    usecols=["circID", "Location", "circname", "length",
                             "subcell_location", "Orthology", "gene_Refseq"])

#-- 按命名列筛比按基因注释列稳:名字里直接带基因符号
ttn = human[human["circname"].str.startswith("circTTN(", na=False)]
print(len(ttn))                                  #-- 与官方表格的 1917 对照
print(ttn["circID"].str.contains("TTN_49").sum())

#-- 只取编号精确等于 CIRCHSA_TTN_49 的那一行
row = human[human["circID"] == "CIRCHSA_TTN_49"]
print(row[["circname", "Location", "length", "subcell_location"]].to_string())

如果 len(ttn) 与官方表格对不上,先看筛的那一列。gene_Refseq 在不同物种里混着装 RefSeq 编号与基因符号(线虫表里就是 nhr-102 这样的符号),拿它当基因名筛会漏;circname 由命名规则生成,基因符号一定在里面,更稳。这也是 §4.3 的案例能被反复使用的原因:它把「一行数据能不能被稳定取出来」这件事变成了一个可验证的小测试。

5.5 序列包与引物设计的接口

序列包是 FASTA,每条记录的头行就是 circID。环形分子在文件里必然被剪开铺平成一串线性字符,剪口就落在反向剪接位点上,因此序列首尾两端在真实分子里是相连的。

from Bio import SeqIO

seqs = SeqIO.to_dict(SeqIO.parse("circpedia/sequence/Homo_sapiens_circ.fa", "fasta"))
rec = seqs["CIRCHSA_TTN_49"]
print(rec.id, len(rec.seq))

#-- 反向剪接位点在前 100 nt 与后 100 nt 的接缝处
head, tail = str(rec.seq[:100]), str(rec.seq[-100:])
print(head[:30])
print(tail[-30:])

设计 divergent 引物时,正向引物落在接缝下游、反向引物落在接缝上游,扩增产物才能跨过反向剪接位点。网页端的 Primer3 模块自动做这件事,但产物长度、退火温度、二聚体都要自己复核。拿本地序列自己再跑一遍,是验证官方引物最省事的办法。

5.6 六个最容易出错的地方

位置 错误写法 后果 正确做法
拼 URL 注释包用下划线 404 注释用连字符,序列用下划线
数条数 wc -l 直接当条数 多算一条表头 减去表头,或读表后取行数
读类型 让 pandas 推断 编号前导零丢失 dtype=str
分两类环 按长度阈值切 ciRNA 与短 circRNA 混淆 按 circID 前缀切
判保守 把 none 当 human specific 保守比例被低估 三分类分别统计
比物种 直接比条数 比的是样本投入 先按样本量分层

§6 与库内条目的关系

6.1 关系图谱

CIRCpedia 在站内的位置是「二级加工库」:它的原料来自测序归档库,它的注释来自参考基因组库,它的产出是别人做下游分析的起点。

库内条目 X 是什么 与它的关系
GEO 基因表达综合数据库 原始测序数据的归档库 上游来源之一,本库从那里取读段
GENCODE 参考基因注释 人类与小鼠的基因与转录本注释 上游注释来源,决定基因与外显子编号
GTEx 组织表达图谱 正常组织的大规模表达 同类但不同层:GTEx 看线性转录本,本库看环状
FANTOM5 转录调控图谱 转录起始位点与增强子 互补:一个看起点,一个看闭合产物
CZ CELLxGENE 单细胞平台 单细胞转录组 尺度不同:单细胞层面环状 RNA 检出极稀疏
LINCS L1000 扰动图谱 扰动后的表达响应 可组合:用扰动数据看环状 RNA 的应答

最关键的一行是 GENCODE。本库的 gene_Ensembl、transcript_Ensembl 都指向那一套注释,circname 里的外显子编号也是相对那套转录本算的。GENCODE 换版本,名字就会变,编号却不变——这正是双轨设计的用处。

6.2 检索路径

你要找的东西 检索词 会落到哪里
某个环在人体的表达 网页端 Search,输入基因符号或坐标 §5.4 的取数流程
环状 RNA 的规范命名 circRNA nomenclature、circMAN1A2 §2.2 的命名列
跨物种保守环 Orthology、conserved circRNA §4.2 的判定规则
环状与线性的比例 CIRCscore、CLEAR §3.3 的工具链
环状 RNA 的降解 DIS3、U-rich motif §2.2 的 DIS3_signal 列
植物环状 RNA plant circRNA 不在本库范围(§4.5)

6.3 与其他库的分工判据

任务 主粮仓该用什么 本库的位置 原因
找文献报道过的环 circBase 一类汇集库 辅助 汇集型更全
查组织表达谱 本库或 circAtlas 主力 统一重跑,口径一致
跨物种保守分析 本库 主力 二十物种同流程
设计验证引物 本库 主力 内置 Primer3
环状 RNA 定量流程开发 本库 参照 官方给全了工具与参数
单细胞层面的环状 RNA 单细胞专库 不适用 本库是批量测序
植物环状 RNA 植物专库 不适用 无植物物种
临床样本的环状 RNA 标志物 有临床注释的专库 部分 本库只有正常/癌/患病粗分

这张表里最容易被高估的是最后一行。本库确实收了癌与患病样本,但病理状态只有三档粗分,没有分期、分级、治疗史、随访。想拿它做预后标志物研究,样本的临床维度根本不够,它只能给候选分子,给不了结局变量。

§7 质量评估与局限性

7.0 阅读本节前的一个前置校正

有一个常见的误判:把「条数多」当成「质量高」。本库两百六十多万条,是同类里最大的之一,但这个数字主要由样本量堆出来,不是由鉴定精度堆出来。评价它的时候要把两件事分开:覆盖广度(物种、组织、样本)与单条可靠性(一条记录能不能被独立复现)。

这个校正会改变下面五维评分的读法。规模一项它接近满分,单条可靠性一项它拿不到高分,因为所有记录都是计算产物、没有逐条验证。把两项混在一起看,会得出「这么大一定很可靠」或「没验证所以没用」两种相反的错判。

7.1 五维评分

按 DAIMS 的常用口径打分,每项 1–5 分,分数针对「作为环状 RNA 研究数据」这个用途:

维度 分数 理由
数据规模 5 二十物种、两千余样本、两百六十万条,同类前列
标注质量 3 流程统一、参数公开,但无实验验证
任务适配 5 跨物种比较与命名规范几乎没有替代品
文档完整 4 关于页写清流程与工具版本,字段含义需推断
可获取性 3 免注册可下,但无整库包、无 API、许可不明

合计 20 分(满分 25)。分数结构与小而精的专业库正好相反:它赢在规模与适配,输在单条可靠性与取数便利。

7.2 单条记录可靠性的三层

第一层是位点对不对。反向剪接位点由读段比对确定,落在零基坐标上,误差范围取决于比对算法与读长。这一层相对可靠,因为位点有读段直接支撑。

第二层是边界准不准。外显子边界来自参考注释,注释错了,circname 里的区间就错。这一层依赖 GENCODE 或 Ensembl 的质量,不由本库负责。

第三层是表达量稳不稳。FPB 是归一化后的相对值,受测序深度、建库方式、样本质量共同影响。同一份样本换个批次重测,FPB 会变。这一层最不稳定,也最容易被当成绝对量使用。

用途 依赖哪一层 风险
位点查询 第一层 低
命名与跨库对照 第二层 中,随注释版本漂移
表达比较 第三层 高,需同批次同建库方式
差异表达 第三层 高,须做批次校正

第三层的麻烦在于它不是随机噪声。同一份 RNA 样本,用核糖体 RNA 去除建库和用 RNase R 处理建库,得到的环状与线性比值会系统性不同——后者把线性分子降解掉,环状信号相对抬高。这意味着跨建库方式拼出来的表达矩阵里,批次和生物学混在一起,任何差异表达分析都要先把建库方式放进设计矩阵。§4.3 的案例正好说明这一点:同一条 circTTN(76-142) 在心脏样本里的读数,只有在同一批建库方式内部比较才有意义,跨批次比出来的高低可能是化学造成的。

7.3 已知的、可枚举的偏差

偏差 表现 影响
物种偏斜 灵长目十个,农业与模式物种少 进化结论偏向灵长类
样本偏斜 人类样本占六成以上 全库统计被人类主导
富集方式偏斜 核糖体 RNA 去除占绝对多数 polyA 去除样本检出率低
组织覆盖不均 部分物种只有整体生物样本 无法做组织特异分析
基因组版本混用 人用 hg38、鼠用 mm10 与新组装数据合并需转换
无实验验证 全部记录为计算鉴定 假阳性率未知
许可不明 无数据使用条款 商业使用缺依据
站点状态 首页标注开发中 接口与字段可能变动
旧域名不可达 第二版入口的域名可解析,端口连不上 旧引用链断裂,脚本需改地址

倒数第二条是本次查询时直接从首页读到的:页面顶部有一行「Database under active development」的提示。这句话的意思是结构与内容仍可能调整。对做长期流程的人来说,这意味着要把下载日期与文件校验和记下来,不能假定明年下的还是同一份。

最后一条是本次查询的实际观测:第二版入口所在的域名能拿到地址解析,但八十与四百四十三端口都返回连接失败,同一时段其他站点可以正常访问。这不足以断定站点永久下线——也可能是该地址对境外来源做了限制——但对使用者来说结论一样:不能再把旧地址当作取数入口。旧论文、旧教程、旧脚本里指向它的链接都需要替换。

7.4 外部验证矩阵

本库被引用时常出现在三类场景,每类的验证强度不同。

验证角色 做法 讲得通的地方 风险
候选环的来源 从本库挑环,做 qPCR 验证 有坐标有序列,可直接设计引物 挑中的环可能验证失败,失败率官方未公布
跨物种保守性参照 用 Orthology 列筛保守环 判定规则明确可复现 阈值固定,无法按研究需要调整
流程对标 用本库结果检验自己的鉴定流程 官方流程公开,可逐步比对 参数不同导致差异,难以归因
注释基准 用本库命名统一文献里的环 社区建议命名,接受度高 旧文献的名字仍需人工映射

第一类的失败率是所有人都想知道、官方没有公布的数字。从计算鉴定到实验验证,中间隔着假阳性、表达丰度不足、引物效率三重损耗。用本库挑候选时,合理的预期是「筛出一批再去验证」,不是「挑一个就能成」。

这也决定了论文方法节该怎么写。只写「候选环来自 CIRCpedia」是不够的,至少还要给三样:下载日期、用了哪一列筛(Orthology 还是 CIRCscore)、以及筛选阈值。第三样最常被漏。当前版本里 Orthology 是三值枚举,筛选逻辑本身不复杂,但「保守」与「无法判定」怎么处理,不同团队做法不同,结果会差很多。把这三样写清,别人才能判断你报出的候选集到底是怎么来的。

7.5 它为何能持续:不是数据多,是那把尺没人替

环状 RNA 数据库不止一个,条数更多的也有。它能持续被引用,靠的是三件别处凑不齐的东西:同一套流程覆盖二十个物种、一套被社区接受的命名、以及一支还在维护这套流程的团队。前两件让它的数据能被直接比较,第三件让它在基因组版本更替时还能跟上。

只要「跨物种可比」这个需求还在,而别的库仍停留在汇集已发表结果,它的位置就不会被条数更大的库顶掉。

§8 生态位与历史

8.1 从方法到数据库的十年

2014 年那篇 Cell 论文解决了一个具体问题:外显子两端反向互补的序列(主要是 Alu 元件)能让剪接机器把下游接回上游。这个机制解释了大量环状 RNA 的来源,也给了鉴定流程一个可操作的信号——找跨反向剪接位点的读段。

两年后的 Genome Research 论文把这套流程升级,系统描述了替代反向剪接的图景:同一个基因座上,不同的反向剪接位点组合产生不同的环。这篇论文实际上定义了数据库要记录的最小单位——不是基因,是「一对反向剪接位点」。

阶段 时间 关键进展
方法奠基 2014 互补序列介导环化
图景描述 2016 替代反向剪接的系统分类
数据积累 2016–2018 样本持续扩充,至 v2 达一百八十余份
多物种化 2018 v2,六物种,保守性分析
规模化 2025 v3,二十物种,加入三代测序与 ciRNA

8.2 三代测序带来了什么

v3 新增的六十三份三代测序样本,用的是四种长读长方法:circFL-seq、circNick-LRS、isoCirc、CIRI-long。长读长的价值在于能一次读通整个环,直接确定全长序列与内部结构,不必靠短读段拼接推断。

方法 平台类型 特点
circFL-seq 长读长 富集环状 RNA 后全长测序
circNick-LRS 长读长 切口后测序,保留全长信息
isoCirc 长读长 滚环扩增后测序
CIRI-long 长读长 从长读段直接识别环

六十三份相对两千三百多份是少数,但它们的作用不是增加条数,而是给短读段鉴定结果提供全长层面的佐证。TGS 这一列就是为此设的:有长读长证据的记录,可靠性高一档。

两类数据的分工值得说明。短读段只能证明「存在一个跨越反向剪接位点的接缝」,接缝之外环的内部结构靠推断;长读段能一次读穿整个环,直接给出全长与外显子组成。因此三代数据最适合做两件事:验证短读段推断出的外显子组合是否成立,以及发现短读段因重复序列而拼不出来的长环。六十三份样本覆盖不了二十个物种,多数物种的记录仍只有短读段支撑。

8.3 生态位:标准制定者

角色 特征 代表
标准制定者 定义命名、坐标、定量口径 本库
规模扩张者 追求条数与物种覆盖 circAtlas
历史档案 保留早期鉴定结果 circBase
专题库 聚焦翻译、互作、修饰等单一维度 riboCIRC 等

本库坐在「标准制定者」这一格。它的条数不是最多,但它的命名被 2023 年那篇 Nature Cell Biology 的社区共识文件采纳,circMAN1A2(2-5) 这种写法正在成为通用格式。一个数据库能输出标准,比它能输出多少条更难得。

坐这一格有代价。标准要被接受,就得稳定;标准要稳定,就不能频繁改字段。这解释了为什么它的注释表只有十五列、为什么表达量没有塞进下载包——每加一列,下游所有解析脚本都要跟着改。第三版新增了六类预测,但它们被放在网页模块里而不是全部写进主表,只有少数派生成列(可编辑位点、亚细胞定位、降解信号)进了下载表。这是一种克制的设计取舍:宁可让你多点几次,也不让主表膨胀到无法维护。

8.4 谁在用它,用来做什么

从公开文献的引用方式看,使用者集中在三类:做环状 RNA 功能实验的团队(挑候选、设计引物)、做进化比较的团队(找保守环)、做流程开发的团队(对标鉴定结果)。三类里第一类最多,也最依赖它的命名与序列。

§9 使用指引

9.1 三种角色的路径

角色 第一天 第一周 注意事项
实验团队 用基因符号查目标环,拿序列设计引物 做 qPCR 验证,记录验证成功率 不要只看 CIRCscore 高就挑,先看组织是否匹配
计算团队 下注释表,跑通 §5.3 的读表 建立本地索引,接自己的表达管线 坐标零基,与 BED 一致,与 GFF 差一
进化团队 拉多物种表,按 Orthology 筛 控制样本量做分层比较 none 不等于 human specific

9.2 一条最短的可用流程

#-- 1. 下人类注释表与序列
BASE="https://bits.fudan.edu.cn/circpediav3/static/download_cache"
curl -sSL "$BASE/annotation/Homo-sapiens.txt.zip" -o human_anno.zip
curl -sSL "$BASE/sequence/Homo_sapiens_circ.fa.zip" -o human_seq.zip
unzip -o -q human_anno.zip && unzip -o -q human_seq.zip

#-- 2. 行数核对:减去表头应等于官方条数
awk 'END{print NR-1}' Homo-sapiens.txt

#-- 3. 按命名列取子集;第 3 列是 circname,前缀带基因符号
awk -F'\t' 'NR==1 || $3 ~ /^circTTN\(/' Homo-sapiens.txt > ttn.tsv
wc -l ttn.tsv
import pandas as pd

df = pd.read_csv("ttn.tsv", sep="\t", dtype=str)
print(df.shape, df["circID"].head(3).tolist())

#-- 取 §4.3 提到的那条环
hit = df[df["circID"] == "CIRCHSA_TTN_49"]
print(hit[["circname", "Location", "length"]].to_string(index=False))

9.3 引用方式

引用对象 内容
数据库(v3) Zhai SN, Zhang YY, Chen MH, Fu ZC, Chen LL, Ma XK, Yang L. CIRCpedia v3. Nucleic Acids Res. 2026;54(D1):D78–D88.
数据库(v2) Dong R, Ma XK, Li GW, Yang L. CIRCpedia v2. Genomics Proteomics Bioinformatics. 2018;16(4):226–233.
流程 引用 CIRCexplorer3/CLEAR 原文,说明用的是哪一版
访问记录 写明访问日期与下载文件的校验和

写方法节时建议注明三件事:用的哪一版、下载日期、以及参考基因组版本是否与自己的数据一致。第三条最常被漏,也最容易导致坐标对不上。

§10 AI 使用声明

项目 声明
文本生成 本文由 AI 辅助撰写,结构与事实经编辑核对
数字来源 规模、结构、边界三类数字来自官方站点、官方统计端点与论文全文
交叉核验 物种条数逐项求和与首页总数一致;样本分项求和加三代测序数等于总样本数
文件核验 一个物种的注释包已下载解压,列名与行数与官方数字一致
论文信息 已读核酸研究论文全文,第二版论文读摘要与流程段
未核验内容 各字段的假阳性率、二十个物种各自的样本明细
站点状态 旧域名本次查询无法建立连接,详见 §7.3
图像 无配图;封面为生成式提示词,不含真实数据截图
免责 本文不构成实验建议;数据使用须先确认许可

常见误读(避坑清单)

说法 实际 证据
「CIRCpedia 是植物环状 RNA 库」 二十个物种全是动物,无植物 官方统计端点的物种列表
「它是 circBase 的新版本」 两个独立项目,命名与口径都不同 两者的编号体系不通用
「下载表里带表达量」 十五列全是注释与预测 解压后的表头
「两百六十万条都经过验证」 全部为计算鉴定 关于页只写流程,无验证章节
「条数可以直接比物种」 样本量差两个数量级 样本统计端点的分项
「none 就是人类特有」 none 是无法判定,另有 specific 论文的保守性判定段
「ciRNA 是 circRNA 的一种」 生成机制不同,靠前缀区分 编号前缀 CIRC 与 CI
「旧网址还能用」 本次查询连接失败,已迁址 §7.3 的访问记录
「有 REST API 可以直接调」 官方未提供公开接口 站点导航无 API 文档
「许可是 CC BY」 论文是 CC BY-NC,数据许可未公布 论文版权页与关于页

FAQ

Q1:CIRCpedia 是植物数据库吗?
不是。二十个物种全在动物界,分布在灵长目、啮齿目、偶蹄目、食肉目、鸡形目、双翅目、小杆目。植物环状 RNA 有另外的库,与它没有隶属关系。

Q2:它的旧网址为什么打不开?
第二版入口在中国科学院系统的域名下,本次查询时域名能解析但八十与四百四十三端口都无法建立连接,同一时段其他站点正常。第三版已迁到复旦大学域名,旧地址不应再作为取数入口。

Q3:下载表里有表达量吗?
没有。注释包只有十五列注释与预测字段。表达量要在网页端按样本查,或者拿原始数据用同一套流程重算。

Q4:为什么人类几十万条,线虫只有一万多?
主要差在样本量与测序深度,不是物种本身的丰度差异。人类有一千五百多份样本,线虫三十几份,检出条数随样本累加而增加。

Q5:可以用它训练功能预测模型吗?
可以当候选池,不能当金标准。功能字段全是计算预测,没有实验验证标签。当弱标签用要写明来源。

Q6:引用时该引哪一篇?
用第三版数据引 2026 年核酸研究那篇,写明访问日期与版本。只用了旧版结构才引 2018 年那篇,两篇的物种数与样本数都不同。

Q7:坐标是零基还是一基?
零基。官方在检索说明里明确写了 zero-based。接 BED 格式不用转换,接 GFF 要加一。

Q8:怎么区分 circRNA 和 ciRNA?
看编号前缀。CIRC 开头是外显子反向剪接来的,CI 开头是内含子套索来的。没有单独的类型列。

Q9:Conservative 判定可靠吗?
它是一个固定阈值的几何判定:LiftOver 映射成功且位点相差五核苷酸以内。可靠与否取决于链文件质量,做精细分析时要自己复核序列层面的一致性。

Q10:能商用吗?
论文是 CC BY-NC 4.0,约束的是论文文本。数据本身的许可官方没有单独公布,商用前需要联系通讯作者取得书面许可。

Q11:为什么下载包没有整库打包?
官方按物种提供四十个压缩包,没有全库合集。人类一个物种就接近两百兆,全量下载需要自己写循环。

Q12:有没有 API?
官方未提供公开的 REST 接口。取数以整包下载为主,网页端的检索结果适合人工查询,不适合批量抓取。

Q13:它的表能不能直接当 BED 用?
坐标本身可以,但格式要转。注释表是制表符分隔的十五列,不是 BED 的三到六列。按附录 D 的第二段代码转一次即可,注意 BED 的起始是零基、终止是开区间,与源数据的闭区间写法差一位时要在下游对齐。

术语表

术语 解释
环状 RNA 首尾共价闭合的 RNA 分子,无 5′ 与 3′ 端
circRNA 外显子反向剪接形成的环状 RNA
ciRNA 内含子套索来源的环状 RNA
反向剪接 下游 5′ 剪接位点接回上游 3′ 剪接位点的异常剪接
反向剪接位点 环化时两个剪接位点的接缝,缩写 BSJ
FPB 每十亿比对碱基中落在反向剪接位点的片段数
FPBcirc 环状 RNA 的 FPB 值
FPBlinear 同源线性转录本的 FPB 值
CIRCscore 环状 FPB 除以线性 FPB,衡量相对丰度
直系同源 不同物种中由共同祖先基因演化来的对应分子
LiftOver UCSC 提供的跨基因组坐标转换工具
零基坐标 第一个碱基编号为零的坐标体系
外显子区间命名 用参与环化的外显子编号命名,如 circTTN(76-142)
稳定编号 不随命名规则变化的内部分配键
器官系统 官方把样本归并成的二十六个大类
核糖体 RNA 去除 建库时去掉核糖体 RNA,保留包括环状在内的其他 RNA
polyA 去除 去掉带 polyA 尾的 RNA,会系统性丢失环状 RNA
RNase R 降解线性 RNA、保留环状 RNA 的核酸外切酶
三代测序 长读长测序,能读通整个环
碱基编辑位点 可被碱基编辑器改变、用于敲除环的位点
divergent 引物 背向延伸、只有跨反向剪接位点才能扩增的引物对
m6A RNA 腺苷甲基化修饰,影响稳定性与翻译
开放阅读框 可翻译成肽的连续密码子序列
IRES 内部核糖体进入位点,允许帽非依赖翻译
亚细胞定位 分子在细胞内的分布区室
内含子套索 剪接时被切下并成环的内含子中间体
批次效应 因实验批次不同造成的系统性测量偏差
假阳性 被判定为存在、实际不存在的结果

附录 A:核心数字核对表

项 值 来源 来源层级
物种数 20 官方首页统计块 官方页面
测序样本数 2,413 官方首页统计块 官方页面
二代测序样本 2,350 关于页概述 官方页面
三代测序样本 63 关于页概述 官方页面
环状 RNA 总数 2,610,032 官方首页统计块 官方页面
人类条数 849,495 官方统计端点 官方文件
小鼠条数 214,984 官方统计端点 官方文件
线虫条数 14,269 官方统计端点;解压后行数减表头 官方文件
器官系统数 26 关于页 官方页面
组织数 203 论文讨论段 论文全文
细胞类型数 375 论文讨论段 论文全文
注释表列数 15 解压后的表头 官方文件
下载压缩包数 40 下载页逐项计数 官方页面
人类注释包大小 约 93 MB 响应头 官方文件
人类序列包大小 约 104 MB 响应头 官方文件
论文卷期页 54(D1): D78–D88 期刊元数据 论文全文

附录 B:数字的来源分层

第一层:官方页面与官方文件。 物种数、样本数、总条数、各物种条数、器官系统数、下载包大小、字段列表。这些来自首页统计块、关于页、下载页,以及可直接访问的两个统计端点与一个已解压的注释包。

第二层:论文全文。 组织数、细胞类型数、TGS 方法、保守性判定阈值、命名示例、工具版本。这些来自核酸研究 2026 年那篇的正文,属于作者自述,可核但未经第三方复现。

第三层:未核实。 各字段的假阳性率、每条环的实验验证状态、二十个物种的逐样本明细、旧域名失效的具体原因。这些需要逐条实验或长期观测,本文只做定性表述。

附录 C:完整参考文献

编号 文献 链接 用途
1 CIRCpedia v3 官方站点 https://bits.fudan.edu.cn/circpediav3 规模、结构、下载入口
2 Zhai SN 等,CIRCpedia v3,NAR 2026 https://doi.org/10.1093/nar/gkaf1039 流程、命名、保守性阈值
3 Dong R 等,CIRCpedia v2,GPB 2018 https://doi.org/10.1016/j.gpb.2018.08.001 版本沿革与旧域名
4 Zhang XO 等,Genome Res 2016 https://doi.org/10.1101/gr.202895.115 替代反向剪接的注释框架
5 Ma XK 等,CLEAR,GPB 2019 https://doi.org/10.1016/j.gpb.2019.11.004 CIRCscore 的定量口径
6 环状 RNA 命名共识,Nat Cell Biol 2023 https://doi.org/10.1038/s41556-022-01066-9 社区建议命名的出处
7 官方样本汇总表 https://bits.fudan.edu.cn/circpediav3/static/20250418_CIRCpediav3_summary.xlsx 样本元数据
8 官方条数统计端点 https://bits.fudan.edu.cn/circpediav3/static/circNum_stat.json 逐物种条数

附录 D:任务代码

任务一:跨物种保守环的筛选骨架

import pandas as pd

def load_species(path):
    return pd.read_csv(path, sep="\t", dtype=str)

human = load_species("Homo-sapiens.txt")
mouse = load_species("Mus-musculus.txt")

#-- 先看两边的保守性列各自怎么取值
print(human["Orthology"].value_counts())
print(mouse["Orthology"].value_counts())

#-- 人类表里标为 conserved 的,去小鼠表里按编号前缀与基因名交叉核对
cons = human[human["Orthology"] == "conserved"]
print(len(cons), cons["gene_Refseq"].nunique())

#-- 按基因聚合,找保守环最多的基因
top = cons.groupby("gene_Refseq").size().sort_values(ascending=False).head(20)
print(top)

任务二:把注释表接成 BED 供基因组浏览器加载

import pandas as pd

df = pd.read_csv("Homo-sapiens.txt", sep="\t", dtype=str)
loc = df["Location"].str.extract(
    r"^(?P<chrom>[^:]+):(?P<start>\d+)-(?P<end>\d+)\((?P<strand>[+-])\)$")

bed = pd.concat([loc, df[["circID", "circname", "length"]]], axis=1)
bed = bed.rename(columns={"circID": "name", "length": "score"})
bed["score"] = 0
bed = bed[["chrom", "start", "end", "name", "score", "strand"]]
bed.to_csv("circpedia_human.bed", sep="\t", index=False, header=False)
print(bed.shape, bed.head(3).to_string(index=False))

第二段代码输出的 BED 可以直接拖进 IGV 或 UCSC,坐标不用改,因为源数据本身就是零基。

附录 E:如果只记五件事

  1. 它是动物环状 RNA 库,二十个物种,没有植物。
  2. 两百六十多万条,是人类占比三成多、样本量决定条数的分布,不能横向比物种。
  3. 下载表只有注释,没有表达矩阵;表达要在网页端查或自己重算。
  4. 命名规则与稳定编号双轨,这是它最被低估的贡献。
  5. 数据许可未公布,商用前必须联系作者。

编辑说明

本篇的核验时间为 2026 年 10 月 28 日。核验方式分三步:直接访问官方站点与三个静态端点,读取首页统计块、关于页、下载页与两个 JSON 统计文件;下载并解压线虫注释包,核对列名与行数;通过 Europe PMC 取第三版论文全文与第二版摘要。未覆盖的内容包括各字段的假阳性率、二十个物种的逐样本明细,以及旧域名失效的确切原因(本次只观测到连接失败,未做路由层排查)。凡正文中出现「官方未公布」之处,均指官方页面与论文中未找到对应表述,不代表该项不存在。


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • intact — 共享标签:基因组学与多组学 / 药物发现与化学
  • msigdb — 共享标签:基因组学与多组学 / 药物发现与化学
  • lipid-maps — 共享标签:基因组学与多组学 / 药物发现与化学
  • intenz — 共享标签:基因组学与多组学 / 药物发现与化学
  • alphafold — 共享标签:基因组学与多组学 / 药物发现与化学
  • disgenet — 共享标签:基因组学与多组学 / 药物发现与化学
  • open-targets — 共享标签:基因组学与多组学 / 药物发现与化学
  • alphafold — 共享标签:基因组学与多组学 / 药物发现与化学
  • rtx-kg2 — 共享标签:基因组学与多组学 / 药物发现与化学
  • complexportal — 共享标签:基因组学与多组学 / 药物发现与化学

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集