eQuilibrator CSV 数据源加载器。 首遍扫描构建「compound_id → 字节偏移」索引,之后按化合物 ID 懒加载并解析对应行, 反序列化 base64 编码的 pickle 字段(atom_bag / dissociation_constants / group_vector), 避免将超大 CSV 整文件驻留内存。
EquilibratorCsvLoader
01 Syntax
Emily.eQuilibrator.Core.Data.EquilibratorCsvLoader
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| .ctor | 1 | 使用包含 eQuilibrator CSV 文件的目录初始化加载器(首次访问时构建索引)。 |
| ForEachDataRow | 1 | 逐行读取 CSV(流式,低内存),对每一逻辑记录调用回调(含起始字节偏移)。 引号感知:仅将「不在引号内」的 LF 视为记录分隔符,从而正确处理带内嵌换行的引用字段。 |
| ReadRowAt | 1 | 读取指定字节偏移处的完整逻辑记录并解析为字段(引号感知,支持内嵌换行)。 |
| ParseCsvLine | 1 | 解析一行 CSV,正确处理双引号包裹字段与转义引号("")。 |
| ResolveCsvId | 1 | 将用户提供的化合物标识解析为 CSV 主键。 |
| GetCompound | 1 | 按化合物标识获取化合物(懒加载并解析 microspecies / Mg / identifiers)。 |
| GetCompoundById | 1 | 按 CSV 主键获取化合物。 |
| GetCompoundIdByAccession | 1 | 按 accession 获取 CSV 主键(找不到返回 Nothing)。 |
| SearchAccessions | 1 | 按子串搜索匹配的 accession(用于按名称/标识检索)。 |
| EstimateStandardFormationEnergy | 1 | 估算标准生成吉布斯自由能(组贡献法近似)。 使用基团向量乘以内置占位基团能量;若基团向量不可用则回退到原子贡献。 |
03 Members
#ctor(
String)使用包含 eQuilibrator CSV 文件的目录初始化加载器(首次访问时构建索引)。
Parameters
| Name | Type | Description |
|---|---|---|
csvDirectory | String | 包含 compounds.csv 等文件的目录。 |
ForEachDataRow(
String, Action(Of String(), Int64))逐行读取 CSV(流式,低内存),对每一逻辑记录调用回调(含起始字节偏移)。 引号感知:仅将「不在引号内」的 LF 视为记录分隔符,从而正确处理带内嵌换行的引用字段。
ReadRowAt(
String, Int64)读取指定字节偏移处的完整逻辑记录并解析为字段(引号感知,支持内嵌换行)。
ParseCsvLine(
String)解析一行 CSV,正确处理双引号包裹字段与转义引号("")。
ResolveCsvId(
String)将用户提供的化合物标识解析为 CSV 主键。
GetCompound(
String)按化合物标识获取化合物(懒加载并解析 microspecies / Mg / identifiers)。
GetCompoundById(
Int32)按 CSV 主键获取化合物。
GetCompoundIdByAccession(
String)按 accession 获取 CSV 主键(找不到返回 Nothing)。
SearchAccessions(
String)按子串搜索匹配的 accession(用于按名称/标识检索)。
EstimateStandardFormationEnergy(Compound)
估算标准生成吉布斯自由能(组贡献法近似)。 使用基团向量乘以内置占位基团能量;若基团向量不可用则回退到原子贡献。