課題別チュートリアル
RustでSMILES CLIと基本記述子を作る
ネイティブRustバイナリで1つのSMILESを解析し、同じ分子から原子数・分子量・TPSAを出力します。
作るもの
エタノールの基本物性を出力する、コンパクトで再現可能なローカルCLI。
手順
- cargo new smiles-cliでバイナリcrateを作り、ディレクトリへ移動します。
- smiles、perception、chemの機能だけを追加します。
- src/main.rsをここにあるプログラムへ置き換え、cargo runを実行します。
- 出力値とともに、正確な入力と有効化した機能を残します。
cargo add chematic --features "smiles,perception,chem"
// src/main.rs
use chematic::chem::{molecular_weight, tpsa};
use chematic::smiles::parse;
fn main() {
let mol = parse("CCO").expect("valid SMILES");
println!("atoms={}", mol.atom_count());
println!("mw={:.2}", molecular_weight(&mol));
println!("tpsa={:.2}", tpsa(&mol));
}期待する結果
CCOではatoms=3、mw=46.07、tpsa=20.23が出力されます。同じソースと入力を繰り返せば、同じ出力になります。
うまくいかないとき
化学記述子には知覚処理が必要なため、このコマンドはperceptionを明示的に有効にします。別の用途では、最初から全機能をコピーせず、文書化された最小の機能セットを選びます。