After a structure calculation with the aria 2.2 software I used aqua and procheck_nmr to assess the result. Although procheck_nmr worked fine on my 20 refined structures (in aria's refine directory), it ran into trouble with the 100 structures after iteration 8 (directory it8):
* Restraints read in from file: * allpdb.nrv * Warning. Error reading restraint on line 34 * Warning. Error reading restraint on line 35 * Warning. Error reading restraint on line 36 * Warning. Error reading restraint on line 37 * Warning. Error reading restraint on line 38 * Warning. Error reading restraint on line 39 * Warning. Error reading restraint on line 40 * Warning. Error reading restraint on line 41 * Warning. Error reading restraint on line 42 (... and so on...)
A look at the allpdb.nrv file indicated that nothing was wrong with it, and as I mentioned the analysis worked fine when a lower number of structures was analysed.
A quick look at the procheck_nmr script indicated that these error messages were produced by vplot, which has it's source code in the vplot.f file. The source-code defines a string called IREC, that will hold the record with all the relevant distances in all the structures, but IREC is defined as:
...which is not long enough to hold all the distances that are read from the .nrv file. A similar problem occurs somewhere else in the code, where a format string is used on the record that is read from the .nrv file.
By increasing the size of the relevant variables and recompiling vplot.f, the analysis runs smoothly. Here is the diff-file that may be used as a patch:
louic@picadilly:~/software/procheck$ diff -u ../old/procheck/vplot.f vplot.f
--- ../old/procheck/vplot.f 2010-01-19 13:37:32.000000000 +0000 +++ vplot.f 2010-01-21 18:46:38.000000000 +0000 @@ -2141,7 +2141,7 @@ CHARACTER*4 ATTYP(2) CHARACTER*9 RESDET(2) CHARACTER*80 FNAME - CHARACTER*512 IREC + CHARACTER*1024 IREC INTEGER IATNO(2), IATTYP, ICONST, ICTYPE, IERR, IFILE, - IMODEL, IRES, IRESNO(2), ITYPE, JERR, LCOUNT, LINE, - NFILE, MAXCON, UCOUNT @@ -2292,7 +2292,7 @@ C---- Read in the restraint violations for all the models READ(IREC,460,IOSTAT=IERR) - (ACDIST(IFILE,ICONST), IFILE = 1, NFILE) - 460 FORMAT(57X,60F7.2) + 460 FORMAT(57X,100F7.2) C---- Extract the data for just those models that C have been selected by the user
To apply this patch, go to the directory where vplot.f is located, save the above patch as vplot.f.patch, and run the following commands:
patch < vplot.f.patch make
Note that although this modification makes the analysis run on 100 structures, the length of IREC and the float in the format string are still limited. They may need to be increased if you want to analyse more structures at the same time.