New in Modeller 9v3 (Feb 7, 2008)
- Mac OS X 10.5 (Leopard) is now supported (with Python 2.5).
- Added structure.write() method, to write out current template structures as PDB files.
- Added chain.write(), chain.filter(), and chain.atom_file_and_code() methods, to write out sequences of individual chains. These obsolete the model.make_chains() method.
- Added selection.only_defined() method, which selects only atoms with defined coordinates.
- The GB/SA scorer is now implemented as a user-defined energy term; energy_data.dynamic_gbsa has thus been removed.
- User-defined energy terms in C now get passed additional libraries and energy_data parameters.
- Invalid headers in PIR alignment files now result in an error, to avoid potential problems with these headers going unnoticed.
- File format errors now have their own Python exception - FileFormatError - which is a subclass of the generic ModellerError.
- alignment.align() and alignment.consensus() no longer take a max_gap_length parameter, as it is not used in any case.
- Profile objects now have a positions member, which is a list of all aligned positions, similar to the same member for alignment objects.
- selection.debug_function() now returns the number of derivatives which exceeded the cutoffs.
- Bundled version of HDF5 updated to 1.6.6.
- Bugfix: always read the first PDB alternate location encountered for each residue, not only A or 1, which resulted in skipping of residues which used neither of these codes.
- Bugfix: no longer limit atom file names in PIR comment lines to 80 characters.
- Bugfix: user-defined mathematical forms no longer cause an error in restraints.pick() when restraints_filter is not -999.
- Bugfix: the scoring function will return an error if a coordinate has become infinite or not-a-number (e.g. due to a bad optimization).
- Bugfix: the INITIAL_MALIGN3D option works again with TOP scripts.
- Bugfix: selection.superpose() now returns correct values for num_equiv_pos and num_equiv_dist (previously these were erroneously the same as the cutoff values).
- Bugfix: calling selection.energy() from within an optimizer periodic action no longer causes the optimization to cycle endlessly.
- Bugfix: alignment.append_model() now puts the current model coordinates into the alignment, not the PDB in its original orientation.