Next: Changes since release 8v1
Up: MODELLER updates
Previous: Changes since release 9v1
Contents
Index
- A new more sensitive assessment method is provided, high resolution DOPE;
see selection.assess_dopehr().
- A new loop modeling protocol, relying on the DOPE method, can be used to
obtain higher quality models in many cases, at the expense of more CPU time.
See the dope_loopmodel() and dopehr_loopmodel() classes.
- The speed of profile searches is now dramatically increased by storing
the template profiles in a PSSM database. See profile.scan().
- Initial models (inifile argument to automodel()) are now handled
more robustly. They must have the same amino acid sequence as the template,
but missing or misordered atoms will be added/reordered automatically.
- add_segment argument removed from model.generate_topology().
Call model.clear_topology() first if you want to initiate the model.
- model.write_pdb_xref() command removed. Residue objects provide
all necessary information.
- selection_mode and extend_hot_spot arguments removed from
selection.hot_atoms(). Use selection.extend_by_residue() instead.
- model.rotate() command removed. Use selection.translate(),
selection.transform(), or selection.rotate_origin() instead.
- Profile commands now handle non-standard residues, which are treated as
equivalent standard residues (as defined in restyp.lib). Consequently, the
clean_sequences argument to alignment.to_profile() has been removed.
- Allow the number of PDB residues to be specified unambiguously in PIR
files (correctly handling the case where PDBs contain duplicated residue
numbers).
- Universal binaries provided for Mac (i.e., both Intel and PPC Mac OS X).
- model_segment will no longer read file names and residue ranges
from an alignment; use the alignment object directly if you need access to this
information for model.read().
- Generated models with multiple chains now have these chains labeled A,
B, C, and so on. A chain break in a model is now taken to correspond to a
change in chain IDs in a PDB file (previous versions used the TER records).
If building models with ligands, you may need to move your alignment chain
breaks from before to after the ligands, to get the correct final chain IDs.
- The pdbent.lib file, which maps PDB codes to filenames, is no longer
used. If your PDB file names are not in a standard form (e.g., pdbxxxx.ent
or xxxx.pdb) then you can give Modeller explicit filenames. If you were not
using the pdbent.lib file before, you will not be affected by this change.
- The new sequence_db.convert() command converts sequence databases to
binary format sequence-by-sequence, and so uses much less memory than
sequence_db.read() followed by sequence_db.write().
- USER restraints format is no longer supported.
- The CHAINS_* files in the modlib directory, containing all PDB
sequences filtered by sequence identity, have been removed. You can download
up to date versions of these files from the Modeller download page, or build
them yourself using a local copy of the PDB and sequence_db.filter().
- model.optimize() has been replaced with two optimizer classes;
conjugate_gradients() and molecular_dynamics(). The trace_output
variable and model.switch_trace() command have also been replaced, with
actions.trace(). There is also a new state_optimizer() class, for
building your own optimizers, and a quasi_newton() class, for quasi-Newton
(variable metric) minimization.
- The molecular_dynamics() optimizer now supports self-guided MD, for
improved sampling.
- The old implicit schedules have been removed; if you wish to use an
optimization schedule, you must use an explicit schedule() object.
automodel's library_schedule variable now takes such an object,
rather than a number between 1 and 7.
- The old 'picked atom sets' 1 through 3 have been replaced with a new
selection object. Selections allow arbitrary atoms or atom groups to be
added or removed, and support standard mathematical set operations.
- The following commands now act on selection rather than model objects:
selection.mutate(), selection.randomize_xyz(),
selection.superpose(), selection.rotate_dihedrals(), optimizers,
selection.energy(), selection.assess_dope(),
selection.debug_function(), selection.unbuild(),
selection.hot_atoms().
- The pick_atoms command has thus been removed.
- If you redefine the select_atoms or select_loop_atoms
methods in automodel or loopmodel, note that these should
now return a selection object. Some other
automodel/loopmodel methods now take selection rather
than model objects, such as loopmodel.build_ini_loop(), and
all of the generate and refine methods.
- Rather than restraints.make(), use restraints.make_distance()
for DISTANCE and USER_DISTANCE restraints, and the
secondary_structure module for ALPHA, STRAND and SHEET restraints.
- The following commands now take a single selection object argument:
restraints.pick(), restraints.make()
- The following command now takes two selection object arguments:
restraints.make_distance()
- Default gap_penalties_2d have been changed; the new defaults were
found to be optimal for a test alignment set (see alignment.align2d()).
- Binary files are now read or written in industry-standard HDF5 format,
and are now machine-independent. Their contents can be inspected with
any program which understands the HDF5 format. Note, however, that they
are not compatible with old versions of MODELLER (you will have to
regenerate any old binary files from their text equivalents). See
sequence_db.read(), sequence_db.write(), profile.read() and
profile.write().
- EM densities can now be read or written in MRC format as well as XPLOR.
- Warn, rather than crash, if a restraints file with negative or zero
atom indices is read.
- Restraint forms, groups, and features are now specified with Python
objects, and new forms and features can be implemented by the user in
Python or C. Consequently, 'USER_DISTANCE' restraints have been removed.
- Symmetry restraints are now also specified with Python objects; the
symmetry.define() command has been removed.
- restraints.unpick() now takes one or more Python atom objects,
rather than atom names.
- On most platforms, MODELLER is now distributed as a shared library by
default, allowing it to be used like an ordinary Python module, or to
be linked against other programs.
Next: Changes since release 8v1
Up: MODELLER updates
Previous: Changes since release 9v1
Contents
Index
Ben Webb
2007-08-03