Changes made in the Schrödinger API between releases are documented below. We recommend skimming at least the API Changes, as your code will need to be modified if it uses these functions.
The definition of hydrogen bonds in schrodinger.structutils.analyze.match_hbond has changed. It now matches the definition used in Maestro and elsewhere in the Schrödinger Suite.
The schrodinger.utils.pymol module provides utilities for loading Maestro projects into PyMOL.
The schrodinger.utils.cmdline.SingleDashOptionParser class is now deprecated. The Python standard library ArgumentParser class (added in Python 2.7) is capable of handling everything the SingleDashOptionParser handled and is the recommended argument parser for Python going forward.
The Schrödinger-specific virtualenv is now supported on Windows and OS X.
For Suite 2012, Schrödinger Python was upgraded to Python 2.7.1.
One installation change is in the name of the directory for product-specific python library installations. This used to be product-v*/lib/$OS_CPU/python, but the python directory has been renamed to python_packages.
For Suite 2011, Schrödinger Python has been upgraded to Python 2.7. See the What’s New in Python 2.7 document on the Python website for new features in this version. Note that DeprecationWarning messages have been disabled by default in Python 2.7 because they are only of interest to developers. So, if you are developing code, we recommend that you re-enable these warnings. You can get the old (Python 2.6) behavior by setting the PYTHONWARNINGS environment variable to default,ignore::PendingDeprecationWarning.
Some of the third-party packages that we include with Schrödinger Python have been upgraded:
The following features that were previously deprecated have been removed:
These are the changes between Suite 2009 (v3.7) and Suite 2010 (v3.8).
Significant bug fixes include the following:
These are the changes between Suite 2008 (v3.6) and Suite 2009 (v3.7).
The following features that were previously deprecated have been removed:
Significant bug fixes include the following:
The schrodinger.maestro.maestro module added a number of features.
These are the changes between Suite 2007 (v3.5) and Suite 2008 (v3.6).
These are the changes between Suite 2006 (v3.0) and Suite 2007 (v3.5).
In Suite 2006 an attempt to request an atom property that did not exist for a given atom would return None. In Suite 2007 this has been changed to raise a KeyError exception.
The structure.atom[iatom].entry_id field now returns a Maestro entryID. This is an integer that is guaranteed to be unique for each entry in a project. The now deprecated structure.atom[iatom].entry_name field also now returns the entry ID.
Modules that gave deprecation warnings in Suite 2006 have been moved to new locations. The following is a list of modules that have been moved.
The deprecated MacroModel GUI modules have been removed from schrodinger.application.macromodel.tools. Note there are still MacroModel GUI modules in schrodinger.ui.macromodel.
Users with scripts that issue Maestro commands should be aware than in Maestro 8.0 the entry name is no longer necessarily unique and that some Maestro commands that previously took entry names as operands now require entry IDs (the latter being a unique integer for each entry).
New functions workspace_draw_function_add and workspace_draw_function_remove can be used to register a function that is called each time the Maestro workspace is drawn.
New functions workspace_changed_function_add and workspace_changed_function_remove can be used to register a function that is called each time the contents of the Maestro workspace are modified. This will most commonly be used in conjunction with the draw callback functions described above.
picking_bond_start is a new function that can be used to register a function called whenever the user picks bonds in the workspace.
get_command_option is a new function, which given the name of a Maestro command an the name of an option to that command will return the current value associated with that option.
In the schrodinger.structureutil module, the following additions were made:
There are now iterators to traverse molecules, chains, residues and rings within a structure. See chapter 5 of the Python scripting tutorial for examples.
There is a new atom property - st.atom[iatom].chirality that can be used to determine if an atom is chiral returns S, R or None.
Structure objects now have a copy() method to allow them to be duplicated.
StructureReader can now be used to read files in mol2 format and gzip compressed Maestro format files (*.maegz or *.mae.gz).
There is a new SbcUtil class in schrodinger.application.macromodel.utils that supports ASL1 and ASL2 .sbc syntax
A new package that supports adding caps to, adding (and positioning) hydrogens and analyzing protein structures for structural defects.
schrodinger.utils is a new package containing functions to perform logging of scripts and standardized processing of command line options.