Gene Matrix Transposed (.gmt) 格式的通路层级读写器
GmtIO
00 Remarks
论文中的 P-NET 从 Reactome 通路数据库下载全部通路并整理为 .gmt 文件, 之后由代码自动读取 gmt 文件,把「基因 → 精细通路 → 粗通路 → 生物过程」的父子关系 直接翻译为网络的层数、节点数以及连接方式。
gmt 文件的每一行格式为:
通路名<TAB>描述<TAB>成员1<TAB>成员2<TAB>...
在 P-NET 的层级描述中,第 k 个 gmt 文件的"成员"实际上是第 k - 1 层的节点名称 (第 0 个 gmt 文件的成员为基因名)。因此只需要按照由精细到粗的顺序给出若干 gmt 文件, 即可完整重建整个网络拓扑:更换 KEGG、Gene Ontology 或者自定义通路模块时, 只需要更换 gmt 文件即可重建网络。
01 Syntax
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| ReadGmt | 1 | 读取单个 gmt 文件,并把其中的成员名称解析为上一层节点的索引 |
| ReadBaseLevel | 1 | 读取第 0 层(基因层)gmt 文件,同时取得基因名并集 |
| FromGmtFiles | 1 | 按照由精细到粗的顺序读取若干 gmt 文件,组装出完整的生物层级本体 |
| WriteGmt | 1 | 把一个通路层写出为 gmt 文件 |
| WriteHierarchy | 1 | 把整个生物层级本体按照逐层一个 gmt 文件的方式导出到指定目录 |
03 Members
String, String())读取单个 gmt 文件,并把其中的成员名称解析为上一层节点的索引
| Name | Type | Description |
|---|---|---|
path | String | gmt 文件路径 |
previousNames | String() | 上一层(更精细的层)的节点名称数组; 读取第 0 层(成员为基因名)时请改用 GmtIO.ReadBaseLevel() |
解析得到的通路层对象;若在 previousNames 中不存在的成员名称会被忽略
String, String())读取第 0 层(基因层)gmt 文件,同时取得基因名并集
| Name | Type | Description |
|---|---|---|
path | String | gmt 文件路径 |
genes | String() | 返回该文件内出现的所有基因名(已去重并保持出现顺序) |
解析得到的最精细通路层
IEnumerable(Of String))按照由精细到粗的顺序读取若干 gmt 文件,组装出完整的生物层级本体
| Name | Type | Description |
|---|---|---|
files | IEnumerable(Of String) | gmt 文件路径数组,必须按照由精细到粗的顺序排列, 第 0 个文件的成员为基因名,其余文件的成员为上一文件中的通路名 |
清洗之后的生物层级本体对象
把一个通路层写出为 gmt 文件
| Name | Type | Description |
|---|---|---|
level | HierarchyLevel | 待写出的通路层 |
memberNames | String() | 上一层(更精细的层)的节点名称,用于把成员索引还原为名称 |
path | String | 输出的 gmt 文件路径 |
description | String | 写入到 gmt 第二列的描述文本 |
String)把整个生物层级本体按照逐层一个 gmt 文件的方式导出到指定目录
文件名采用 level1_xxx.gmt 的编号形式,重新读取时按文件名排序即可得到正确的层级顺序。
| Name | Type | Description |
|---|---|---|
hierarchy | PathwayHierarchy | 待导出的生物层级本体 |
directory | String | 输出目录,不存在时会被自动创建 |
按照由精细到粗顺序排列的 gmt 文件路径数组