cosgene 機能追加
(FIX-ATOM 機能の整備)
詳細設計書2018 年 2 月 5 日
Copyright (C) 2006-2018 Next Generation Natural Product Chemistry (N2PC)

目次
１．目的と概要 ..................................................................................................................... 3
２．ユーザインタフェース ................................................................................................... 5
２．１．座標トラジェクトリ出力インタフェースの変更点 ............................................. 5
２．２．ANALYZE の座標トラジェクトリ指定インタフェースの変更点 ............................ 6
３．修正内容 ......................................................................................................................... 7
３．１．修正内容一覧 ....................................................................................................... 7
３．１．１．全原子のトラジェクトリ出力機能追加..................................................... 8
３．１．２．FIX-ATOM を含むトラジェクトリ入力対応 .......................................... 10
３．１．３．出力 PDB ファイルへの REMARK 行の復元......................................... 11３．１．４．出力トポロジーファイルの mergetpl 対応 ............................................. 12

2/12

１．目的と概要
cosgene では原子の運動を止めるための FIX-ATOM の機能があるが、FIX-ATOM を適用した場合、トラジェクトリ―ファイルに FIX-ATOM の情報が含まれないため、ANALYZE での解析が行えないケースが発生する。
そこで、FIX-ATOM と全原子のトラジェクトリに対し、ANALYZE の機能を使用できるように cosgene の FIX-ATOM 機能を整備する。
自由原子座標のトラジェクトリファイルを使用した ANALYZE 解析と全原子座標のトラジ
ェクトリを使用した ANALYZE 解析は以下の点で異なる。
(1) 自由原子座標のトラジェクトリファイルを使用する場合
固定原子の座標は初期座標 PDB の値を使用し、自由原子の座標のみ座標トラジェクトリの情報を使用する。

固定原子

初期座標

指定 filePDBcosgenecosgene

自由原子座標ANALYZE 機能トラジェクトリ出力
自由原子
座標 trj(2) 全原子座標のトラジェクトリファイルを使用する場合座標トラジェクトリの全情報を使用する。

cosgenecosgene

全原子座標

ANALYZE 機能

トラジェクトリ

全原子出力機能

座標 trj

3/12

FIX-ATOM の整備は、公開版 cosgene

v4.206 と DIA 解析用 cosgene を対象とし、下記の修正を行う。
(1)MD フェーズに固定原子を含む座標トラジェクトリファイル出力するオプションを追加する。：公開版 cosgene v4.206
MNTRCO=NO:出力しないASCI:ASCII 形式、自由原子のみ

SING:単精度実数、自由原子のみ

DOUB:倍精度実数、自由原子のみ

SIAL:単精度実数、全原子

DOAL:倍精度実数、全原子(2)ANALYZE フェーズで固定原子を含む座標トラジェクトリに対応していない解析処理を修正する。：公開版 cosgene v4.206, DIA 計算用 cosgene(2-1)DISTANCE 解析(2-2)DIHDERAL 解析(2-3)DIV 解析

4/12

２．ユーザインタフェース
２．１．座標トラジェクトリ出力インタフェースの変更点
MD フェーズでの原子位置出力のキーワード"MNTRCO"に、固定原子を含む全原子の座標出力を指定する SIAL と DOAL を追加する。
SIAL は単精度実数、DOAL は倍精度実数での出力を表す。

項番

項目

#13

原子位置出力キーワード値内

MNTRCOordinate

選択型

形式

容(NO | ASCIi | SINGle | DOUBle |SIngle ALl | DOuble ALl)

#14

UNITCOordinate

整数型

装置番号(42)#15

NAMECOordinate

文字型

ファイル名("")#16

OUTCOOrdinate

整数型

出力間隔(0)5/12

２．２．ANALYZE の座標トラジェクトリ指定インタフェースの変更点
ANALYZE フェーズでは、固定原子を含む系のトラジェクトリファイルを読み込む場合、使用する座標トラジェクトリの固定原子座標の有無により、以下の二つの方法を選択することとする。
(1)座標トラジェクトリに固定原子座標がない場合
INPUT フェーズで固定原子・自由原子指定ファイルを読み込む指定を行い、固定原子座標は初期座標入力の座標を使用する。
(2)座標トラジェクトリに固定原子座標がある場合
INPUT フェーズでの固定原子・自由原子指定ファイルの読み込み指定は行わず、全原子の座標をトラジェクトリファイルから読み込む。

6/12

３．修正内容
３．１．修正内容一覧
FIX-ATOM の整備のため、公開版 cosgene v4.207、DIA 解析用 cosgene に下記の修正を行う。

項番

修正内容

対象ファイル

区分

1  全原子のトラジェクトリ出力機能追加

Enum_Type.f90

改造

2  Input_Option.f90

改造

3  Monitor.f90

改造

Analyze_Method.f90

改造

4  FIX-ATOM を含むトラジェクトリ対応

また、cosgene の不具合対応として、下記の修正を行う。

項番

修正内容

対象ファイル

区分

1  出力 PDB ファイルへの REMARK 行の復元

Object_Class.f90

改造

2  Input_Data.f90

改造

3  Output_Data.f90

改造

Output_Data.f90

改造

4  

出力トポロジーファイルの mergetpl 対応

7/12

３．１．１．全原子のトラジェクトリ出力機能追加
固定原子を含む全原子のトラジェクトリ出力オプションの入力と、原子座標出力処理を追加する。
(1)固定原子を含む全原子のトラジェクトリ出力の識別子追加
Enum_Type.f90 に、固定原子を含むトラジェクトリの識別子"SINGLE_FORM_ALL"と"DOUBLE_FORM_ALL"を追加し、ファイルの形式を示す File_Precision に単精度全原子、倍精度全原子を示す文字列の定義を追加する。
!
! output format!
integer,parameter::NO_READ= 1 ! not input
integer,parameter::NO_WRITE= 1 ! not output
integer,parameter::ASCII_FORM = 2integer,parameter::SINGLE_FORM = 3integer,parameter::DOUBLE_FORM = 4integer,parameter::SINGLE_FORM_ALL = 5integer,parameter::DOUBLE_FORM_ALL = 6integer,parameter::BINARY_FORM = 3
character(7),dimension(DOUBLE_FORM_ALL),parameter::
File_Precision = (/'no read','ascii ','single ','double ','4B all ','8B all '/)&&&&&&(2)制御ファイルのオプション入力機能追加
Input_Option.f90 の MD でのトラジェクトリファイル出力指定”MNTRCO"に単精度全原子の"SIAL"と倍精度全原子の"DOAL"の選択肢を追加する。
本 変 更 に よ り 、 制 御 フ ァ イ ル か ら 入 力 し た SIAL と DOAL の 文 字 列 は 、 そ れ ぞ れ
SINGLE_FORM_ALL または DOUBLE_FORM_ALL の値に変換され、座標トラジェクトリの出力形式として設定される。
!
! output format!
Select_t('MNTRCO',6,(/'NO ','ASCI','SING','DOUB','SIAL','DOAL','',''/)),

8/12

&
&
&

(3)全原子の座標トラジェクトリの出力処理追加
Output_Data.f90 のトラジェクトリ出力処理 Monitor_Trajectory に対し、座標トラジェ
クトリの出力形式が単精度全原子または倍精度全原子の場合に、ファイルに出力する原子数を全原子数とし、出力用の配列に全原子の座標を設定する処理を追加する。

9/12

３．１．２．FIX-ATOM を含むトラジェクトリ入力対応
Analyze_Method.f90 の座標トラジェクトリを使用する解析処理に対し、以下の修正を行う。
(1)DIHEDRAL 解析
DIHEDRAL 解析モジュール Analayze_Dihedral に対し、原子座標を初期座標から取得する手続きの呼び出し(Get_Coodinate)を追加し、全原子の座標を示す配列 cord に初期値を設定する。

(2)DISTANCE 解析
DISTANCE 解析モジュール Analayze_Distance に対し、原子座標を初期座標から取得する手続きの呼び出し(Get_Coodinate)を追加し、全原子の座標を示す配列 cord に初期値を設定する。
(3)DIV 解析
DIV 解析モジュール Analayze_Combine に対し、固定原子の座標を初期座標から取得するように処理を変更する。

10/12

３．１．３．出力 PDB ファイルへの REMARK 行の復元
入力 PDB に存在する REMARK 行を出力 PDB に反映させるため、下記の修正を行う。
(1)REMARK 行の保持、復元用構造体の追加
Object_Class.f90 の Title_t テーブルに REMARK 行の内容、復元箇所を示すテーブルを追加する。
・Remark：n 行目の REMARK 行の文字列を保持する
・RemarkAtom：n 行目の REMARK 行の直後に存在する原子の ID を保持する
・RemarkNum：PDB の REMARK 行数を保持する!
! title!
type Title_tcharacter(80),dimension(MAX_TITLE)::Name! context
integer::line! line number
character(80),dimension(MAX_ATOM/10)::Remark
integer,dimension(MAX_ATOM/10)::RemarkAtom
integer::RemarkNum
end type Title_t(2)REMARK 行の入力
Input_Data.f90:Input_PDBFile 手続きに、当該行の先頭文字列が"REMA"の場合に REMARK行の行数、REMARK 行の文字列、REMARK 行対象の原子 ID を設定する処理を追加する。
(3)REMARK 行の出力
Output_Data.f90:Output_PDBFile 手続きに、"ATOM"/"HETA"行の出力直前に当該原子に対して指定された REMARK 行を出力する処理を追加する。

11/12

３．１．４．出力トポロジーファイルの mergetpl 対応
トポロジーの合成プログラム mergetpl では、"TPL> FUNCTION"行、"TPL> TITLE"行を解析するが、"TPL>"と"FUNCTION", "TITLE"の文字列の間に空白がない場合はエラーと判定する。
cosgene のトポロジーファイル出力処理(Output_Data.f90:Output_TopologyFile)ではこの空白が不足していたため、出力文字列に空白を追加する。

--以上--

12/12