課題別チュートリアル

RustでSMILES CLIと基本記述子を作る

ネイティブRustバイナリで1つのSMILESを解析し、同じ分子から原子数・分子量・TPSAを出力します。

作るもの

エタノールの基本物性を出力する、コンパクトで再現可能なローカルCLI。

手順

  1. cargo new smiles-cliでバイナリcrateを作り、ディレクトリへ移動します。
  2. smiles、perception、chemの機能だけを追加します。
  3. src/main.rsをここにあるプログラムへ置き換え、cargo runを実行します。
  4. 出力値とともに、正確な入力と有効化した機能を残します。
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を明示的に有効にします。別の用途では、最初から全機能をコピーせず、文書化された最小の機能セットを選びます。

次の行動

Rustパッケージの案内を読む