Skip to main content

Crate omgkit_io

Crate omgkit_io 

Source
Expand description

§omgkit-io

omgkit 的 L1 层:分子表示格式的解析与输出。

当前是 SMILES 的解析与写出。本层只做语法,不含化学语义 —— 芳香性 感知、价键计算、隐式氢推断、环感知全部属于 L2(omgkit-chem)。

use omgkit_io::smiles;

let mol = smiles::parse("CC(=O)O").unwrap();
assert_eq!(mol.num_atoms(), 4);
assert_eq!(mol.num_bonds(), 3);

// 写回去
assert_eq!(smiles::write(&mol).smiles, "CC(=O)O");

// 错误带精确位置
let err = smiles::parse("C1CC").unwrap_err();
assert_eq!(err.pos, 1);
println!("{}", err.render());
// C1CC
//  ^ 环闭合标号 1 未配对

Re-exports§

pub use error::ParseError;
pub use error::ParseErrorKind;
pub use error::Result;

Modules§

canon
规范化排序:给原子一个与输入编号无关的全序。
error
解析错误 —— 带精确位置。
molblock
MDL molblock(V2000)的写出。
smarts
SMARTS —— 子结构查询模式的解析。
smiles
SMILES 解析 —— 手写递归下降。
stereo
判断立体标记是不是真的携带信息。
wedge
结构图上的楔形键,以及从图上反读一个中心的手性。