YASARA:Version 25.12.1アップデートの追加機能・変更点のまとめ

2026年1月16日金曜日

【YASARA】

t f B! P L

 2025年12月1日に、分子シミュレーションソフトYASARAの最新バージョン(Version 25.12.1)がリリースされました。この記事では、前のバージョン(Version 25.9.17)から新しく追加された機能や変更点などについてまとめたいと思います。

詳細な変更履歴(ChangeLog)は開発元サイトからご確認いただけます。



CPU利用時のMD計算のパフォーマンスが向上

今回のアップデートでCPU向けの分子動力学コードが一部書き換えられ、特に小規模なシステムでのパフォーマンスが向上しました。

Intel「効率コア(Eコア)」への最適化

これまで、Intel製CPUの「効率コア(Eコア)」はパフォーマンスを妨げることがあり、BIOSでの無効化が推奨されることもありました。しかし、新バージョンではEコアを識別し、負荷の低いタスクを適切に割り当てるよう改良されました。

これにより、Eコアがパフォーマンスコア(Pコア)を妨げることなく計算を補助し、全体の処理性能が向上しました。

ベンチマーク結果の例(GPU非使用時)

  • Intel Core i9 12900K: 従来比 230%(480 ns/day)
  • AMD Ryzen 9 7950X: 従来比 130%(560 ns/day)

また、その他のコードの改良により全てのCPUで性能が向上し、例えば、AMD Ryzen 9 7950Xにおいても性能の向上が確認されています。


CPUスレッドの固定(BindThreadsパラメータ)機能が追加

前の内容と関連し、CPUスレッドを特定のCPUコアに割り当てて固定する機能が追加されました。

Processors コマンド:BindThreadsパラメータ

この機能は、「Processors」コマンドに追加された「BindThreads」パラメータで設定できます。
この機能を有効にすると、各コアの性能特性に適した処理を割り当て、スレッドが固定されます。
そのため、特にPコアとEコアが混在しているような場合に、パフォーマンスの向上が期待されます。
また、スレッドがCPUコア間を移動するのを防ぎ、キャッシュ内のデータを効率よく活用できるようになります。
さらに、同一コンピュータ上で動作している他のYASARAインスタンスと通信を行い、各インスタンスが互いに異なるコアを使用するように自動的な調整を行います。

設定方法

メニューの [Options > Processors > Bind threads cores] をクリックするか、コマンドで「Processors BindThreads=Yes」を実行します。


「md_runbenchmark」マクロの変更

また、「BindThreads」パラメータの追加に伴い、MDベンチマーク用のマクロ「md_runbenchmark」にも変更が加わり、BindThreadsパラメータを使用し、CPUスレッドをCPUコアに固定することでパフォーマンスが向上するかどうかを自動でチェックするようになりました。
性能の向上が確認された場合は、自動的にBindThreadsが有効化されます。


「md_analyze」マクロに相互作用解析が追加

MDトラジェクトリの解析用マクロ「md_analyze」が改良され、新たにリガンド-レセプター間の原子ごとの相互作用をまとめた「Interaction table」が解析レポート([マクロターゲット]_ report.html)に出力されるようになりました。
レポートに記載されているリストには上位20個までが表示されています。全リストは作業フォルダに「[Macrotarget]_analysis_Pair.tab」として保存されます。

この解析が追加されたことで、リガンドとレセプターの原子同士の相互作用を簡単に解析できるようになりました。

レポート出力例

表の内容は以下のようになっています。

  • Interaction
    相互作用の種類 [水素結合(H-bond), 疎水性相互作用(Hydrophobic), π–π相互作用(PiPi), カチオン–π相互作用(CationPi), イオン相互作用(Ionic)]

  • Atom1
    リガンド側の原子情報 [原子名.残基名(1文字)残基番号.分子名]

  • Atom2
    レセプター側の原子情報 [原子名.残基名(1文字)残基番号.分子名]

  • Average
    全トラジェクトリ内で観測された各相互作用の平均値。出力値の内容は、水素結合とその他の相互作用で異なります。
    ・水素結合(H-bond)の場合
     「ListHBoAtom」コマンドにより算出されたエネルギーの平均値。[Options > Energy unit]で設定している単位(デフォルトでは[kJ/mol])で出力される。
    ・その他の相互作用の場合
     「ListIntAtom」コマンドにより算出された「強度」(0~1の値)の平均値が出力される。
    ※出力値の算出方法の詳細については、各コマンドページに記載されています。

  • Occupancy
    各相互作用の全トラジェクトリ中の出現頻度(%)。相互作用が観測された回数を、解析したスナップショットの総数で割った値で、この値が高い順にリスト化されています。

「md_analyzebindenergy」のリガンド識別機能が改良

MDトラジェクトリを解析してレセプター-リガンド間の結合エネルギーを解析するマクロ「md_analyzebindenergy」が改良されて、リガンドがレセプターオブジェクトに含まれている場合でも自動的にリガンドを識別できるようになりました。
そのため、従来のように手動でマクロ内変数「ligres」を編集してリガンド分子を指定する必要がなくなりました。
※マクロ内変数「ligobj」(リガンド分子が含まれるオブジェクトの指定)の設定は必要です。


その他の変更点

その他、アップデートに伴う改良点やバグ修正についてまとめます。

新コマンド「AddPair」「AveragePair」

「AddPair」「AveragePair」というコマンドが新たに実装されました。
「AddPair」 コマンドは、指定された Key パラメータを内部テーブルに追加し、そのキーが何回追加されたかをカウントします。同時に、対応する Value パラメータは加算され、合計値として蓄積されていきます。最終的に「AveragePair」コマンドを使用すると、すべてのキーについて、対応する平均値と、そのキーが存在した確率(出現率)をまとめて取得することができます。

これらのコマンドは、前述の「md_analyze」で追加された解析のためにマクロ内で利用されています。

「Fog」および「ColorFog」コマンドの改良

フォグの密度を設定するコマンド「Fog」およびフォグの色を設定するコマンド「ColorFog」が改良され、設定したパラメータが yasara.ini に保存されるようになりました。これにより、次回のYASARA起動時にも同じ設定が引き継がれます。

「LoadCIF」コマンドの改良

「LoadCIF」コマンドが改良され、複数の(mm)CIFファイルを1つに連結したファイルを読み込めるようになりました。

AlphaFoldモデルのダウンロードエラーの修正

EBI側でAlphaFoldモデルのファイル名に含まれるバージョン番号が変更されたことにより、ダウンロードできなくなっていた問題が修正されました。


まとめ

今回のアップデートにより、特にIntelの最新CPUを使用している環境ではシミュレーションの高速化が期待できます。また、MDトラジェクトリ解析機能もより詳細になっていますので、ぜひ最新版をお試し下さい。





code-prettify

このブログを検索

ページビューの合計

人気の投稿

QooQ