CNS Error Tips  

CNSではインプットファイルの設定によってはエラーで処理が流れないことがあります。だいたいはちょっとしたことなんですが・・・そんなエラーの対応方法をまとめてみます。

ERROR: There are too many trees.  

精密化をしようとすると以下のようなエラーで止まることがあります。

Torsion Topology>       end 
Torsion Dynamics>       nstep=0 
Torsion Dynamics>       cmremove=true 
Torsion Dynamics>     end 
-------------------------- Torsion Topology -----------------------------------
  ERROR: There are too many trees.
         Please increase MAXTREE and re-run.

%TORSION:TOPOLOGY error encountered: Fatal Topology Error
  (CNS is in mode: SET ABORT=NORMal END)
*****************************************************
ABORT mode will terminate program execution. 
*****************************************************
Program will stop immediately.

解決方法  

そんな時はインプットファイル中の以下の部分を修正してみましょう。

{* maximum unbranched chain length *}
{* increase for long stretches of polyalanine *}
{===>} torsion_maxlength=50;
{* maximum number of distinct bodies *}
{===>} torsion_maxtree=10;  <-- この数値を増やしてみる(50とか)
{* maximum number of chains (increase for large molecules)
{===>} torsion_maxchain=1000;
{* maximum number of bonds to an atom *}
{===>} torsion_maxbond=6;

このtorsion_maxtreeを適当に増やせば問題は解消します。
Reference:X-PLOR ML#2162

ERROR: There are no suitable base groups.  

トポロジーファイルおよびパラメータファイルを配置しているのにrefine.inpで以下のエラーが出る。

ERROR: There are no suitable base groups.
This problem can be caused by isolated
bonding networks with undefined or weak
dihedral force constants.
The atoms that cannot be placed in a tree
are listed below:
%atoms "T "-1 -TRS -C
...

みたいな。

解決?  

CNSBB #170によるとdihedrals関連で出る、というようなことが書いてあります。

it seems to complain about "bonding networks with undefined or weak dihedral force constants". a tris molecule doesn't have any strongly restrained dihedrals, so i would leave it out from the torsion-angle refinement altogether

ってことらしいです。オリジナルメッセージではTrisで出ると書いてありました。私の場合はグルコースで適当に糖を作ったときにgenerate.inpでCarbohydrate linksでB14のパッチを適用後、refine.inpを流したときに出ました。
とりあえず、torsion-angleを外せと書いてあるので、refine.inpのatom selectionセクションで、

{* select atoms to be treated as rigid groups during torsion angle dynamics *}
{===>} atom_rigid=(resname GLC);

として、グルコースをrigidにしてみました。でも、これでいいのかはわかりませんが、とりあえず。

 

CNSBB #172では、

I don't think it makes any sense to refine small molecules with torsion angle dynamics, because the whole molecule may need to move. You could try either omitting the tris, or switch to cartesian dynamics.

って言われてみればそんな気もしますね。

CNS FAQの解決方法  

CNSのFAQによると、

Q. I have a ligand molecule in my structure that is a long unbranched chain (HOCH2CH2CH2CH2OH) without any hydrogen atoms included. When I try to run torsion angle dynamics the program stops with an error:

 ERROR: There are no suitable base groups.
 This problem can be caused by isolated
 bonding networks with undefined or weak
 dihedral force constants.

A. The problem is that the torsion angle algorithm needs to have a rigid group of bonded atoms which contains at least 3 atoms. In the case of the long linear molecule described above there is no such group. The following solutions are possible:

  • Only perform energy minimization (this is reasonable if the building of the ligand has been left until the end of crystallographic refinement).
  • Keep the ligand as a rigid group during the torsion angle dynamics - this would be appropriate if the ligand had been included early on in the refinement of a crystal structure.
  • Include hydrogens for the ligand molecule. This would mean creating a separate PDB/MTF file for the protein (with no hydrogens) and the ligand (with hydrogens) and then merging them prior to use.

っていう風になってます。上の解決方法はここのKeep the ligand as a rigid group during the torsion angle dynamicsにあたるようですね。その他、エネルギー最小化しかしない、水素原子を追加する、の方法があるようです。

%READC-ERR: atom A 2 ILE CD1 not found in molecular structure  

generate.inp(refine.inpも同様)でILE残基のCD1をうまく認識しない。
シンプルな問題ですが意外と悩みました・・・
この行がだーっと出ている上の方(かなり前になります)を見ると、

MAPIC: Atom numbers being modified
MAPIC: Atom numbers being modified
SEGMNT:   722 residues were inserted into segment "A   "
MAPIC: Atom numbers being modified
MAPIC: Atom numbers being modified
SEGMNT:   722 residues were inserted into segment "B   "
MAPIC: Atom numbers being modified
MAPIC: Atom numbers being modified
SEGMNT:   722 residues were inserted into segment "C   "
CHAIN>       end
SEGMENT>       if ( &BLANK%ile_CD_becomes = false ) then
%SEGMENT-ERR: unrecognized command:
       if
       ^^
%SEGMENT-ERR: unrecognized command:
       if (
          ^

こんなエラーが出てると思います。その時はCNSのスクリプトがきちんと動作していません。特に、エラーが出ているのはILEの原子CDをCD1とするよ、っていう部分なのでタチが悪いです。これは、PDBファイルの末尾にENDがないことで起こっているようです。
読み込ませているPDBファイルの最後に

END

を追加してください。

%CHAIN-ERR: unrecognized command  

2010-02-23 by どぶお

unrecognized commandエラーには比較的よく遭遇すると思いますが(上の%READC-ERRも同様のエラー)、大体はPDBファイルフォーマットの問題のようです。今回遭遇した問題は「原子の座標がぶっ飛んでる!」でした。例えば入力PDBファイルに以下のような行があると、

ATOM   2438  CD  ILE C  71    9997.7009998.064********  1.00 20.00      C    C

refine.inpを流したときに以下のようなエラーが出ました。

%CHAIN-ERR: unrecognized command:
ATOM   2438
       ^^^^
%CHAIN-ERR: unrecognized command:
ATOM   2438  CD
             ^^
%CHAIN-ERR: unrecognized command:
ATOM   2438  CD  ILE
                 ^^^
%CHAIN-ERR: unrecognized command:
ATOM   2438  CD  ILE C
                     ^
%CHAIN-ERR: unrecognized command:
ATOM   2438  CD  ILE C  71
                        ^^
%CHAIN-ERR: unrecognized command:
ATOM   2438  CD  ILE C  71    9997.7009998.064********
                              ^^^^^^^^^^^^^^^^^^^^^^^^

こんな感じのがだーっと流れます。精密化の途中でなぜか座標がおかしくなったときに発生するようです。特にREFMACとCNSを併用する場合ILEのCδ原子で起こります。これはILEのCδの原子名がCNSではCDで定義されている(protein.topファイル中)のに対し、CCP4ではCD1と定義されているためと思われます。実際は、CNSのインプットファイル中では

{* delta carbon in isoleucine is named CD in CNS
   what is it currently called in the coordinate file? *}
{* this will not be changed if left blank *}
{===>} ile_CD_becomes="CD1";

という定義があり、内部的に置換されるようですが、何らかの理由でCDという名前になってしまった後、REFMACなどを座標がおかしくなるようです。この時は座標がおかしくなるのでILEを再度置き直すなど、ちょっとした手間がかかります・・・

コメント