RECAPルールで構造を切断したい

molblasterのように構造をランダムに切断するのではなくて、もう少し合成を考慮した方法としてRECAPルールが使えます。ルールは全部で11あります。

RECAPを簡単に使える方法がなかったので、Chemistry::RECAPというPerlのモジュールを作ってみました。PerlMolとUNIVERSAL::requireが必要です。

use Chemistry::RECAP;
use Perl6::Say;
my $recap = Chemistry::RECAP->new();
my @frags = $recap->cleave("CC(=O)NCCn1cccc1-c2ccccc2");
say join ",", @frags;

実行結果

$ perl recap.pl 
CC=O,CCN,n1cccc1,c1ccccc1

RECAPは切断部位のみで切断後の構造に関しては特に指定してないのでこのモジュールは切断した位置には全て水素を付加しています。実際にフラグメントを反応させたい場合には単に水素を埋めるだけではなく、酸クロライドみたいな試薬としても適切な形でキャッピングするようにしたほうがよいでしょう。