先验调控网络的 CSV 读取工具
PriorNetworkIO
00 Remarks
BnIO.ReadPriorNetwork() 接收的是 RegulatoryEdge 序列, 而 RegulatoryEdge.RegulationType 是 Effector 枚举(Activator / Inhibitor / Unknown), 测试数据文件里写的却是 activation / repression 这样的字符串, 直接套用通用 CSV 反序列化无法完成映射。这里提供一个面向该格式的显式解析器, 解析出 RegulatoryEdge 之后再交给 BnIO.ReadPriorNetwork() 组装网络。
期望的 CSV 表头:TF,TargetGene,RegulationType,Confidence,Evidence
01 Syntax
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| LoadPriorNetwork | 1 | 从 CSV 文件加载先验调控网络 |
| PriorNetworkToCsv | 1 | 把先验调控网络序列化为 CSV 文本行 |
| ParseRegulatoryEdges | 2 | 解析 CSV 文件中的所有调控边 |
| ParseRegulationType | 1 | 把文本形式的调控类型映射为 Effector 枚举 |
| SplitCsvLine | 1 | 按分隔符切分一行 CSV 文本 |
| IndexOfColumn | 1 | 在表头中查找指定列名的位置 |
03 Fields
| Name | Overloads | Summary |
|---|---|---|
| delimiters | 1 | CSV/TSV 支持的分隔符 |
04 Members
String)从 CSV 文件加载先验调控网络
| Name | Type | Description |
|---|---|---|
path | String | CSV 文件路径,表头为 TF,TargetGene,RegulationType,Confidence,Evidence |
先验调控网络对象
PriorNetwork)把先验调控网络序列化为 CSV 文本行
与 PriorNetworkIO.ParseRegulatoryEdges() 互为逆操作, 用于把先验网络写入 zip 包时无需借助临时文件。
| Name | Type | Description |
|---|---|---|
prior | PriorNetwork | 先验调控网络 |
首行为表头、其余每行为一条调控边的文本行集合
String)解析 CSV 文件中的所有调控边
| Name | Type | Description |
|---|---|---|
path | String | CSV 文件路径 |
调控边序列
String())解析内存中的 CSV 文本行所描述的所有调控边
供 GEARS 从 zip 包内读出的文本直接解析,避免落临时文件。
| Name | Type | Description |
|---|---|---|
lines | String() | CSV 文本行集合,首行为表头 |
调控边序列
String)把文本形式的调控类型映射为 Effector 枚举
| Name | Type | Description |
|---|---|---|
text | String | 原始文本,支持 activation / activate / activator / up / positive 与 repression / repress / inhibitor / inhibition / down / negative |
效应器枚举;无法识别时返回 Effector.Unknown
String)按分隔符切分一行 CSV 文本
| Name | Type | Description |
|---|---|---|
line | String | 原始文本行 |
字段数组
String(), String, Int32)在表头中查找指定列名的位置
| Name | Type | Description |
|---|---|---|
header | String() | 表头字段数组 |
name | String | 目标列名 |
defaultIndex | Int32 | 找不到时回退使用的列索引 |
列索引
CSV/TSV 支持的分隔符