有機合成の研究者であれば、誰もが経験する悩み。それは複雑なターゲット分子を前に、**どのように合成するか**という難題です。 闇雲に反応を組み合わせるのも限界がありますよね?
そこで登場するのが、ASKCOS (Automated System for Knowledge-Based Continuous Organic Synthesis) です! ASKCOSは、ドイツのミュンスター大学で開発されたオープンソースの逆合成解析ソフトウェア。 複雑な合成ルート探索を、ASKCOSが強力にサポートします!
ASKCOSは、使いやすさと高機能性を兼ね備えた逆合成解析ツールです。 その特徴は、以下の通り:
ASKCOSは、Windows、macOS、Linuxに対応しています。
GitHub?のリリースページから、お使いのOSに合ったインストーラをダウンロードして、画面の指示に従って進めるだけ!
詳しい手順は、GitHub?のREADME.md ([https://github.com/askcos/askcos](https://github.com/askcos/askcos)) をご確認ください。
ASKCOSは、有機合成の研究者にとって非常に強力な武器となります。
合成ルート探索の効率を飛躍的に向上させ、研究の加速に貢献します。
ぜひASKCOSを導入して、スマートな合成化学研究を始めましょう!
承知しました。README.mdの内容を日本語に翻訳し、pukiwiki形式でブログ記事に追加します。以下が続きの記事となります:
アプリケーションとそのインターフェース、基盤となるモデルなどすべてをGitlabに移行しました。デプロイ手順については https://gitlab.com/mlpds_mit/askcosv2/askcos2_core をご確認ください。各コンポーネントは独自のリポジトリにありますが、askcos2_coreリポジトリの設定ファイルに基づいてセットアップ時に自動的に取得されます。
ASKCOSは、目的の化合物に向けた実現可能な合成経路の予測と、合成計画に関連する様々なタスクを行うソフトウェアパッケージです。元々はDARPA Make-Itプログラムの下で開発され、現在は[MLPDSコンソーシアム](http://mlpds.mit.edu)の下で開発が進められています。
なお、このリポジトリのMPL 2.0ライセンスは、データと学習済みモデルには適用されません。データと学習済みモデルはCC BY-NC-SA(非商用利用のみ)で公開されています。
開発に貢献した方々:Connor Coley、Mike Fortunato、Hanyu Gao、Pieter Plehiers、Matthew Cameron、Max Liu、Yuran Wang、Thomas Struble、Jiannan Liu、Yiming Mo
このリポジトリには元のASKCOSプロジェクトが含まれており、最終リリースはv0.4.1となります。今後更新されることはありませんが、ASKCOSプロジェクトは非常に活発に開発が続けられています!
プロジェクトは複数の小さなリポジトリに分割され、モジュール性の向上など多くの理由で改善されています。askcos、deploy、makeitディレクトリはそれぞれ[askcos-site](https://github.com/ASKCOS/askcos-site)、[askcos-deploy](https://github.com/ASKCOS/askcos-deploy)、[askcos-core](https://github.com/ASKCOS/askcos-core)に移行されました。
バージョン番号も日付ベースのシステムに変更され、最初の新しいオープンソースリリースは[2020.07](https://askcos.github.io/#/2020-07/)バージョンとなっています。新バージョンへの確認とアップデートを強くお勧めします!質問やコメントがある場合は、askcos_support@mit.eduまでお問い合わせください。
以下の手順で、Google Cloud上でASKCOSを素早くセットアップできます:
1. Google Cloudインスタンスを作成 - 推奨スペック:8 vCPU、64 GBメモリ - Ubuntu 18.04 LTS Minimalを選択 - ディスクを100 GBにアップグレード - HTTPとHTTPSトラフィックを許可
2. Dockerをインストール # 詳細な手順は省略しますが、公式ドキュメントに従ってインストールしてください
3. docker-composeをインストール # 詳細な手順は省略しますが、公式ドキュメントに従ってインストールしてください
4. git lfsをインストール # 詳細な手順は省略しますが、公式ドキュメントに従ってインストールしてください
5. リポジトリをクローン git clone https://github.com/ASKCOS/ASKCOS cd ASKCOS git lfs pull
6. ビルドと実行 docker build -t askcos/askcos . # ビルド cd deploy bash deploy.sh deploy # コンテナを起動(デタッチモード)し、他の初期化タスクを実行 docker-compose logs -f # ログの表示を開始(CTRL+Cで終了可能)
7. インスタンスの外部IPにアクセス - レトロトランスフォーマーワーカーの起動に約5分かかる場合があります - "server status"でその起動状況を確認できます - 最初のウェブサイトプロセスへのリクエストに約10秒かかる場合があります - 最初のレトロトランスフォームワーカーへのリクエストに約5-10秒かかる場合があります - 最初のフォワード予測器へのリクエストに約60秒かかる場合があります
前提条件
(オプション)ASKCOSイメージのビルド ASKCOSイメージ自体は、このリポジトリにあるDockerfileを使用してビルドできます。
git clone https://github.com/ASKCOS/ASKCOS cd ASKCOS git lfs pull docker build -t askcos/askcos .
注意: アプリケーションのデプロイには、`docker-compose.yml`ファイルで使用されているイメージタグを確認し、新しくビルドしたイメージに同じイメージ名でタグ付けしてください。そうしないと、`docker-compose.yml`で使用されているイメージタグがプルされ、デプロイされます。
Webアプリケーションのデプロイ デプロイは、特定の順序でdocker-composeコマンドを実行するbashスクリプトによって開始されます。いくつかのデータベースサービスを最初に起動し、さらに重要なことに、他のサービス(データベースのデータの可用性に依存する)を起動する前にデータをシードする必要があります。
bashスクリプトは deploy フォルダにあり、以下のように実行できます:
bash deploy.sh command [オプション引数]
利用可能なコマンドには、一般的なデプロイタスク用の以下のものがあります:
実行中のデプロイメントでは、`seed-db`コマンドと、シードするデータの種類を示す引数を使用して、新しいデータをデータベースにシードできます。これにより、データベース内の既存のデータが置き換えられることに注意してください。
利用可能な引数は以下の通りです:
例えば、デフォルトの購入可能なデータとカスタムのレトロ合成パスをシードするには、deployフォルダから以下を実行します:
bash deploy.sh seed-db --buyables default --retro-templates /path/to/my.retro.templates.json.gz
デプロイメントを更新するには、deployフォルダから以下を実行します:
bash deploy.sh update --version x.y.z
現在実行中のアプリケーションを停止するには、deployフォルダから以下を実行します:
bash deploy.sh stop
以前のデプロイメントからすべてをクリーンアップして削除したい場合(注意:ユーザーデータは失われます)、deployフォルダから以下を実行します:
bash deploy.sh clean
推奨ハードウェア このコードは、少なくとも8つの計算コア(16が推奨)と64 GB RAM(128 GBが推奨)を搭載したマシンで実行することをお勧めします。
初回起動 Celeryワーカーの起動には数分かかります(最大5分程度;ディスクから多くのデータをメモリに読み込みます)。Webアププリ自体はこれより前に準備が整いますが、最初のGETリクエスト時(各プロセスの最初のみ)にいくつかのファイルがディスクから読み込まれるため、10〜15秒の遅延が予想されます。
ワーカーのスケーリング デフォルトでは、キューごとに1つのワーカーが限られた同時実行性でデプロイされます。これは多くのユーザーの需要には理想的ではありません。 使用したいCeleryワーカーの数を簡単にスケールできます:
docker-compose up -d --scale tb_c_worker=N tb_c_worker
ここで、Nは必要なワーカー数です。上記の注意事項は起動する各ワーカーに適用され、各ワーカーはRAMを消費します。また、`deploy.sh`スクリプトの上部で定義されている変数でデフォルトのワーカー数を調整することもできます。
Djangoの管理 Djangoアプリを管理したい場合(例:管理者スーパーユーザーを作成するなど)、以下のように'実行中の'appサービスでコマンドを実行できます(`docker-compose up`の'後'に行ってください):
docker-compose exec app bash -c "python /usr/local/ASKCOS/askcos/manage.py createsuperuser"
この場合、希望する資格情報でスーパーユーザーを作成するための対話型プロンプトが表示されます。
ASKCOSのv0.4.1リリースでは、データとモデルが別のリポジトリ(https://github.com/ASKCOS/askcos-data)に移行されました。 Docker Hubから入手可能な事前ビルドされたASKCOSのDockerイメージには、すでにデータとモデルが含まれています。 ローカルで使用する場合は、askcos-dataリポジトリを別途クローンする必要があります:
cd ASKCOS/makeit git clone https://github.com/ASKCOS/askcos-data data
多くの個別モジュール(少なくとも最も興味深いもの)は「スタンドアロン」で実行できます。使用例は多くの場合、スクリプト定義の下部にある`if __name__ == '__main__'`ステートメントにあります。例えば...
学習済み合成複雑性指標(SCScore)の使用 `makeit/prioritization/precursors/scscore.py`
キラリティを考慮した単一ステップ逆合成提案の取得 `makeit/retrosynthetic/transformer.py`
学習済みニューラルネットワークモデルに基づく推奨反応条件の検索 `makeit/synthetic/context/neuralnetwork.py`
テンプレートフリーフォワード予測器の使用 `makeit/synthetic/evaluation/template_free.py`
反応の妥当性評価のための粗い「高速フィルター」(バイナリ分類器)の使用 `makeit/synthetic/evaluation/fast_filter.py`
統合CASPツール `makeit/application/run.py`にある統合合成計画ツールには、いくつかのオプションがあります。現在有効なコマンドラインツールのオプションは`makeit/utilities/io/arg_parser.py`にあります。ウェブサイトでのみ利用可能なオプションと、コマンドライン版でのみ利用可能なオプションがあります。前者の例として、検索において適切な「リーフノード」として人気のある非購入可能な化学物質を考慮することが挙げられます。可能な限りウェブインターフェースを使用することを強くお勧めします。