2. Resolution range
REMARK 3 DATA USED IN REFINEMENT.
REMARK 3 RESOLUTION RANGE HIGH
(ANGSTROMS) : 1.90
REMARK 3 RESOLUTION RANGE LOW
(ANGSTROMS) : 20.00
3. Sigma-cutoff value
REMARK 3 DATA
CUTOFF
(SIGMA(F)) : 0.000
4. R-factor
REMARK 3 R
VALUE
(WORKING SET) : 0.181
REMARK 3 FREE R
VALUE
: 0.231
5. Test set size
REMARK 3 FREE R VALUE TEST SET
SIZE (%) : 4.900
REMARK 3 FREE R VALUE TEST SET
COUNT : 1042
6. Parameter and topology files (at least if CNS was used for
refinement)
REMARK 3 PARAMETER FILE 1 :
PROTEIN_REP.PA
REMARK 3 PARAMETER FILE 2 :
WATER_REP.PARA
REMARK 3 TOPOLOGY FILE 1
: PROTEIN.TOP
REMARK 3 TOPOLOGY FILE 2
: WATER.TOP
7. Alternative configurations
REMARK 3 OTHER REFINEMENT REMARKS:
ALTERNATE CONFORMATIONS FOR
REMARK 3 RESIDUES 33, 120, 121 AND 122
The following warnings or infos are OK, but no ERR or error:
%READC-WRN:
still 1361 missing coordinates (in selected
subset)
%READC-WRN: atom
A 113 PRO HA has
been renamed: DA
CNSsolve>
display
%INFO:
There
are
no
coordinates missing for non-hydrogen atoms
This gives the file mm3.pdb, which should be used as the pdb
file in the following.
Check the start (REMARK section) of this file for added Cys-Cys
links and missing atoms.
If you want to avoid added atoms, set:
{===>}
atom_delete=(not(known));
If you want to add or delete bonds, you need to include patches:
{* any special
protein patches can be applied here *}
{===>}
topology
@fs2.patch
end
patch FS2P
reference=1=(resid 632) reference=2=(resid 188)
reference=3=(resid 260) reference=4=(resid 97)
reference=5=(resid 128)
end
Remark Patch to build the
Fe-Cys bonds for a Fe2S2 cluster
presidue FS2P
add bond 1FE1 2SG
add bond 1FE1 3NH1
add bond 1FE2 4SG
add bond 1FE2 5SG
add angle 2SG
1FE1 1S1
add angle 2SG
1FE1 1S2
add angle 3NH1
1FE1 1S1
add angle 3NH1
1FE1 1S2
add angle 4SG
1FE2 1S1
add angle 4SG
1FE2 1S2
add angle 5SG
1FE2 1S1
add angle 5SG
1FE2 1S2
add angle 2CB
2SG 1FE1
add angle 3CZ
3NH1 1FE1
add angle 4CB
4SG 1FE2
add angle 5CB
5SG 1FE2
end
This gives the files:
comqum.dat comqum.mmout
comqum.qcout logfil
This gives the following files:
fix.pdb generate1.inp
mmrun1 pdb1 pdb3
but only mmrun1 and fix.pdb are actually used.
With alternate conformations, this does not work properly
(mmrun3 and binidvidual1 complains about atoms not found in
molecular structure). Run:
changepdb <<EOF
mm3.pdb
cqf
comqum.dat
w
fix.pdb
q
EOF
Make the following two changes in mmrun2
Make the following two changes in mmrun2
# ComQum-X Prep
# Ulf Ryde, 6/3-01
#
echo Run changemtf to set up the mm1.mtf, mm1.par, and mm1.pdb
files
echo from mm3.mtf, mm3.pdb, and protein_rep.param
changemtf <<EOF
mm3.mtf
t
y
mm1.mtf
protein-allhdg_d.param
mm1.par
y
mm3.pdb
mm1.pdb
q
EOF
echo Construct dummy pdb files for 8-decimal precision
echo Enter mm1.pdb, format, 1, 3, 0, dummy, return, q
changepdb <<EOF
mm1.pdb
f
1
3
0
dum
q
EOF
echo
echo Enter mm3.pdb, format, 1, 3, 0, dummy, return, q
changepdb <<EOF
mm3.pdb
f
1
3
0
dum
q
EOF
echo CNS mmrun 1
ncns <mmrun1 >mmrun1.out
grep ERR mmrun1.out
grep WRN mmrun1.out
grep INFO mmrun1.out
grep violation mmrun1.out
#page mmrun1.out
echo CNS mmrun 2
ncns <mmrun2 >mmrun2.out
grep ERR mmrun2.out
grep WRN mmrun2.out
grep INFO mmrun2.out
grep error mmrun2.out
grep warning mmrun2.out
grep '>>' mmrun2.out
| grep -v XRAY
grep violation mmrun2.out
echo CNS mmrun 3
ncns <mmrun3 >mmrun3.out
grep ERR mmrun3.out
grep WRN mmrun3.out
grep INFO mmrun3.out
grep error mmrun3.out
grep warning mmrun3.out
grep violation mmrun3.out
grep '>>' mmrun3.out
| grep -v XRAY
echo CNS bindividual
ncns <bindividual.inp >bindividual.out
grep ERR bindividual.out
grep WRN bindividual.out
grep INFO bindividual.out
grep error bindividual.out
grep warning bindividual.out
grep violation bindividual.out
grep '>>' bindividual.out
echo CNS bindividual1
ncns <bindividual1.inp >bindividual1.out
grep ERR bindividual1.out
grep WRN bindividual1.out
grep INFO bindividual1.out
grep error bindividual1.out
grep warning bindividual1.out
grep violation bindividual1.out
grep '>>' bindividual1.out
echo fixcoord1
fixcoord1_cnsin
fixcoord1_turboin
fixcoord1
fixcoord1_cnsout
# Make the files bindividual.pdb, bindividual.pdb1, and
minimize3.pdb1
\cp mm3.pdb1 bindividual.pdb1
\cp mm3.pdb1 minimize3.pdb1
\cp mm3.pdb bindividual.pdb
# Start with a scf step then loop through the following four steps
# Gradient step (gradient calculation)
rm *_[123]
grad
offsetf
cp gradient grad1
fixforce_cnsin
fixforce_turboin
fixforce
fixforce_turboout
mv gradient g1
mv grad1 gradient
# Relaxation step
relax >>output
fixcoord1_cnsin
fixcoord1_turboin
fixcoord1
fixcoord1_cnsout
# Molmech step
# if protfree then
cp mm3.pdb mm3.old
cns <mmrun3
cns <bindividual.inp
mv bindividual.pdb mm3.pdb
#endif
# Scf step (energy calculation)
cns <mmrun1
cns <mmrun2
dscf
grep 'Self energy' output > selfenergy
fixenergy_cnsin
fixenergy_turboin
fixenergy
fixenergy_turboout
checkconv
key about pdb files:
mmrun1: mm1.pdb (no output file)
mmrun2: mm3.pdb -> minimize.pdb (not used)
mmrun2: mm3.pdb -> minimize3.pdb (used by bindividual.inp)
bindividual.inp: minimize3.pdb -> bindividual.pdb (moved to
mm3.pdb)
In addition, you may need some of our accessory programs:
pdbtocomqum
comqumtoturbo
comqumtocns
cqxprep
cqxback
changepdb
I found the following tool for refinement.Dmitri, 27/8-12
sf-convert
http://sw-tools.pdb.org/apps/SF-CONVERT/index.html
It seems to be able to do what we need, i.e., it converts
a set of reflections stored in PDB (1b7v-sf.cif) to the CNS format.
It is done by using the following command.
sf-convert-v1.200-prod-src/bin/sf_convert -i mmCIF -o CNS -sf 1b7v-sf.cif
This program took the first wavelength. I am not sure if there is a way
to choose which wavelength to take.
The generated file (1b7v-sf.cif.CNS) has one strange peculiarity.
The number of digits after the decimal point is 2, whereas CNS usually has 3.
However, CNS can read this file directly, as I verified.
This program can also select reflections for the test set:
sf-convert-v1.200-prod-src/bin/sf_convert -i mmCIF -o CNS -sf 1b7v-sf.cif -flag 5
diff xn_minimize.inp ../mmrun2
0a1
> {ComQum-UX This is mmrun2 - 2015-05-05}
28c29
< {===>} structure_infile="xn_gen2.mtf";
---
> {===>} structure_infile="mm3.mtf";
31c32
< {===>} parameter_infile_1="protein-allhdg_hd.param";
---
> {===>}
parameter_infile_1="CNS_TOPPAR:protein-allhdg_d.param";
34,35c35,37
< {===>} parameter_infile_4="";
< {===>} parameter_infile_5="";
---
> {===>} parameter_infile_4="cqx_par_file1";
> {===>} parameter_infile_5="cqx_par_file2";
> {===>} parameter_infile_6="cqx_par_file3";
38c40
< {===>} coordinate_infile="xn_gen2.pdb";
---
> {===>} coordinate_infile="mm3.pdb";
45c47
< {===>} sg="P2(1)";
---
> {===>} sg="cqx_space_group";
49,54c51,56
< {===>} a=22.795;
< {===>} b=18.826;
< {===>} c=41.042;
< {===>} alpha=90;
< {===>} beta=90.89;
< {===>} gamma=90;
---
> {===>} a=cqx_crystal_a;
> {===>} b=cqx_crystal_b;
> {===>} c=cqx_crystal_c;
> {===>} alpha=cqx_crystal_alpha;
> {===>} beta=cqx_crystal_beta;
> {===>} gamma=cqx_crystal_gamma;
64,65c66,67
< {===>} reflection_infile_1="neutron.cv";
< {===>} reflection_infile_2="xray.cv";
---
> {===>} reflection_infile_1="cqx_reflex_file_n";
> {===>} reflection_infile_2="cqx_reflex_file_x";
150,151c152,153
< {===>} set1_low_res=20;
< {===>} set1_high_res=1.50;
---
> {===>} set1_low_res=cqx_resolution_up_n;
> {===>} set1_high_res=cqx_resolution_n;
159,160c161,162
< {===>} set2_low_res=20;
< {===>} set2_high_res=1.50;
---
> {===>} set2_low_res=cqx_resolution_up_x;
> {===>} set2_high_res=cqx_resolution_x;
263c265
< {===>} atom_fixed=(segid W);
---
> {===>} atom_fixed=(none);
290c292
< {===>} minimize_nstep=50;
---
> {===>} minimize_nstep=0;
344c346
< {===>} coordinate_outfile="xn_min2.pdb";
---
> {===>} coordinate_outfile="minimize.pdb";
372a375,380
> {ComQum: Read the 4th to 8th decimals and include them in x,
y, z}
> coordinates disp=comp @mm3.pdb1
> do ( x = x + xcomp/100000.0 ) (all)
> do ( y = y + ycomp/100000.0 ) (all)
> do ( z = z + zcomp/100000.0 ) (all)
>
388a397,399
> if ( &BLANK%parameter_infile_6 = false
) then
> @@¶meter_infile_6
> end if
1165c1176,1218
< print threshold=20.0 bond
---
> {ComQum Set flags}
> set echo=off message=off end
> flags ? end
>
> {ComQum Calculate energy and gradient}
> energy end
>
> {ComQum Print energy to file mmen2}
> set display=mmen2 end
> display ComQum Energy MM2
> display $ener[e20.14]
>
> {ComQum Print wa = X-ray weight factor}
> xray wa=? end
> evaluate ($wa_print=$result)
> display ComQum wa
> display $wa_print
>
> {ComQum Print rfree and r value}
> display ComQum rfree r
> display $full_test_r[f8.6] $full_r[f8.6]
>
> {ComQum Calculate the number of atoms}
> show sum (1) (all)
> evaluate ($natom=$result)
>
> {ComQum Print gradient to file force2}
> set display=force2 end
> display ComQum Gradients MM2
> display $natom[i6]
> for $4 in id (all) loop grad
> show (dx) (id $4)
> eval ($1=$result)
> show (dy) (id $4)
> eval ($2=$result)
> show (dz) (id $4)
> eval ($3=$result)
> display $1[E20.14] $2[E20.14] $3[E20.14]
> end loop grad
> set display=OUTPUT message=normal end
>
>
> print threshold=20.0 bond
diff xn_bindividual.inp ../bindividual.inp
1,6c1
<
<
<
<
<
<
---
> {ComQum-X This is bindividual.inp - 2015-05-06}
29c24
< {===>} structure_infile="xn_gen3.mtf";
---
> {===>} structure_infile="mm3.mtf";
32c27
< {===>} parameter_infile_1="protein-allhdg_hd.param";
---
> {===>}
parameter_infile_1="CNS_TOPPAR:protein-allhdg_d.param";
35,36c30,32
< {===>} parameter_infile_4="";
< {===>} parameter_infile_5="";
---
> {===>} parameter_infile_4="cqx_par_file1";
> {===>} parameter_infile_5="cqx_par_file2";
> {===>} parameter_infile_6="cqx_par_file3";
39c35
< {===>} coordinate_infile="xn_gen3.pdb";
---
> {===>} coordinate_infile="mm3.pdb";
46c42
< {===>} sg="P2(1)";
---
> {===>} sg="cqx_space_group";
50,55c46,51
< {===>} a=22.795;
< {===>} b=18.826;
< {===>} c=41.042;
< {===>} alpha=90;
< {===>} beta=90.89;
< {===>} gamma=90;
---
> {===>} a=cqx_crystal_a;
> {===>} b=cqx_crystal_b;
> {===>} c=cqx_crystal_c;
> {===>} alpha=cqx_crystal_alpha;
> {===>} beta=cqx_crystal_beta;
> {===>} gamma=cqx_crystal_gamma;
65,66c61,62
< {===>} reflection_infile_1="neutron.cv";
< {===>} reflection_infile_2="xray.cv";
---
> {===>} reflection_infile_1="cqx_reflex_file_n";
> {===>} reflection_infile_2="cqx_reflex_file_x";
151,152c147,148
< {===>} set1_low_res=20;
< {===>} set1_high_res=1.50;
---
> {===>} set1_low_res=cqx_resolution_up_n;
> {===>} set1_high_res=cqx_resolution_n;
160,161c156,157
< {===>} set2_low_res=20;
< {===>} set2_high_res=1.20;
---
> {===>} set2_low_res=cqx_resolution_up_x;
> {===>} set2_high_res=cqx_resolution_x;
274c270
< {===>} bfactor_nstep=50;
---
> {===>} bfactor_nstep=1;
341c337
< {===>} coordinate_outfile="xn_bind4.pdb";
---
> {===>} coordinate_outfile="bindividual.pdb";
369a366,371
> {ComQum: Read the 4th to 8th decimals and include them in x,
y, z}
> coordinates disp=comp @mm3.pdb1
> do ( x = x + xcomp/100000.0 ) (all)
> do ( y = y + ycomp/100000.0 ) (all)
> do ( z = z + zcomp/100000.0 ) (all)
>
1051a1054,1064
> {ComQum Print energy to file mmen4}
> set display=mmen4 end
> energy end
> display ComQum Energy MM4
> display $ener[e20.14]
>
> {ComQum Print rfree and r value}
> display ComQum rfree r
> display $full_test_r[f8.6] $full_r[f8.6]
> set display=OUTPUT end
>
1233a1247,1257
> {ComQum: Construct the set of 4th to 8th decimals in xyzcomp}
> do ( xcomp = int( x * 1000.0) / 1000.0 ) (all)
> do ( ycomp = int( y * 1000.0) / 1000.0 ) (all)
> do ( zcomp = int( z * 1000.0) / 1000.0 ) (all)
> do ( refx = (x - xcomp)*100000.0 ) (all)
> do ( refy = (y - ycomp)*100000.0 ) (all)
> do ( refz = (z - zcomp)*100000.0 ) (all)
> do ( x = xcomp ) (all)
> do ( y = ycomp ) (all)
> do ( z = zcomp ) (all)
>
1237a1262,1270
> {ComQum: Write file bindividual.pdb1 only if R is improved}
> if ( $start_r > $full_r ) then
> do ( x = refx ) (all)
> do ( y = refy ) (all)
> do ( z = refz ) (all)
> @CNS_XTALMODULE:write_pdb
(pdb_o_format=&pdb_o_format;
>
coordinate_outfile=bindividual.pdb1;
>
sgparam=$sgparam;)
> end if
diff mmrun2 mmrun3
1c1
< {ComQum-UX This is mmrun2 - 2015-05-05}
---
> {ComQum-UX This is mmrun3 - 2015-05-05}
265c265
< {===>} atom_fixed=(none);
---
> {===>} atom_fixed=(attribute xcomp < 0.5);
292c292
< {===>} minimize_nstep=0;
---
> {===>} minimize_nstep=1;
346c346
< {===>} coordinate_outfile="minimize.pdb";
---
> {===>} coordinate_outfile="minimize3.pdb";
762a763,765
> {ComQum: Read in fixed atoms <=> xcomp=0.000}
> coordinate disposition=comp @fix.pdb
>
1176,1180c1179,1180
< {ComQum Set flags}
< set echo=off message=off end
< flags ? end
<
< {ComQum Calculate energy and gradient}
---
> {ComQum Print energy to file mmen3}
> set display=mmen3 end
1182,1185c1182
<
< {ComQum Print energy to file mmen2}
< set display=mmen2 end
< display ComQum Energy MM2
---
> display ComQum Energy MM3
1197,1215c1194
<
< {ComQum Calculate the number of atoms}
< show sum (1) (all)
< evaluate ($natom=$result)
<
< {ComQum Print gradient to file force2}
< set display=force2 end
< display ComQum Gradients MM2
< display $natom[i6]
< for $4 in id (all) loop grad
< show (dx) (id $4)
< eval ($1=$result)
< show (dy) (id $4)
< eval ($2=$result)
< show (dz) (id $4)
< eval ($3=$result)
< display $1[E20.14] $2[E20.14] $3[E20.14]
< end loop grad
< set display=OUTPUT message=normal end
---
> set display=OUTPUT end
1401a1381,1391
> {ComQum: Construct the set of 4th to 8th decimals in xyzcomp}
> do ( xcomp = int( x * 1000.0) / 1000.0 ) (all)
> do ( ycomp = int( y * 1000.0) / 1000.0 ) (all)
> do ( zcomp = int( z * 1000.0) / 1000.0 ) (all)
> do ( refx = (x - xcomp)*100000.0 ) (all)
> do ( refy = (y - ycomp)*100000.0 ) (all)
> do ( refz = (z - zcomp)*100000.0 ) (all)
> do ( x = xcomp ) (all)
> do ( y = ycomp ) (all)
> do ( z = zcomp ) (all)
>
1404a1395,1404
>
> {ComQum: Write file minimize.pdb1 only if R is improved}
> if ( $start_r > $full_r ) then
> do ( x = refx ) (all)
> do ( y = refy ) (all)
> do ( z = refz ) (all)
> @CNS_XTALMODULE:write_pdb
(pdb_o_format=&pdb_o_format;
>
coordinate_outfile=minimize3.pdb1;
>
sgparam=$sgparam;)
> end if
diff bindividual.inp bindividual1.inp
1c1
< {ComQum-X This is bindividual.inp - 2015-05-06}
---
> {ComQum-X This is bindividual1.inp - 2015-05-06}
257c257
< {===>} atom_fixed=(none);
---
> {===>} atom_fixed=(attribute ycomp > 1.5);
270c270
< {===>} bfactor_nstep=1;
---
> {===>} bfactor_nstep=30;
337c337
< {===>} coordinate_outfile="bindividual.pdb";
---
> {===>} coordinate_outfile="bindividual1.pdb";
678a679,681
> {ComQum: Read in fixed atoms <=> ycomp>=2.000
(system 2)}
> coordinate disposition=comp @fix.pdb
>
1054,1055c1057,1058
< {ComQum Print energy to file mmen4}
< set display=mmen4 end
---
> {ComQum Print energy to file mmen5}
> set display=mmen5 end
1262c1265
< {ComQum: Write file bindividual.pdb1 only if R is improved}
---
> {ComQum: Write file bindividual1.pdb1 only if R is improved}
1268c1271
<
coordinate_outfile=bindividual.pdb1;
---
>
coordinate_outfile=bindividual1.pdb1;
History
21/4-15: Method set up from ComQum-X and input files from Zoe.