Hi All,
I have placed new versions of GSAS for Windows, MacOSX10.4 and Fedora5 (upward
compatible?) on the CCP14 web server. You can also find it at our local place
http://11bm.xor.aps.anl.gov/downloads/gsas. Changes are (I went back pretty far
to be sure all the new stuff is mentioned since the last release):
Mar. 26, 2009
1. GSAS is now compiled with GCC 3.4.5. The old compiler was 2.95.2. A major consequence
is that floating point numbers are represented with the IEEE 754 standard; this has
consequences for how floating point numbers are rounded upon output. Thus, this version
will produce slightly different values (generally in the last place). A particular
problem occured in DISAGL where angles that "must" be 180deg were slightly
different. This has been explicitly fixed in this version.
Aug. 25, 2008
1. Fixed bug in Fourier map controls. The number of intervals for trigonal/hexagonal
are mod(3) for a & b axes and mod(4) for tetragonal & cubic axes to avoid
contouring errors in Coot and other programs.
Aug. 11, 2008
1. A new option for specifying atoms in the atom listing ("L") and change ("C") options in EXPEDT
which allows specification of protein residues has been added. Enter the chain ID (1-2 letters in uppercase) after the
1st sequence number. Then the numbers refer to residue number in that chain. E.g. "123A:125" refers to
residues 123-125 in the "A" chain.
July 14, 2008
More changes:
1. A new addition has been made to the atom constraint menu for proteins (strictly molecules with any
of the "standard" 20 amino acids). It allows constraints to be automatically formed between
the Uisos of the atoms in each amino acid. By default two are formed, one for the main chain atoms and
another for the side chain (except GLY & ALA). Alternatively, a single constraint for all atoms on
each amino acid could be formed. Nonstandard amino acids are ignored; the appropriate constraints will
need to be inserted by hand (using the "I" command).
2. A Fourier map can now contain 8,000,000 elements. Beware there is no check
(still). Limit used to be 5,000,000.
3. The maximum number of points in a single powder pattern is now 200,000. I
hope that is enough for everyone.
4. CHI2FXYE (converts Fit2D chi files to GSAS fxye format) now writes correct
BANK record.
5. Restraints on angles and planes with "OXT" at the end of protein chains is
now automatically found; the macro files have been changed to include these.
6. POWPREF now optionally outputs an ASCII file of the radial distribution plot
data which can be used in other programs.
Apr. 28, 2008
Many changes:
1. Added new amino acid residue constraint capability. Each residue in a protein can be represented by
a torsionally flexible rigid body. As defined in the macro file residue-rb.mac, the origin is C-alpha
and a 3-parameter rotation about this is defined for six parameters. Torsion rotations are defined for
the C-O orientation and the side chain "chi" rotations. Extensive use is made of quaternions
for these rotations which simplifies the calculations and improves the rigid body rotation stability.
The residue models defined in the macro file form an exact match to the bond distances/angles defined
by Engh & Huber for ideal amino acids. The editor routine (option "Z" in the main LS
editing menu) has options for automatically scanning the protein chain and determining the best initial
settings for each residue rigid body and for setting all the appropriate atom refinement flags. In a
typical protein this reduces the parameterization to a bit more than 1/3 of the full x,y,z set
. It should be noted that the machinery put in for this can be used for any
molecular fragment; the present limits are 20 atoms in the fragment with two
defined torsion angle sequences with no more than four torsions allowed for
each.
2. GENLES is now able to handle very much larger problems. Atom limit is 15,000
for macromolecules, 200,000 constraint terms are allowed.
3. The weight factors for the restraints can now be adjusted automatically for
each cycle of least squares. The adjustment is so that each restraint type has
the same average contribution to the minimization function as the average of
those for the diffraction data. This appears to smooth out the refinement
progress.
4. All restraint searches (option "s") over a protein can now deal with chain
breaks and 2-site disordered regions.
5. Various routines in GSAS now have an upper limit of 50,000 reflections.
6. An extremely old error in the single crystal structure factor routine was
discovered in that it did not correctly compute the effect of anomalous
dispersion on the Freidel (-h-k-l) reflections in noncentrosymmetric
structures. The Fhkl set was correct but not an F-h-k-l set. Powder data
calculations were always correct; Freidel pair reflections explicitly overlap
and their sum was calculated correctly including all terms.
7. SCMERGE now will process any one of a multiple single crystal histogram data
set; previously it would only do the first one and any others were
inaccessible. This is most important when multiple single crystal data sets are
used in e.g. an anomalous scattering study with multiple wavelength data. By
the way SCMERGE will not merge Freidel pairs.
8. A new option in the atom constraint menu has been added. Option "C" constrains
all parameters (x,y,z,Uiso & all Uij) between a pair of atoms (normally on the same
site). The site fractions are also constrained with the opposite sign. This simplifies
setting up two atom site disorder problems.
9. GSAS2CIF has been modified so that some of the output (atoms & reflections)
comforms to the mmcif dictionary for macromolecular phases. This simplifies their
use in other macromolecular packages. Making these cif files comletely conform to
mmcif is not envisioned at this time; it is particularly not possible for
multihistogram diffraction data sets as this is not defined in mmcif.
Jan. 29, 2008
1. Modified RAWPLOT to properly use lookup table types of neutron TOF profile
functions.
2. Single crystal code SCMERGE will now handle 50,000 reflections. Previous
limit was 20,000.
3. Added new atom constraint option "C" that forms all the atom position, site
fraction and thermal parameter constraints for an atom pair. This is most useful for site
occupancy problems where two atom types occupy the same site. Constraints make position
and thermal parameter shifts identical and site fraction shifts to have opposite sign.
4. Further modified RAWPLOT so that peaks to be fitted can be directly selected
with the cursor on the plot. One can plot subsections of the range, select
peaks, plot a new subsection, select more peaks and then insert the entire (up
to 75) suite of selected reflections for subsequent peak fitting. One can fit
peaks within a small range, increase the range and insert more reflections
using the cursor.
5. The peak fitting menu in RAWPLOT now has a high resolution plot option
("J"); the main RAWPLOT menu had this option added earlier (4/6/05).
Nov. 12, 2007
1. Oops, forgot some arrays - GSAS now WILL do up to 200,000 profile points in
a single powder pattern.
2. A new weight modification for powder data is available. In histogram editing (same as where histograms are inserted) the "F" option is used to set the weight factors for the histogram. The first value ("weight factor" - FACTR) is a constant multiplier (default = 1.0) for all the powder profile weights. The second value ("weight balance" - WTM) changes the relative weighting between the low and high ends of the pattern (default WTM = 0.0). If WTM > 0.0 then
w' = w*FACTR*exp(-WTM*T) (this will down weight the high T part
of the pattern)
If WTM < 0.0 then
w' = w*FACTR*[1-exp(-WTM*T)] (this will down weight the low T part of
the pattern)
where w is the weight obtained typically from 1/esd**2, T is either 2-theta in
centidegrees or neutron TOF in microsec. The weight modification is applied when POWPREF
is run. Non-zero values of WTM can be used to "force" a refinement to fit one
end or the other of a pattern (at the expense of the other end) to facilitate jumping out
of local false minima. Very small values of WTM are quite effective; in an initial trial
with x-ray powder data, I set WTM=+/-0.001 and then back to WTM=0 for a sequence of
protein refinements.
3. After considerable thought and a read of the paper "A Study of Cross-Validation and
Bootstrap for Accuracy Estimation and Model Selection" by R. Kohavi, Intl. Joint Conf. on
Artificial Intelligence (1995), I have reinstalled the facility for producing an "Rpfree"
for powder data. It was originally introduced on Apr. 15, 2004 (it was removed July 25,2005). The
note given at the time of introduction was:
2. There is now an option in histogram editing to set aside a certain fraction of the
profile points in a powder pattern to calculate an Rfree and Rwfree. This replaces the old
'S' option (which didn't work anyway). The Rfree & Rwfree values appear in the .LST
file (not on screen) and in the EXP file. In my initial tests these seem to follow the Rp
& Rwp values closely through the entire course of a refinement but maybe you all will
see wilder behavior in your refinements. Note that you set two things for this - one is the
percentage of points to set aside (1-10%) and a random number seed. The seed ensures that
the selection of points remains the same for all runs of POWPREF; this will change if seed
is changed or if profile limits & excluded regions are changed. If you want to use this
it should be set very early in the analysis; setting it for just the final refinement
cycles somewhat defeats its purpose.
The maximum fraction that can be now set aside is 50%; powder data is usually very overdetermined in comparing number of profile points to number of parameters so this is not unreasonable. I have further modified HSTDMP and POWPLOT so that the Rpfree points are easily seen (plots as blue crosses while those used in the refinement are red). It should be noted that this "holdout" method is not strictly speaking a "cross-validation" according to Kohavi (but then again neither is the "Rfree" commonly evaluated for protein structure refinements).
Just as an added bonus: have a look at the contents of
https://subversion.xor.aps.anl.gov/pyFprime/
This is a newly written python version of Fprime that is nicer than the older
one I wrote some years ago. You will have to have the correct versions of
python (2.5 or 2.6) and all the subpackages needed to run it. Good luck.
Best,
Bob Von Dreele