========================================================================= CHANGE LOG ========================================================================= 2021-05-10 Jarrett Johnson, Thomas Holder, Thomas Stewart * 2.5.0 * File Import/Export - DX binary map import (*dxbin) - PDB/MMTF export: symmetry information now added - Improved FASTA import - Support for map.gz and mrc.gz extensions * Builder & Panels - Improved Fuse command (disallows hypervalent bonds, substitute monovalent atoms instead of attaching to them) - Customizable keyboard shortcut menu - Properties inspector now supports unsetting settings with “Delete” key * Graphics & Visualization - Ray interior colors now match primitives with `set ray_interior_color, atomic` - Isomesh transparency support - `sphere_mode` 5 removed (9 as replacement) - Curved cartoon cylindrical helices - Isosurface generation via marching cubes with setting `isosurface_algorithm, (0, 1)` (0 requires VTKm) * PBC Handling - Periodic boundary conditions supported in rebond, smooth, and intra_fit * Python API - Python 2 support removed - pbc argument added to rebond, smooth, and intra_fit - png(None) returns bytes - scene_order() allows list for `names` - pbc_wrap() and pbc_unwrap added - matrix_reset() supports `state=0` for all states - editing_ring() added - unset now restores the default value for global settings - load_traj now uses state=1 by default - get_area command and dots representation: Exclude “flag ignore” atoms 2020-05-20 Thomas Holder, Jarrett Johnson * 2.4.0 * load_traj - support netcdf format - support `selection` argument with all file formats * CCP4/MRC Map Support - Distinguish .ccp4 and .mrc extensions (regarding origin) - .map extension: auto-detect the format * New distance mode 8 * MMTF export: Consider `pdb_retain_ids` setting * GLTF export (based on collada2gltf) * New `internal_gui_name_color_mode` setting * MPEG4 Movie export: Apply `movie_fps` setting to exported file * Python API - Improved error handling with exceptions - New: cmd.rebond() - New: cmd.get_capabilities() - Fix: cmd.get_bonds() state off by one - cmd.fit() et al.: raise on error * Launch Options - Restore `-V` launch argument for external GUI height - macOS: `open` event opens new window 2019-02-11 Thomas Holder, Jarrett Johnson * 2.3.0 * atom-level cartoon_transparency * aln export for Nucleic Acids * new API function: cmd.set_raw_alignment() * fetch async=0 by default 2018-08-16 Thomas Holder, Jarrett Johnson * fast MMTF export (requires mmtf-cpp) * new setting: seq_view_gap_mode * 2.3.0a0 (unstable/experimental) 2018-07-24 Thomas Holder, Jarrett Johnson * 2.2.0 * Wizard > Mutagenesis > Nucleic Acids * load format "pqr": retain_order=1 2018-07-03 Thomas Holder, Blaine Bell, Gabriel Marques * Graphics refactoring, ported from Incentive PyMOL Ported features: - label improvements (multiline, connectors, background color) - transparency_mode 3: Order-independent transparency - bg_image_filename: Background image support * new dependency (header-only): glm 2018-06-08 Thomas Holder * fix selection wildcard (sf.net/p/pymol/bugs/209) * fix PDB atom id > 99999 crash * more robust PQR parsing * pymol2.PyMOL() context manager * new setting: cif_metalc_as_zero_order_bonds * new setting: sdf_write_zero_order_bonds * cif: accept _chem_comp_bond.type alias for _chem_comp_bond.value_order 2018-05-03 Thomas Holder * fix anaglyph stereo in batch (headless) mode * fix possible memory corruption with boolean settings * measurement wizard: distances between states (all_states=on) * get_fastastr: nucleic acid, by chain * menu: A (Action) > group * sequence viewer menu: ss (Secondary Structure) * MAE export of groups (s_m_subgroupid) * macOS: -O3 -fno-strict-aliasing (bugs/205) 2018-04-10 Thomas Holder * sf.net/p/pymol/bugs/199 bash -> sh * ignore zero-order bonds in neighbor lookup, this could cause wrong bond order guessing in distance based bonding * fix crash loading reduced 5ijo.mmtf * volume panel: fix zoom (CTRL+R-Drag) and value input (R-Click) * QOpenGLWidget support (not active by default) * --gldebug -> backtrace on GL error * 2.2.0a0 (unstable/experimental) 2018-03-13 Thomas Holder * 2.1.0 * PyQt interface 2018-02-28 Thomas Holder * stick_round_nub for COLLADA export * UTF-8 in feedback * display_scale_factor (ported from Incentive PyMOL) * dx map import: support "type float" and skewed delta 2018-02-07 Thomas Holder * new selection keywords: polymer.protein polymer.nucleic * new command: multifilesave * MMTF export (requires simplemmtf python module) * select: present, state -1 -> current object state * create: source_state = -1 -> current (was: source_state = -1/0 -> all) * cif: support quoted '?' and '.' as values cif_get_array -> None instead of empty string for ? and . * fix copy discrete object w/o coords * fix loading pdbqr AutoDock 4 atom types * fix get_model('none') and get_str('mol', 'none') * h_add refactored: 5x faster, support discrete objects 2017-12-21 Thomas Holder, Piotr Rotkiewicz * Python 3.7 support (https://sf.net/p/pymol/bugs/197/) * enable align with alt-codes - allow matching of non-alt-code to alt-code atoms in alignments - swap sorting priority of 'name' and 'alt' identifiers - sort empty 'alt' before non-empty 'alt' * flags 6 and 7 for protein and nucleic acid * mmCIF: read _atom_site.pdbx_formal_charge * improve coordinate loading from mmcif chem_comp files - ignore columns with all ? (missing) values - select columns with "chem_comp_cartn_use" setting * fix h_add: skip missing coordinates 2017-12-05 Thomas Holder, Piotr Rotkiewicz * Python API: New "auto library mode". Automatically start a non-GUI PyMOL instance if the pymol.cmd API is used without running pymol.launch() first * pdb_echo_tags for mmCIF and MMTF * command parser: improve exception handling * fix some PSE export memory leaks * pymol2.cmd2: eliminate (non-weak) circular references * movie making: reinterpolate after add_nutate/add_roll etc. * support "module:callable" in loadfunctions/safefunctions * yellow state indicator for discrete objects * mpng modal draw improvements 2017-10-23 Thomas Holder * pse_export_version support with Python 3 (experimental) * fix setup.py --use-msgpackc=guess: catch EnvironmentError 2017-10-18 Thomas Holder * 1.9.0.0 * use PyMOL 2.0 setting defaults * L > residues (oneletter) * fix py3 crash in "A > copy to object" * fix scene object visibility with hidden groups * fix "ending" after loading movie session 2017-09-13 Thomas Holder, Piotr Rotkiewicz * expose "oneletter" to label/iterate * sequence viewer: MSE=M SEC=U * wire/licorice rep aliases * menu: A > copy to object * new commands: copy_to, uniquify * fix slow 'extract' performance 2017-08-02 Thomas Holder * support "not ..." and "enabled" in name patterns. (e.g.: delete not enabled) * improve/fix unicode+utf-8 handling for labels * iterate color settings: type int (e.g.: iterate all, print(s.sphere_color)) * fix cmd.load with contents https://sf.net/p/pymol/mailman/message/35966326/ * fix ray tracing of stick_ball + valence https://sf.net/p/pymol/mailman/message/35928857/ * 1.8.7.0 (unstable/experimental) 2017-07-03 Thomas Holder * web.pymolhttpd -> pymol.pymolhttpd https://sf.net/p/pymol/bugs/148/ * make build reproducible https://sf.net/p/pymol/patches/12/ 2017-06-01 Thomas Holder * new "label" selection operator * alter_state: remove restriction on x/y/z/flags * iterate/label: expose "state" for discrete atoms * CTRL+L drag/click -> move/center in 3-Button-Viewing mode * auto-detect $PREFIX/share/pymol as $PYMOL_PATH * locale LC_NUMERIC=C float parsing/formatting * Python 3: fix wrong PyCapsule_New destructor 2017-04-17 Thomas Holder * Python 3: fix builder bond order buttons (Red Hat Bug 1442127) * fix MAE export PDB residue/atom names * restored "scene_animation" setting (1.7.6 regression) * restored "import cmd" prevention (1.8.6.0 regression) * 1.8.6.1 2017-03-09 Thomas Holder, Piotr Rotkiewicz * 1.8.6.0 2017-02-22 Thomas Holder * fast MMTF load support in C++ * extra_fit: report RMS for method=cealign Thanks to Hongbo Zhu * CTRL-L ligand zoom * preset > classified (auto_show_classified equivalent) preset > interface (ported from Incentive PyMOL 1.8.0) * set_key auto-completion * command completion for selection language * fix connect_mode=4 for N-H1 and N-H3 * fix CGO ALPHA and dup COLOR issue * 1.8.5.1 (beta) 2017-01-19 Thomas Holder * width/height arguments for movie export (mpng, movie.produce) * fetch: support "fetch EMD-3489" * auto_show_classified -1 => 3 for 500k+ atoms * pick_shading => surface_color_smoothing off * cleanup: eliminate pymol.pymol_launch variable 2016-12-14 Thomas Holder * update molfile plugins to VMD version 1.9.3 * fetch 2fofc/fofc: update URLs, EDS will retire in 2017 * fix sf#102 pseudoatom multi-state problem * editor.attach_amino_acid: fix PRO/N geometry 2016-12-05 Thomas Holder * avoid selection keyword name conflicts, append underscore * load: allow format=plugin (by extension) and format=plugin:PLUGIN (with PLUGIN being a molfile plugin identifier) * load format "vdb": VIPERdb PDB variant with retain_order=1 * load/load_traj: guess trajectory object * fetch * new setting "fetch_type_default" * type=mmtf: fetch MMTF format * type=2fofc/fofc: get spacegroup from PDBe API * update download URLs * new setting: editor_auto_measure * new default: ray_transparency_oblique_power=4.0 * "update" command: support "current state" (-1) * alter elem -> update protons and vdw * don't allow "import cmd" (corrupts PyMOL namespace) * support "python -m pymol" to launch PyMOL * 1.8.5.0 (unstable/experimental) 2016-10-05 Thomas Holder * 1.8.4.0 * setup.py: --no-launcher 2016-09-26 Thomas Holder * pse_export_version: legacy scenes support * use ignore_case setting with set_name command * setup.py: detect anaconda prefix * 1.8.3.3 (unstable/experimental) 2016-08-29 Thomas Holder * experimental MMTF load support * map export in CCP4 format * SDF V3000 import/export support * refactor molecular file formats export: Unified handling of PDB, PQR, mmCIF, MOL2, SDF, XYZ, MAE * PLY geometry import (as CGO) * new command: unset_deep * new setting: cartoon_all_alt: Create cartoon for every alt code * stick_h_scale: default=1.0 (was: 0.4) but remove dependency on negative stick_radius * auto_show_classified: Visualize small (< 50 atoms) polymer classified molecules like organic * bymol selection operator: ignore zero-order bonds * menu: isomesh/surface negative color * improve alignment of residues with unknown resn (e.g. ligands): give a match score of 5 to perfect matches of unknown residue codes. Previously, those got match score -1. * remove broken and obsolete "PMO" file support * use "label_digits" setting with "label" command * do not resize window when loading a session file * fix ignored SCALE w/ identity rotation (e.g. 1WAP) * fix "scene auto, clear" (Scene > Delete) * new setting: pick_shading: do flat shading for programmable image color analysis * experimental cmd.raw_image_callback: post cmd.draw() callback * 1.8.3.2 (unstable/experimental) 2016-05-26 Thomas Holder * fix mutagenesis wizard "No Mutation" (update and rms commands) * experimental FreeBSD support * 1.8.2.1 2016-04-19 Thomas Holder * 1.8.2.0 * get_sasa_relative (command ported from Incentive PyMOL) * Color menu uses util.color_deep (ported from Incentive PyMOL) * "C > by rep" (ported from Incentive PyMOL) * fix crash when saving mesh PSE without map 2016-03-27 Jared Sampson * new setting: collada_background_box (default 0) https://sourceforge.net/p/pymol/mailman/message/34961984/ 2016-03-21 Thomas Holder, Gabriel Marques * pse_export_version: save 1.7.6 compatible PSEs by default * forward "set" to "set_bond" for bond-level settings * fetch: use http instead of ftp with default host * MOL2 export - chain support (write substructure record) * MOL2 import - more reliable resn reconstruction - hetatm=0 for subst_type=RESIDUE - don't use root atom id for substructure mapping * set_name w/ map: update dependents (mesh, surface, volume) * skip mmCIF "CA ATOMS ONLY" detection (not needed anymore) * fix COLLADA export crash with transparency * fix load_traj crash w/ state-level settings * 1.8.1.2 (beta) 2016-03-03 Thomas Holder * new setting: auto_show_classified * cartoon/ribbon: auto-detect CA-only models * mmCIF reading of full sequence now independent of cif_use_auth * mmCIF ss assignment to full residue, not only CA * fix selection macros with wildcards and colon (:) residue ranges (1.8.0 regression) * fix SCALE coordinate transformation for multi-model PDBs (e.g. 1hho) * fix logging of expressions which contain ''' 2016-02-08 Thomas Holder * restore ignore_case=on default * new setting: ignore_case_chain (default off) https://sourceforge.net/p/pymol/mailman/message/34815599/ * new setting: cartoon_gap_cutoff * increase PYMOL_MAX_THREADS https://sourceforge.net/p/pymol/mailman/message/34787473/ * amber topology loading: bond order 1 for all bonds https://sourceforge.net/p/pymol/mailman/message/34812536/ * improve MOL2 file handling * new grid_mode=3: grid per object-state 2016-01-11 Thomas Holder * distance mode=4: distance between centroids * byring: new selection operator * "Distances to Rings" mode in measurement wizard * basic atom typing for MOL2 export * cartoon dash: new dashed loop-like cartoon type 2015-12-14 Thomas Holder, Blaine Bell * support segi, resn and name of arbitrary string length * expose settings to iterate/alter via "s." (available in Incentive PyMOL since 1.7.0) * Python 3 compatibility for champ module https://sf.net/p/pymol/bugs/172/ * apbs_tools: apply fixes from Pymol-script-repo 2015-12-09 Thomas Holder * Python 3 compatibility, tested with Python 2.6, 2.7 and 3.4 * 1.8.1.0 (unstable/experimental) 2015-11-18 Thomas Holder, Blaine Bell, Gabriel Marques * 1.8.0.0 * Tcl/Tk Settings GUI: feedback, radio buttons, font size dialog * default alignment_as_cylinders changed to off 2015-10-15 Thomas Holder * new default: scene_buttons=on * normalize_ccp4_maps=2 -> use mean and stdev from file header * fix alignment with atoms w/o coords in a state 2015-10-06 Thomas Holder * new filetypes: pdbml, pdbqt, cml * cell/symmetry: accept alpha=beta=gamma=0.0 as 90.0 * leave unknown protons as -1 instead of 0 (lonepair), fixes vdw assingment for unknown elements (1.8 instead of 0.5) * reimplement reading full sequence from mmCIF. Only with cif_use_auth=off and retain_order=off. Fill in missing CA atoms for polypeptides. * new API function cmd.get_object_ttt() * APBS Plugin: --whitespace argument for pdb2pqr * fix scene next/previous, was broken on Windows 10 * fix split_states with non-unique titles * fix "File > Run" fails if path has spaces 2015-08-30 Thomas Holder * fix cartoon_trace_atoms for beta-sheets * fast connect_mode=4: Add $PYMOL_DATA/chem_comp_bond-top100.cif which is a subset of the components.cif dictionary and contains only bond records for the 100 most frequent monomers in the PDB. Download other monomers on-demand from PDBeChem. 2015-08-12 Thomas Holder * cif_keepinmemory, pymol.querying.cif_get_array (experimental) * ramp_update (new command) * ramp objects now have "A > Range > ..." and "C > ..." menus * mmCIF _chem_comp_atom: - skip atoms with missing coordinates - prefer ideal over model coordinates * cmd.set_key() decorator support 2015-07-29 Thomas Holder * fix isosurface all_states rendering * pdb_hetatm_guess_valences for CIF loading * mutagenesis wizard: improve "apply" performance * fix measurement and alignment object partial PSE loading * some load/save refactoring * keep atom IDs when creating object from selection * when renaming group "A" to "B", then also rename entry "A.X" to "B.X" 2015-07-02 Thomas Holder * mmcif: match pdb1, pdb2, ... files with assembly generation - fix handling of _pdbx_struct_assembly_gen with repeated asym_id - create assembly for multi-state objects - no pdb_insure_orthogonal for assemblies * fix "File > Run" 2015-06-23 Thomas Holder * fix assemblies for cases like 4f3r which have multiple entries in the _pdbx_struct_assembly_gen table * fix ref counts in iterate/alter subscripts * improve side_chain_helper and nucleic_adic_mode situation * eliminate all "try/catch" blocks for std::map lookups * clean up some MemoryDebug stuff and remove unused jenarix wrapper 2015-06-17 Thomas Holder * Experimental: cmd.get_assembly_ids * mmCIF: support "_atom_site.pdbe_label_seq_id" * mmCIF: set "ignore" flag for HETATMSs (no surface) * improve memory usage and performance of components.cif parsing 2015-06-10 Thomas Holder * fetch 'cif' by default (was: pdb) * warn if selecting with lower-case arguments to help identifying legacy selections which are incompatible with ignore_case=0 * port selection macro parsing from Python to C * fix https://sf.net/p/pymol/bugs/169/ (cmd.fab() with existing object name produces unexpected results and downstream segfault) 2015-05-20 Thomas Holder * change default (!) of "ignore_case" setting to off. Case insensitve identifier matching is not practical anymore with large structures which use upper and lower case chain identifiers. * new setting "assembly" to load assemblies from mmCIF as multi-state objects with all_states=1 * new setting "cif_use_auth" controls whether mmCIF "auth" identifiers are used or not (on by default) * mmCIF "CA/P ATOMS ONLY" chains: set atom-level cartoon_trace_atoms and ribbon_trace_atoms * CIF discrete and irregular multi-model loading support * support "pdb_honor_model_number" setting for CIF * load multiple objects ("data_" blocks) from one CIF file (multiplex=-1) * don't store AtmToIdx, DiscreteAtmToIdx or DiscreteCSet to PSE (unless pse_export_version <= 1.76) * 1.7.7.1 (unstable/experimental) 2015-05-04 Thomas Holder, Blaine Bell, Gabriel Marques * 1.7.6.0 * VASP file support for: CHGCAR, OUTCAR, POSCAR, XDATCAR * psf file support * ignore SCALE matrices with negative determinant * fix crash when loading malformed CIF file * fix cif export for natoms = 0 * fix several memory leaks * fix crash when saving PSE with deleted ramp 2015-04-20 Thomas Holder * new setting: pse_export_version to save to old session formats * fix memory leak in get_global_components_bond_dict * change setting default: pdb_conect_nodup 0 -> 1 * fix Tcl/Tk File menu unicode handling * fix auto-complete for filenames with spaces * mmCIF: support CHEM_COMP_BOND from mmCIF file * residue information for MOL2 export 2015-03-12 Thomas Holder, Blaine Bell, Gabriel Marques * mmCIF _atom_sites.fract_transf support (SCALEn equivalent) * Complete port of scenes to C++ * warn user if setting a setting on the wrong level * cmd.extendaa: shortcut for cmd.extend with argument auto-completion * reduced memory footprint of AtomInfoType * expose "reps" to iterate/alter * expose "protons" to iterate/alter * adaptive cartoon quality and sampling, depending on number of atoms * fix ring center color with cartoon_ring_color=default * make SelectorGetTmp strictly molecular, fixes for example "dss" with group names * fix "copy" can cause crash * fix "custom" selection operator * consider spec_count in shaders * don't invalidate shaders for lighting settings * don't disable shaders for all Intel chips * don't touch sphere_mode when disabling shaders * map_new buffer == -1 -> gaussian_resolution * fix all_states picking * remove cylinder_shader_ff_workaround and cylinders_shader_filter_faces * remove unused gl_ambient setting * fix Tcl/Tk menu settings logging * fix: grid mode scales down label size incorrectly * fix: no animate argument for cmd.origin * fix side_chain_helper for hetatm polymer atoms * fix .mmd export * refactor many function to take "const" pointer arguments * 1.7.5.0 (unstable/experimental) 2014-12-03 Thomas Holder, Blaine Bell, Gabriel Marques * 1.7.4.0 2014-12-02 Thomas Holder * use COMPONENTS_CIF environment variable to look for components.cif * update fetchHosts and hostPaths URLs * 1.7.3.6 (unstable/experimental) 2014-11-20 Thomas Holder * cif: read first_model_num * fixed _foo?bar lookup could fail in mmCIF parsing * deprecated full_screen setting (use full_screen command) * 1.7.3.4 (unstable/experimental) 2014-10-19 Jared Sampson, Thomas Holder * COLLADA (dae) export support. Implemented by Jared Sampson as his POSF project. * 1.7.3.2 (unstable/experimental) 2014-10-16 Thomas Holder, Blaine Bell * fast PDBx/mmCIF and core CIF loading in C++ * new connect_mode=4 does bonding with components.cif dictionary (mmCIF only, components.cif needs to be present in current directory) * gray out residues in the sequence viewer that are missing from the current state; Read missing residues from mmCIF files (_pdbx_unobs_or_zero_occ_residues records) so that they show up in the sequence viewer * add spider map reading support * load "map" as ccp4 instead of throwing "ambiguous" error * xyz write support * Improve right-button zoom: use origin instead of clipping slab center as depth indicator, fixes zoom speed when far clipping plane is very far away * don't use dynamic_width for nonbonded rep * 1.7.3.1 (unstable/experimental) 2014-09-17 Thomas Holder, Blaine Bell * ignore SCALEn if CRYST1 is 1x1x1 or invalid * new/refactored API functions for accessing coordinates and maps as numpy arrays: * load_coords * load_coordset (was: load_coords) * get_coords * get_coordset * get_volume_field now returns numpy array * new API function: cmd.set_state_order * Session file (PSE) support for callback objects * fix/silence many compiler warnings * fix bg_rgb_top/bg_rgb_bottom side effects * revert "fix setting surface_circumscribe" * delete some obsolete files 2014-09-08 Thomas Holder * migrate all C files to C++ (rename c -> cpp) * multi-letter chain support * added missing function pymol.menu.measurement_color * fix small regression bug in pymol.creating.unquote 2014-09-04 Thomas Holder, Blaine Bell * 1.7.3.0 (unstable/experimental) * sync various pieces of code with Incentive PyMOL * faster iterate/alter implementation ported from Incentive PyMOL * experimental mmCIF write support (atoms only) * partial multi-letter chain support * super: use guide instead of CA, enables nuc acid alignment * fix movie panel not shown until resize * eliminate some deprecated parsing modes * python: convert some files to absolute_import * --help and --version * dynamic_measures refactoring, fixes duplicated IDs bug * get_type returns object:alignment and object:ramp * new "command" Wizard ported from Incentive PyMOL 2014-08-15 Thomas Holder, Blaine Bell * reimplement volume carving - use a carve mask texture * fix boxed volume around selection (with or without carving) - this only worked for symmetry expanded volumes - still limited to maps with symmetry information (TODO) * removed ObjectVolumeGetIsUpdated, deprecate get_volume_is_updated * refactored ObjectVolumeStateGetField, ObjectVolumeGetField - don't keep a redundant vs->volume copy in memory * revert a 1.7.2 opaque_background change - real-time rendering background was always black with opaque_background=0 - removes opaque_background support for "draw" * 1.7.2.1 2014-08-04 Thomas Holder, Blaine Bell, Gabriel Marques * 1.7.2.0 * chempy.cif: fix symmetry loading 2014-07-31 Thomas Holder, Blaine Bell, Gabriel Marques * Improve ObjectVolume rendering latency * Improve label edge pixel rounding * alter_state auto completion * improve "Label" wizard * re-implemented ObjectMoleculeSetDiscrete * 1.7.1.9 (release candidate) 2014-07-09 Thomas Holder, Blaine Bell * fix label_digits crash * fixed get_angle3f to use doubles internally * avoid ZeroDivisionError in Volume Panel * support opaque_background with "draw" * fix spheroid command for use_shaders=0 * 1.7.1.7 (beta) 2014-06-30 Thomas Holder, Blaine Bell * report clash score in mutagenesis wizard * change defaults for settings "ribbon_as_cylinders" and "nonbonded_as_cylinders" to 0 * new commands (ported from PSICO): join_states, alphatoall, loadall, centerofmass, extra_fit, api * pubchem and emd fetch support * support to run pml and py script with the "load" command * Fix text mode (text=1) with white background color * 1.7.1.6 (beta) 2014-06-14 Thomas Holder * refactor chempy.cif - support for multi-model - read secondary structure - rewritten tokenizer * atom sorting: make segi match case sensitive * fix/improve: A > compute > surface area > ... A > generate > selection > surface atoms * PDB parser: factor out SS handling for readability * open file dialog in CWD until the first file was selected, then remember that directory * with -J immediatly cd to $HOME (or $HOME/Documents on Windows). This allowes to put a "cd ..." in pymolrc * fix stereo shader invalidation * 1.7.1.4 (beta) 2014-05-13 Thomas Holder, Blaine Bell * fix label depth issues with label_position * fix label reappeared when zoomed in too far * fix "scene auto, update" with wizard message * fix setting surface_circumscribe * 1.7.1.3 (beta) 2014-05-07 Thomas Holder, Blaine Bell * volume improvments: - grid_mode support - adjust volume ramp alphas by number of layers - support TTT matrix - bind mouse wheel to volume panel to adjust all alphas at once * CCP4 map type 0 support * fixed polymer detection for intra-residue N->C and O3'->P bonds * raise exception when assigning arbitrary string to int setting * fix group visibility issue in movie making 2014-04-08 Thomas Holder, Blaine Bell * never assign atom_type (noInvalidateMMStereoAndTextType) * fix ExecutivePurgeSpec memory leak * fix cartoon memory leak * fixed small solvent_radius crashes surface generation 2014-03-12 Thomas Holder * volume API and panel improvements - volume presets - new commands volume_color, volume_ramp_new - improved volume panel/UI - custom volume ramps/presets - support for volumes from maps with transformation matrix * 1.7.1.0 (beta) 2014-03-09 Thomas Holder, Blaine Bell * updated splash * cmd.label2 fixes * fix: roving details linger for polar contacts * fix crash in RepCylBond with order=0 * fix cylinder picking bug 2014-01-20 Thomas Holder * mutagenesis wizard: use PYMOL_DATA (patch by Michael Banck) * updating version 1.7.0.1 2014-01-14 Thomas Holder, Blaine Bell * read space group from CCP4 maps * handle empty space group like P1 (for best support of map formats which do not have a space group) * map_auto_expand_sym: take symmetry from map if molecular object doesn't have symmetry information * gracefully reject writing MOL format with >999 atoms * fix: saving MOL2 format with empty atom name * fix: ray+png in batch mode ray traces twice * disable seq_view in mpng * change movie_quality default to 90 (was 60) * fix needs_alpha_reset * apbs_tools PDB writing: disable putting spaces before dashes 2014-01-03 Thomas Holder, Blaine Bell * fix ramp coloring when loaded from PSE * don't set use_shaders with PSE or reinitialize * delete duplicates when loading PSE w/ partial=1 * fix incomplete CGO loading from session file * fix viewport logging syntax error 2013-12-19 Thomas Holder * fix warnings about unused data argument; patch by Jack Howarth https://sourceforge.net/p/pymol/bugs/144/ 2013-12-14 Thomas Holder * submenus can be callables which return a list 2013-12-13 Blaine Bell, Thomas Holder * fix antialiasing internal edges, ray tracing * fix clicking volume panel dots at zero alpha * fix molecular weight w/ aromatic bonds & missing hydrogens * fixed sequence text/background when scrollbar isn't shown * remove deprecated mray command 2013-11-26 Blaine Bell, Thomas Holder * remove self assignments http://sourceforge.net/p/pymol/bugs/143/ * cmd.load_callback: import fixed version to api * don't sort atoms in discrete objects * fix resizing issue for lines on ATI cards * fix reset stereo with reinitialize * fix draw stereo 2013-11-21 Thomas Holder * fix label shader fog blending 2013-11-11 Blaine Bell, Thomas Holder * fix segfault in SceneImagePrepareImpl * fix dihedral rep for objects with >20 states * cmd.png: consider image_dots_per_inch with _unit2px * preset.py: delete temporary selections * fixed CGO demo crash in CGOSimplify * print OpenGL info not only to STDOUT, but to PyMOL text output * fix tcl/tk window placement on OS X 10.9 * get_viewport: do not print int as float * fix: do not set wiz.cmd to None when saving PSE * fix cartoon picking bug * fix crash during selection * fix two_sided_lighting cartoon shader bug * fix isolevel command for isosurface with shaders * mol2 writing with multiple objects * fix removing non-polar hydrogens * fix crash during select bychain * fixed line_as_cylinder bug * fixed smooth half bonds with line as cylinders * get_bond command 2013-10-31 Thomas Holder * fix splash.png sRGB profile (bug #136) * improve Filter Wizard, "Create Filtered Object" * consider "ignore_pdb_segi" setting when saving to PDB * delete obsolete files (sglite, ExtensionClass) 2013-10-18 Thomas Holder * remove out-dated pymol.opengl module * enhance get_version command, quiet=-1 gives build information * remove max_triangles setting (was unused) 2013-10-04 Thomas Holder * fix segfault in OrthoRenderCGO https://sourceforge.net/p/pymol/bugs/137/ * importing.load_coords * improve util.chainbow * fix plugin manager PyMOLWiki URL install: strip whitespace 2013-10-01 Thomas Holder , Blaine Bell * major re-work/organization of RepSphere.c and fixed sphere picking * fix color type settings return format for hex colors (0x prefix) * fix special keys in wizard input prompt 2013-09-09 Thomas Holder * add "x" "y" "z" selection operators Example: select foo, x < 12.3 2013-09-08 Blaine Bell, Thomas Holder * fix seq viewer background color * add "backbone" and "sidechain" selection keywords * fix: cealign inverts target structure 2013-08-27 Thomas Holder * fix [bugs:#135] array overrun https://sourceforge.net/p/pymol/bugs/135/ * apply one part of [patches:#6] https://sourceforge.net/p/pymol/patches/6/ * preserve "use_shaders" setting when loading session files * simplify pymolrc search routine * fix CtSh-M click on group members in object menu panel * set_key string support 2013-08-13 Thomas Holder * fix h_add atom sorting * add "metals" keyword to selection language 2013-07-31 Thomas Holder * improve amber rst/crd support * fix pair_fitting with one atom pair 2013-07-23 Thomas Holder * fix numpy/ndarrayobject.h import * setup.py: add --osx-frameworks agument * rpc server: use register_instance 2013-07-16 Thomas Holder * fixed load_traj with stop/max arguments. Thanks to David Osguthorpe for the patch. * fix pymol.importing.read_mmodstr * proper numpy support (ObjectMap.c) * take out broken experimenting.expfit * fetch_path: graceful error handling when writing file fails 2013-07-15 Blaine Bell * fixed flickering ortho problems on some machines 2013-06-21 Blaine Bell * fixed selection indicators 2013-06-18 Blaine Bell, Thomas Holder * fixed loading in bg_rgb settings from old project pse files * add URL support for run command 2013-06-13 Blaine Bell * fixed labels when use_shaders is 0 and show_frame_rate is on 2013-06-12 Thomas Holder * update APBS Tools plugin * fix spectrumany when minimum/maximum are provided 2013-06-11 Blaine Bell * Open Source PyMOL v1.6.0.0 * freeing VBOs properly when deleting volumes * added quiet flag for SettingGenerateSideEffects() and SettingCheckUseShaders() * fix 15bit color picking * fix surface memory leak * fix CGO demo 2013-06-10 Thomas Holder * internal.file_read: use urllib2 instead of urllib * fix ellipsoid transparency OpenGL rendering 2013-05-27 Thomas Holder, Blaine Bell * fix surface normals * fix Scripts ending with ...pymol.py do not execute https://sourceforge.net/p/pymol/bugs/46/ * several CGO fixes * several python fixes 2013-04-26 Thomas Holder * refactored importing.fetch * spectrum enhancements (arbitrary expressions and colors) * pymol2.cmd2: implement proxy pattern * chempy model improvements * fix bg_color, which sometimes did not apply instantly 2013-04-17 Thomas Holder * support full path for "matrix" argument https://sourceforge.net/p/pymol/patches/4/ * use PyMOL API in pymol.rpc module https://sourceforge.net/p/pymol/patches/3/ * doc string for cmd.find_pairs https://sourceforge.net/p/pymol/patches/2/ 2013-04-12 Blaine Bell , Thomas Holder * rotate ANISOU vector when transforming objects * new command: split_chains * fix create/extract bug with movie * fixed cartoon VBO memory leak * always draw rounded caps with sticks shaders * several shader fixes and performance improvements * fixed screen z-offset for labels 2013-03-22 Blaine Bell , Thomas Holder * improved rendering performance using shaders, including dynamically updated shaders based on settings (see data/shaders directory) * implemented shaders for menus, labels, selection indicators, background, and other graphics that were not using shaders. * consolidated textures used for labels and selection indicators to one texture, which helps performance * added memory checking to help avoid crashing when memory is low or not available * cleaned up code base, took out extraneous preprocessor code and code that was not used. * refactor pmg_tk.Settings * Do not clear atom names with chempy.champ.assign.amber99 * fix some plugin manager exception handling * fix create with name=None * Plugin override search path: Always include "startup" from installation directory in plugin search path * Movie > Program > Scene Loop > Nutate > by degrees * ObjectMeshRenderImpl refactoring: color isomesh and isodot with mesh_color and dot_color settings * merging alignment objects: eliminate orphaned atoms * fix cealign alignment object creation: rms_cur arguments swapped * improved the alignto command to take additional keyword arguments which get passed to the used method -> object=aln supported now * remove _PYMOL_MODULE constant * fix LITERAL mode command parsing: ignore leading whitespace 2013-02-14 Thomas Holder * enable VMD plugins by default * apply patch #120 "pymol" import in launcher ambiguous http://sourceforge.net/p/pymol/bugs/120/ * always import _cmd from pymol or pymol.cmd instead of relative * add bz2 support for reading PDB and some other file formats * support width/height units with the png command * support decorator syntax for cmd.extend * setup.py refactoring, setup2.py no longer needed 2013-01-10 Thomas Holder * Exit on error with "-y" flag * shortcut and auto-completion refactoring * fix setting angle_color or dihedral_color * ramp_new: exception handling on argument parsing 2012-12-07 Thomas Holder * feedback fixes * speed up iterate and alter - https://sourceforge.net/p/pymol/patches/5/ * command line (Tk GUI) history improvements * add angles to the Movie-Program-SceneLoop menu * Fixed fab hydro argument 2012-11-12 Thomas Holder * Fixed #3539436: right justified resn in PDB * Fixed #3506103: alignment objects from "super" do not contain N atoms * Fixed #3496006: END before ENDMDL bug reintroduced 2012-08-15 Jason Vertrees * Fixed longstanding annoyance: 'as rep, vis' now works 2012-08-14 Jason Vertrees * Added autocomplete for 'group' command. 2012-08-14 Jason Vertrees * Adding autocomplete for 'dss'. 2012-08-14 Jason Vertrees * Fixed bug where FASTA strings aren't returned for multiple objects. 2012-06-06 Jason Vertrees * Fixing up CEAlign (thanks to Thomas Holder) * FIXED: fails to align chains of length < 2*window+1 * FIXED: if chain length is a multiple of window, only (length-window) residues get aligned * FIXED: only evaluates every 2nd path of the best 20 (increments k twice in the loop) * FIXED: if no alignment is found, the return value is NULL which raises a SystemError instead of a graceful error message. * FIXED: finally, it's not possible to obtain the alignment as an object (like with align ..., object=aln) * FIXED: fixed auto complete names on for cealign 2012-05-30 Blaine Bell * Fixing the exception handling of get_names_of_type 2012-05-30 Jason Vertrees * Fixing get_unused_names * Fixing locking on get_names_of_type 2012-04-06 Jason Vertrees * Adding checks for Quadro cards to enable cylinder shader workaround. 2012-04-06 Jason Vertrees * Improved PyMOL Plugin System; Thomas Holder's PyMOL OSFP project 2012-04-06 Jason Vertrees * Standard splash 2012-04-05 Jason Vertrees * Default all Intel cards to not use shaders * Fixed ID:3513708, cmd.get_unused_name fix; thanks to Thomas Holder * Added new splash image for open-source build 2012-03-20 Jason Vertrees * Fixed ID: 3512313 TER records before residues like MSE, patch submitted by Thomas Holder 2012-03-05 Jason Vertrees * fixed crash when reading in long lines from stdin 2012-03-03 Jason Vertrees * updating version 1.5.0.2 -> 1.5.0.3 * fixed error showing Cell on map with attached file * fixed reading in symmetry * fixed problem with symmetry copying/setting where map doesn't get updated * get_symmetry should return None if argument is not an ObjectMolecule or ObjectMap * stack trace when hiding everything for mesh * fixed Volume extents only get shown when volume is rendered * fixed copying Symmetry info into Objects (ObjectMap and ObjectMolecule) * fixed reading in legacy sessions with version # less than 1 2012-02-17 Jason Vertrees * Fink/Macport builds fixed; thanks to Jack Howarth for the patch. 2012-02-17 Jason Vertrees * Open Source PyMOL v1.5.0.2 * stack trace when saving movie as MPEG (ID: 3488608) * error loading from pse that don't have Crystal/Symmetry info (ID: 3488609) 2012-02-13 Jason Vertrees * adding necessary files to build PyMOL v1.5.0.1 2012-02-13 Jason Vertrees * Open Source PyMOL v1.5.0.1 * improved rendering Performance * improved rendering Quality * bg_gradient now ray traces * improved cartoon support for non-standard nucleotides * surface color smoothing * surface-based picking * frame buffer-based antialiasing for real-time rendering * optimized anaglyph colors and intensities for an improved 3D viewing experience * real-time and ray-traceable ambient occlusion * molecular weight calculuations; A > Compute > Molceular Weight * selection generation A > Generate > Selection * new mouse mode for repositioning lights * many bug fixes 2012-01-03 Jason Vertrees * improved callback rendering * improved cealign (thanks to Thomas Holder) 2011-12-16 Jason Vertrees * fixed object creation when merging two objects; thanks to James Davidson for pointing out the error 2011-12-06 Jason Vertrees * fixed get_mass 2011-12-05 Jason Vertrees * fixed create to reorder IDs when combining objects; thanks to James Davidson. 2011-12-05 Jason Vertrees * Cleaned up 'fitting.py' (untabified) * alignto updated; can now take a method for alignment * cealign updated; made faster and cleaner; thanks to Thomas Holder for the ideas and patch 2011-10-05 Jason Vertrees * Added the get_viewport function and updated the viewport function 2011-10-05 Jason Vertrees * Added support for some non-standard nucleic acids (PSU) 2011-09-29 Jason Vertrees * Fixed distance invalidation problem 2011-09-19 Jason Vertrees * Added Display > Roving Detail * Removed AttributeError on coloring volumes; needs better solution though * Added polar contacts/hydrogen bonds to the Measurement wizard 2011-09-19 Jason Vertrees * Doc fix 2011-09-16 Jason Vertrees * PyMOL now respects the h_bond_from_proton setting 2011-09-08 Jason Vertrees * Added A > Generate > Selection > polar, non_polar, acceptor/donator options 2011-08-21 Jason Vertrees * Fixed click-flash that happens when middle-clicking when showing the background gradient (thanks, Blaine) * Added A > Compute > Molecular Weight and cleaned up the compute menu in general 2011-08-15 Jason Vertrees * Fixed a conversion bug in util.cbc; thanks Hongbo. 2011-07-26 Jason Vertrees * one more fread 2011-07-26 Jason Vertrees * Fixing bugs introduced by last commit for freads; and fixed another importing bug 2011-07-25 Jason Vertrees * Fixing more warnings; opengl bindings work again; thanks to Jack Haworth for the patch 2011-07-20 Jason Vertrees * Fixed lots of warnings on build; cleaning up code 2011-07-06 Jason Vertrees * Multi-model PDBs now write ENDMDL after models and END at end of file; thanks to Thomas Holder for the patch. 2011-06-23 Jason Vertrees * Code cleaning; reducing number of warnings 2011-06-22 Jason Vertrees * Small state bugfix * Feedback bugfix * Updated TNT to 3.0b 2011-06-16 Jason Vertrees * suppress guess valences warning message to Blather 2011-06-09 Jason Vertrees * fixed volume shader; esp for Ubuntu 2011-06-08 Jason Vertrees * "fix" for colored sticks problem * fixed File > Save Molecule using object's state * fog/shading in shaders 2011-05-18 Jason Vertrees * bugfix for drawing ribbons, drastically increases their rendering (3x+) 2011-05-18 Jason Vertrees * fixed a bug where group names were clipped 2011-05-18 Jason Vertrees * fixed state bug in distances for (all) * fixed ray trace bug when not using Python * fixed nucleic acid residue naming (Thanks to Thomas Holder) 2011-05-12 Jason Vertrees * more robust space group/pt group reading from maps 2011-05-02 Jason Vertrees * fixed state bug in distances for (all) * fixed ray trace bug when not using Python * fixed nucleic acid residue naming (Thanks to Thomas Holder) 2011-05-02 Jason Vertrees * fixed shader bug * v1.4.1 release 2011-04-20 Jason Vertrees * finished the state counter * all measures now work inter-distance, and honor object states * selecting/picking now works as we'd expect, with respect to states * improved shaders; added fog, fixed rendering issues * bug fix for possible crash 2011-04-20 Jason Vertrees * freezing colors the states blue * added out of bounds checks for showing states; those beyond are shown as "--" 2011-04-20 Jason Vertrees * state_counter_mode * fixed bg_gradient coloring * added small dictionary for xray space groups * get_names and safe names 2011-04-01 Jason Vertrees * transparent ribbons * naive volume ray tracing; better version coming soon * small bug fixes 2011-04-01 Jason Vertrees * introducing gradient backgrounds (non-ray tracing; testing) * Windows bug fixes * Rlight-click Volumes fix 2011-04-01 Jason Vertrees * PyMOL v1.4b1 -- adds volumes, glew, shaders, bug fixes, etc 2011-02-03 Jason Vertrees * Added PyMOL Web Services API; for information run firefox pymol/modules/web/examples/index.html 2011-01-18 Jason Vertrees * Cygwin build fix (thanks Alex) 2011-01-18 Jason Vertrees * mol2 atom types 2011-01-11 Jason Vertrees * mol2 multi-state save bugfix 2011-01-11 Jason Vertrees * added mol2.py * File->Save Moleulce 2011-01-11 Jason Vertrees * nascent mol2 writing 2011-01-11 Jason Vertrees * removed duplicate function; thanks Thomas 2011-01-03 Jason Vertrees * Fixed multi-state ray trace bug for CGO objects 2010-10-13 Jason Vertrees * Fixed Glutamine label problem in Residue menu; now ALT-Q. 2010-10-13 Jason Vertrees * Trajectory fix 2010-10-08 Jason Vertrees * charge wizard fix 2010-10-06 Jason Vertrees * memory fix on angles and dihedrals * documentation update on cealign 2010-10-02 Jason Vertrees * Fully implemented dynamic measures; enable by turning on "dynamic_measures"--disabled by default for testing * Setting for surface residues 2010-10-02 Jason Vertrees * Measurement wizard dihedral fix 2010-09-23 Jason Vertrees * Fixed degenerate super bug. 2010-08-12 Jason Vertrees * Fixed the map fetching, again. 2010-08-12 Jason Vertrees * Added visibililty flag for Measurement Wizard 2010-08-11 Jason Vertrees * Fixed small bug with fetch. * Moved surface area calculations to Compute > Surface area; these values still need to be validated! * A > Action > Generate > Selection > Surface Residues * New "surface_residue_cutoff" setting * Removed one redundant option from Measurement wizard * Added C > Color > Element > 6/H now colors by hydrogens, not carbons * Yay for the new PyMOL website! 2010-08-05 Jason Vertrees * Better support for biological units. 2010-08-05 Jason Vertrees * For r1.3r1 (mostly due to fetch command) * filtering on File > Save Molecule * Mouse modes now tracked on measurement wizard * Measurement wizard has surface area (beta!) * typos * fixed and cleaned up the fetch command 2010-05-28 Jason Vertrees * dynamic_measures setting, for dynamic distances * more complete neighbor finding and concomitant settings: - neighbor_cutoff - polar_neighbor_cutoff - heavy_neighbor cutoff * versioning * new (internal) build system 2010-03-24 Jason Vertrees * fixed a cealign bug * added 'alignto' command back in 2010-03-24 Jason Vertrees * fetch_host setting (use 'pdb', 'pdbe', or 'pdbj') * map fetching from EDS (eg. fetch 1cll, async=0; fetch 1cll, type=2fofc; fetch 1cll, type=fofc) 2010-02-18 Jason Vertrees * label_anchor setting 2010-02-16 Jason Vertrees * movie_quality setting * copyright notices and install paths 2009-06-14 Warren L. DeLano * motions 2009-06-14 Warren L. DeLano * reduced Z scale sensitivity and added mouse_z_scale setting 2009-06-14 Warren L. DeLano * reindented source code using GNU indent for better readability * ugly workarounds added for Radeon HD hardware -- warns user 2009-06-10 Warren L. DeLano * updated the density wizard to reflect the current API 2009-06-09 Warren L. DeLano * fixed rounding error bug with symmetry expansion of maps. 2009-05-18 Warren L. DeLano * pseudoatom labeling via main menu right-click 2009-05-13 Warren L. DeLano * fixed bug with names containing 'model' in selection macros 2009-05-11 Warren L. DeLano * experimental movie_panel setting * changed internal_gui_mode=0 appearance again 2009-05-03 Warren L. DeLano * fixed internal_gui_mode, 1 and 2; added 2 rows to viewer window * fixed bond color problem from maestro * fixed 'ace' builder bug 2009-04-28 Warren L. DeLano * fixed ramp bug for transformed maps 2009-04-26 Warren L. DeLano * fixed bug with clicking on the sphere representation 2009-04-10 Warren L. DeLano * changed 'import pymol' behavior to defer launch until finish_launching is actually called * added warnings for pml/py/pym run/@ confusion 2009-04-09 Warren L. DeLano * added bycell selection operator 2009-03-26 Warren L. DeLano * acnt map support * fixed bug with selection argument to cmd.get_names 2009-03-23 Warren L. DeLano * fixed problem unintentionally quashing "+" from filenames * fixed selector bug parsing one+object as two + object * added " + " selection operator to mitigate impact of bug and added " - " operator to provide complement to " + " 2009-03-21 Warren L. DeLano * added simple fasta output * fixed major bug with 'domain' argument to select * greatly improved the performance of the peptide builder * fab command 2009-03-20 Warren L. DeLano * very rough FASTA & ALN read support (full peptide builds) 2009-03-14 Warren L. DeLano * updated the vmd molfile plugin code from current UIUC cvs * addressing various strict-aliasing issues for GCC 2009-03-13 Warren L. DeLano * field_of_view now interpolated via get_view/set_view matrix (appears to be backwards & forwards compatible) 2009-03-11 Warren L. DeLano * front and back colors, label_color now defaults to front * fixed object duplication deadlock bug * show_frame_rate setting * valence_mode=1 setting for nicer valence display 2009-03-10 Warren L. DeLano * dynamic_width settings and defaults 2009-03-06 Warren L. DeLano * addressed problem reading mmod files 2009-02-08 Warren L. DeLano * refactored multisave commmand * improved read-in performance for concatenated PDB files 2009-02-08 Warren L. DeLano * fixed stupid load-from-URL bug... * GZ compression support for common input formats * confirmed DLP Stereo 3D support * fixed ray-tracing for checkboard, byrow, & bycolumn stereo 3D 2009-02-06 Warren L. DeLano * saving .dat and .out now also default to mmod format * extensive reworking of stereo 3D code to enable new encodings 2009-01-14 Warren L. DeLano * found & fixed longstanding issue with psize.py in APBS plugin * eliminated alternative conformation identifiers from PQR files 2009-01-09 Warren L. DeLano * added PyMOL> prompt to the Tk Window * addressed a couple of minor file saving issues 2009-01-05 Warren L. DeLano * removing old X11-hybrid kludge, fixed a few python issues * default .mpg extension handling for MPEG export 2009-01-02 Warren L. DeLano * fixed click-through toggle for Leopard 2009-12-31 Warren L. DeLano * various changes associated with getting 1.2b0 out the door 2008-12-23 Warren L. DeLano * fixed tk-based session save problems reported by DB 2008-12-16 Warren L. DeLano * fixed another object-name-dragging bug * mpeg1 export menu item * fixed putty scaling bugs 2008-12-14 Warren L. DeLano * added support for writing ppm files (awkwardly: via png) 2008-12-13 Warren L. DeLano * added error message for when align/super atom alignment fails 2008-12-07 Warren L. DeLano * fixed split_states behavior to allow prefix to override titles 2008-12-07 Warren L. DeLano * updated pymol/__init__.py OpenGL autoconfiguration 2008-12-04 Warren L. DeLano * continued major overhaul of the builder * fixed longstanding object name right-dragging bugs 2008-11-29 Warren L. DeLano * various updates to the builder * auto_overlay setting * stick_ball_color, stick_h_scale settings * added support for negative stick_radius, stick_ball_ratio 2008-11-22 Warren L. DeLano * fixed incompatibility with Roche Pocket Viewer 2008-11-12 Warren L. DeLano * added max_ups setting to govern excessive geometry flux 2008-11-10 Warren L. DeLano * further work on the builder * sculpting engine now respects atom flag 3 (fixed atoms) 2008-11-05 Warren L. DeLano * added Mac-only menu for configuring X11 click-through behavior * updated open-source splash image 2008-10-04 Warren L. DeLano * first rough attempt at IDTF export for U3D / 3D-PDF support 2008-09-29 Warren L. DeLano * fixed subtle div-zero bug in the view interpolation code 2008-09-24 Warren L. DeLano * fixed crash bug with blank CGO object 2008-09-12 * added menu option & mechanism for removing plugins * fixed bugs with defer_builds_mode 5 2008-09-12 Warren L. DeLano * added multipled FSAA to MacPyMOL * added experimental defer_builds_mode 5 for trajectory viewing 2008-09-07 Warren L. DeLano * improved ability to write images asynchronously as a web server 2008-09-05 Warren L. DeLano * fixed a couple of bugs introduced when making changes below 2008-08-22 Warren L. DeLano * addressed some performance issues with byres, bychain, & byseg * added a new cookbook example for a composited multi-clip raytraced image examples/cookbook/multiclip_ray.pml 2008-08-21 Warren L. DeLano * fixed indexes output by get_raw_alignment: now 1-based * added new cookbook example for grafting selections across alignments: examples/cookbook/seq_match_sele.pml 2008-08-04 Warren L. DeLano * added map_auto_expand_sym setting to optionally prevent expansion * fixed problems with out-of-order execution with pasted scripts 2008-07-28 Warren L. DeLano * added support for apbs provided as part of FreeMOL 2008-07-25 Warren L. DeLano * fixed problem with scene name completion * added buttons options to the scene menu * fixed major bug in scene_order command 2008-07-24 Warren L. DeLano * added scene_buttons, scene_buttons_mode * fixed bug found in the previous implicit OR bug fix * fixed bug with unitialized memory in surfacing routines 2008-07-23 Warren L. DeLano * fixed bugs with transparency and interior color * nonbonded_tranpsparency now works per atom for nb_spheres 2008-07-22 Warren L. DeLano * fixed improper selection behavior for wizard with sequence view 2008-07-21 Warren L. DeLano * continued work on the builder * Added "Abort" and "Rebuild" buttons on the external GUI 2008-07-16 Warren L. DeLano * in the process of overhauling builder * added support for mengine as part of the "freemol" package 2008-07-08 Warren L. DeLano * fixed order-of-operations bug with implicit OR in selections 2008-07-06 Warren L. DeLano * fixed alignment/superposition crash bug 2008-06-20 Warren L. DeLano * fixed problem launching browser under Mac OS X / X11 * updated the MacPyMOL UI & fixed various glitches * added a Grid section to the Display menu 2008-06-17 Warren L. DeLano * added support for multiple objects/selections in save dialog 2008-06-16 Warren L. DeLano * fixed missing define when building via autotools * improved compatibility when building under OSX/X11 w/o Fink 2008-06-01 Warren L. DeLano * session_cache_optimize setting * fixed cache optimize * added Ctrl-Fkey and Ctrl-PgDn/Up support inside Tcl/Tk 2008-05-31 Warren L. DeLano * updated help menu * mouse_grid setting 2008-05-28 Warren L. DeLano * added mesh_cutoff and related mesh settings * added mouse_grid setting for hiding the mouse/keyboard info 2008-05-28 Warren L. DeLano * finished .MAE reader (at least for now...) * quashed race conditions associated with the geometry cache 2008-05-22 Warren L. DeLano * create copies object color if source atoms are from one object 2008-05-21 Warren L. DeLano * valence command enhanced for guessing & copying valences 2008-05-20 Warren L. DeLano * now assumes HETATM c1ccnc1 is c1ccn[H]c1 2008-05-19 Warren L. DeLano * skins now working better 2008-05-15 Warren L. DeLano * increased surface generation performance 2008-05-09 Warren L. DeLano * new setting: geometry_export_mode partially implemented * initial 3Dconnexion SpaceNavigator support for Mac (others coming) 2008-05-02 Warren L. DeLano * fixed nasty crash bug with distance command & multistate objs * incorporated various fixes for pymol2.PyMOL instances. 2008-05-01 Warren L. DeLano * converted color names storage over to a dictionary (lexicon) * fixed bug with color redefinition in the external gui 2008-04-30 Warren L. DeLano * more fixes for Vista compatibility 2008-04-25 Warren L. DeLano * capture command/method for obtaining the entire OpenGL window * adjusted save behavior so that selections exclusively comprised of static singleton atoms are written out even when the global state index is not unity * changed behavior of multiplex=0 option for concatenated PDBs 2008-04-23 Warren L. DeLano * made additional tweaks to command flushing 2008-04-23 Warren L. DeLano * fixed more logging-related bugs * optimized command-queue flushing for better performance 2008-04-19 Warren L. DeLano * added support for PDB formal charges. 2008-04-17 Warren L. DeLano * fixed bug with GL_BLEND for distance labels * repaired proper logging for various selection-related actions * migrated to session-based storage for the measurement wizard 2008-04-16 Warren L. DeLano * tweaked behaviors for better ActiveX usage * ESC now exits presentation mode (instead of toggling text) 2008-04-12 Warren L. DeLano * added new movie program menus 2008-04-11 Warren L. DeLano * added vdw radii for additional elements * fixed problem with saving session/show file ext on Windows. 2008-04-04 Warren L. DeLano * fixed exception on windows when home directory is inaccessible 2008-03-31 Warren L. DeLano * scene_order command * improved hash compatibility for cached surfaces * $PYMOL_DATA now used instead of $PYMOL_PATH for align matrix 2008-03-28 Warren L. DeLano * Cleaned up a launch issue under Centos 4.5 * Accomodating default Gnome Panel window positioning under Linux 2008-03-27 Warren L. DeLano * Fixed quirky group-dragging behavior 2008-03-26 Warren L. DeLano * Eliminated a longstanding GC bug (problematic on 64bit/py251) 2008-03-22 Warren L. DeLano * Fixed bugs with label sizes & positions in orthoscopic mode 2008-03-22 Warren L. DeLano * PTR, SEP, TPO now included in alignments 2008-03-12 Warren L. DeLano * cones are now working (flat-capped only...) 2008-03-09 Warren L. DeLano * added Movie->Program submenus and make other changes to Movie * updated buttons in upper right panel -- added 'orient' button * movie_rock modified so as to defer to rock setting by default * reduced Tcl/Tk pause on startup from 1 sec to 0.1 sec * rock setting (replaces hardcoded Control->Rocking property) 2008-03-08 Warren L. DeLano * added "modal" draw loop to deal with Windows GL update bugs 2008-03-07 Warren L. DeLano * added cartoon_putty_transform setting for comparison tasks 2008-02-24 Warren L. DeLano * select now applies validate_object_names to selection name 2008-02-23 Warren L. DeLano * fixed a fitting bug with degenerate cases * various activex compatibility fixes integrated over past weeks 2008-02-05 Warren L. DeLano * eliminated rare but serious bug with fog plus selections 2008-01-31 Warren L. DeLano * grid_slot experimental setting * grid_mode 2 for viewng multiple states 2008-01-30 Warren L. DeLano * grid_mode 1 for viewing multiple objects * dash_color, angle_color, dihedral_color settings * surface_mode 3 and 4 added (thanks Nidhi!) 2008-01-29 Warren L. DeLano * added experimental surface caching implementation * cache_mode experimentation setting 2008-01-28 Warren L. DeLano * fixed minor compatibility bug with vrml (shininess value) * addressed performance issue when changing representations for large objects with many states (e.g. 1sva.pdb1) 2008-01-24 Warren L. DeLano * spacebar now advances scene when in presentation mode 2008-01-20 Warren L. DeLano * additional work towards multiple PyMOLs in one Python. 2008-01-18 Warren L. DeLano * improved Python 2.5 / 64-bit compatibility (PyDict_Next, etc.) * migrated to numpy 2008-01-18 Warren L. DeLano * extensive refactoring for PyMOL2 & ActiveX 2008-01-16 Warren L. DeLano * fixed surface_type=1, broken in the previous beta * refactored molecular surfacing routines 2008-01-15 Warren L. DeLano * ExtensionClass & sglite broke on 64 bit with Python 2.5.1 so they have been replaced with simple Python symmetry tables. 2008-01-02 Warren L. DeLano * added automatic xtal symm expansion for maps about molecules 2007-12-15 Warren L. DeLano * rock now works within movies * movie_rock setting 2007-12-11 Warren L. DeLano * anisotropic temperature factors now "u_aniso" in chempy model. 2007-12-10 Warren L. DeLano * fixed object name validation for "create" 2007-12-06 Warren L. DeLano * first CIF reading code (barely functional) 2007-12-05 Warren L. DeLano * anisotropic B factors now preserved in session files * cartoon_ladder_mode, cartoon_ladder_color, cartoon_ring_color, cartoon_ring_width, cartoon_ring_radius, cartoon_ladder_radius can all now be set per-atom (per-residue, really) 2007-12-04 Warren L. DeLano * added additional workaround for reading tricky PQR files * cartoon_ring_mode can now be set per-atom (per-residue, really) 2007-11-30 Warren L. DeLano * ANISOU records now supported in PDB files * ellipsoid representation (show ellipsoid, if ANISOU provided) 2007-11-29 Warren L. DeLano * restored Tcl8.3 compatibility with file open 2007-11-28 Warren L. DeLano * added support for simple raster3d ellipsoids (rastep compat.) 2007-11-27 Warren L. DeLano * warning added for attempted bond creation between objects 2007-11-19 Warren L. DeLano * validated binary GRD reader (versus GVIEW with .kont files) * fixed crash bug with errorneous pseudoatom input 2007-11-16 Warren L. DeLano * fixed bug in binary .grd reader code (or NOT...still unclear) 2007-11-11 Warren L. DeLano * retain_order is now object-specific * restricted geom rebuilds after mask 2007-10-31 Warren L. DeLano * added a couple of new CGO examples 2007-10-30 Warren L. DeLano * direct SDF output for single and multi-state objects 2007-10-29 Warren L. DeLano * added workaround for writing PQR files with long coordinates 2007-10-29 Warren L. DeLano * improved memory consumption when rendering lots of triangles 2007-10-28 Warren L. DeLano * implemented changed to help support MAEstro format * colorspaces now apply to ramps as well 2007-10-24 Warren L. DeLano * quashed session save bug discovered by GT (PyNone refcnting) 2007-10-22 Warren L. DeLano * fixed command synchronization problem with async pdb fetch 2007-10-17 Warren L. DeLano * incorporated various changes for improved JyMOL capabilities 2007-10-15 Warren L. DeLano * improved behavior of blended ramps based on atomic distances * added map-related methods to the PyMOL_* internal C-API 2007-10-05 Warren L. DeLano * fixed some issues regarding .MAE support * added support for multistate XYZ files 2007-09-26 Warren L. DeLano * bug fix with auto_defer_builds * can now open multiple files at once (tcl/tk file open) 2007-09-24 Warren L. DeLano * added auto_defer_builds setting * fixed performance bug w/ large discrete objects (10^3 states) 2007-09-20 Warren L. DeLano * fixed starup problem with "Documents" folder on Windows Vista 2007-09-06 Warren L. DeLano * added -k option to suppress use of .pymolrc, etc. 2007-09-04 Warren L. DeLano * eliminated some performance bottlenecks affecting virtualized OpenGL contexts with texture_fonts enabled 2007-08-30 Warren L. DeLano * fixed VRML2 normals for rotated views (thanks Aaron Bryden!) 2007-08-29 Warren L. DeLano * fixed mistake with new double-hypen argument parsing * fixed problem with windows HOMEPATH ending in backslash 2007-08-28 Warren L. DeLano * added ramp_blend_nearby_colors setting (for LigandScout-like coloring via ramps) * movie_animate_by_frame setting controls whether animations are interpolated based on wall-clock or movie time * added support for smooth camera interpolation within movies (using scenes, views, animate options, etc.) for mpng, etc. 2007-08-26 Warren L. DeLano * added store_defaults & related options to reinitialize command 2007-08-25 Warren L. DeLano * implemented auto_rename_duplicate_objects setting 2007-08-24 Warren L. DeLano * added ellipsoid_quality and cgo_ellipsoid_quality settings * added CGO ellipsoids 2007-08-15 Warren L. DeLano * implemented some fixes to deal with new PDB nomenclature * now guessing approximate valences for PDB hetatm ligands in order to improve hydrogen-bond display (setting: pdb_hetatm_guess_valences) -- the guesses are often wrong but are much better than nothing! * added sys.stdout.writelines emulation 2007-08-14 Warren L. DeLano * sys.argv if not definied, now set using __main__.pymol_argv * added util.cnc keyword (formerly just an api function) 2007-08-02 Warren L. DeLano * incorporated Michael Lerner's suggestion for argument handling pymol -c script.py --do=something --when=now sys.argv = [ 'script.py', '--do=something' , '--when=now' ] 2007-07-30 Warren L. DeLano * fixed memory leak with gradients 2007-07-25 Warren L. DeLano * fixed bug with command-line rendering with groups * worked-around problem with .MOE triple-bond valence info * fixed bug in .MOE reader with duplicate graphics object names 2007-07-23 Warren L. DeLano * fixed bug (mostly) harmless bug unpacking colors from sessions * fixed problems with box selecting when using non-default stereo parameters 2007-07-18 Warren L. DeLano * fixed problems with atomic picking when using non-default stereo parameters 2007-07-09 Warren L. DeLano * DrgO mouse action added * PyMOL 1.0 branch created 2007-07-08 Warren L. DeLano * fixed atom picking in stereo modes with customized parameters * adjusted idle behavior when playing movies, sculpting, etc. * added new selection operators: masked and protected 2007-07-03 Warren L. DeLano * select no longer * missing more changelogs! 2007-06-21 Warren L. DeLano * issued PyMOL 1.0, with updates to the help menu * updated numerous command entries in code for online support * missing ChangeLog entries for the past few weeks...ugh. 2007-05-30 Warren L. DeLano * align command now has default max_gap of 50 (for performance) * various updates to the sequence viewer to improve behavior * added "super" command to enable more robust alignments 2007-05-29 Warren L. DeLano * added hide_long_bonds setting to help with animating rxns * fixed problem reading NMR structures with HETATM/CONECT combo 2007-05-27 Warren L. DeLano * fixed map_set "average" action (which was broken..) 2007-05-24 Warren L. DeLano * subtle change to the behavior of "create": only atoms present in the source state are added to the target object * discovered and corrected flaw in state-based selection handling 2007-05-20 Warren L. DeLano * adjusted performance, idle, and framerate measuring 2007-05-20 Warren L. DeLano * added global transparency sort 2007-05-16 Warren L. DeLano * fixed mpng export * cObjectDist now cObjectMeasurement (no C names/files renamed) * additional show/hide menu options for measurement objects 2007-05-16 Warren L. DeLano * fixed bug with selection modification menus 2007-05-14 Warren L. DeLano * fixed enable with selection-expression arguments 2007-05-10 Warren L. DeLano * added PyMOL_CmdCreate 2007-05-09 Warren L. DeLano * modified create to allow shifted multi-state object creation 2007-05-06 Warren L. DeLano * damage control galore... many bugs created, many bugs quashed. 2007-05-05 Warren L. DeLano * created some basic tests cases for use of multiple instances * support for multiple PyMOL instances now largely complete 2007-05-04 Warren L. DeLano * fixed various GUI annoyances * fixed scene insert before/after actions * fixed mpng command-line action * OVERHAULED the Python/C API to reduce global state * REFACTORED cmd.py into a number of new .py files 2007-05-03 Warren L. DeLano * converted parser to instance-based while retaining global use * continued work on PyMOL as a Python object 2007-05-01 Warren L. DeLano * threads limit increased to 32 2007-04-30 Warren L. DeLano * starting to reduce global Python state, enable PyMOL objects * fixed near_to selection operator * enabled per-state geometric criteria (within, expand, etc.) * added state and domain options to the select command 2007-04-23 Warren L. DeLano * added state=-1 and state=0 options for alter_state 2007-04-22 Warren L. DeLano * fixed pdb_unbond_cations for automatic bond detection * fixed static_singletons for distance objects 2007-04-21 Warren L. DeLano * fixed wrapping problems for movies & objects * fixed "mview reset" for object matrices 2007-04-18 * fixed bug with aligning selections using the menus 2007-04-03 Warren L. DeLano * ray option to png 2007-04-01 Warren L. DeLano * unsupported surface_types: 4,5 ->5,6; 4 now related to 3 * fixed mouse_wheel_scale bug 2007-03-30 Warren L. DeLano * modified multithreaded async_builds to improve parallelism 2007-03-24 Warren L. DeLano * allow blank argument values in the command parser * added skip argument to python block command 2007-03-23 Warren L. DeLano Changes up to 1.00b19 * minor changes to better comply with GNU Build System: CHANGES is now ChangeLog, also added NEWS, COPYING, AUTHORS. * added autoconf-based build (for in-place install only) -- just Linux for starters missing macros for Mac OS X / X11 / Fink. * renamed all Makefile to Makefile.delsci in order to make room for an autoconf-based build * fixed bug with scenes in interpolated views * pymol now draws h_bonds from proton to acceptor if proton present and provided that h_bond_from_proton setting is true * ray_scatter setting (gives a nice increase in image realism) * ray_trace_trans_cutoff, ray_trace_persist_cutoff settings * improved transparency model with ray_transparency_oblique * alignment objects now created by alignment menus * support for scenes in interpolated views (wow that is cool). * new movie_fps setting subordiantes movie_delay * support for session file compression (default off for backwards compatibility) Changes up to 1.00b16-18 * fixed shadow transparency for per-atom triangle transparency * partial session saves & restores (objects only) * group members starting with internal ._ are now hidden too * group_arrow_prefix setting * new 'extract object' item in selection menus * fixed scroll bar bug with groups * fixed ray_trace_mode bug (bp099) * object:group now returned * ray_trace_color setting * switched from Vera to DejaVu fonts in order to get symbols. * dot representation for quick previewing of map contents * "gradient" command for visualizing maps as gradient fields * "reinitialize settings" for global & object settings (only, for now) * fixed mesh_type = 1 for molecular objects * fixed bug when rendering spheres alone Changes up to 1.00b15 * fixed bug with dragging back clip plane (bp099) * fixes for proprietary code (.MOE file reading & embedding) Changes up to 1.00b14 * matrix handling for groups * bug fixes for matrix_mode=1, but more remain so 0 stays the default * improvements to the mutagenesis wizard (caps, charges, & hydrogens). * fixed serious reference-thrashing flaw in the molecular editor Changes up to 1.00b13 * fixed geometry-based atom selection processing bug for last small objects * support for some Gaussian cube files (orthognal cartesian-aligned) * pseudoatoms * fixed some logging bugs (yet many more remain...) * fixed 'fetch' and the Remote PDB Loader plugin Changes up to 1.00b12 * groups * fixed bond setting selection processing issue * fixed memory leak in surface algorithm (bp099) * fixed session file chaining bug on Windows Changes up to 1.00b11 * fixed stick_ball / transparency bug Changes up to 1.00b10 * label_digits settings * surface_negative_visible and _color settings * mesh_negative_visible and _color settings Changes up to 1.00b09 * ray_label_specular setting * mesh_skip setting * bug fix for label scaling (bp099) * bug fix for ramp_new Changes up to 1.00b07 * fixed normal refinement glitch * fixed cartoon assignment for objects without a state 0 * bug fixes for surface representation Changes up to 1.00b06 * bug fixes for plugin-based load_traj Changes up to 1.00b05 * support for trajectory input via VMD plugins [tested: XTC, TRR, TRJ; to test: GRO, G96, DCD] * fixed wildcard array overrun segfault * tuned VRML2 export Changes up to 1.00b04 * fixed cartoon_trace_atoms crash bug * fixed some horridly complicated rendering bugs with labels * fixed some cartoon drawing glitches * python blocks * fixed formal charges & valences on nucleic acid backbone * fixed race condition in color querying Changes up to 1.00b03 * near_to selection operator * surface_carve_normal_cutoff setting Changes up to 1.00b02 * MOL2 fixes * CVS->SVN migration * preliminary sequence alignment objects (incomplete) * UTF8 support with two new fonts having Greek symbols Changes up to 1.00b01 * VMRL2 export with correct normals for all geometry except labels! Changes up to 0.99rcX * one-button viewing mode * fixed 32-bit memory allocation bug * fixed selection argument to rotate command * fixed mview-based object animation loops * mol2 file reading fixes * single-molecule mol, mol2, sdf now not discrete by default. * parallel geometry builds * massive reworking of ramp_new for molecular objects * VRML2 support from Chris Want. * fixed button in benchmark wizard Changes up to 0.99 pre01 * WARNING: One annoying GOTCHA! Launch script "./pymol.com" is now just plain old "./pymol" -- sorry for the resulting config hassles. * Now running Python 2.4 on Windows, Linux, IRIX, and Solaris Mac remains at 2.3 in order to match built-in Mac OS X Python * fixed GUI bug in pmg/tk & added new alignment option for states. beta38 * fixed field width bug in PDB writer beta37 beta36 * fetch no longer loads PDB as discrete beta35 * MacPyMOL drag & drop fixes beta34 * "fetch" command beta33 * fixed SS assignment crash bug on Win32 beta32 * numerous minor PDB reading, threading, and cartoon glitches eliminated during validation phase * optimized PDB read performance * ray_legacy_lighting setting to enable blending of previous lighting algorithm with new (more correct) lighting * dss state=0 on a multi-state obj now assigns consensus dss state=-x1 on a multi-state obj now assigns union * fixed subtle logic bug in match & merge of highly similar PDB files * various fixed to the alignment & matrix handling code * non-textured label positioning * label_position x,y values <-1 or >1 * multiple lights now work with multiple processors * label position for dashes * label positing finally dealt with for atoms. * fixed defer_builds_mode=2, FINALLY. * depth information for selective antialiasing -- more efficient! beta31 * B & W Molscript & David Goodsell look-alike modes * light4, light5, light6, light7 * fixed line width for perspective ray tracing for better WYSIWYG * label_shadow_mode setting * draggable atom labels * fixed handedness of triangles in CGO cylinders * improved hydrogen bond detection for alcohols and added h_bond_exclusion setting for limiting intramolecular h_bonds * labels argument to distance, angle, dihedral changed to 'label' * introduced wrapping and handedness into interpolations * fixed yet another eigenbug * new color named "object" for stick_color...(should add others later) * fixed surface object show and hide menus * fixed gadget picking/dragging broken in beta30 beta30 * fixed session-reading bug from old (0.96) sessions * support for multiple lights, and increased rationalization of OpenGL and renderer lighting models * FreeType2 integration -- scalable fonts beta28 * double-click on internal gui tab to hide it * fixed annoying problem with pop-up menus that fold back on self beta27 * finished adding nucleic acid representations beta26 * reworked some of the rendering code to work around OpenGL bugs beta24 * proof of concept: molecular "Maya" * restored ability to move slice objects using shift actions beta23 * fixed newly introduced scene bugs from beta22 * binary GRD file fixes beta22 * bump check * fixed busted GLU and GLN rotamers in library * dragging wizard, drag molecule (DrgM) mouse action * drag command & reconfigured editing mode mouse controls * reversed camera zoom behavior, added legacy_mouse_zoom setting * fixed longstanding scene/movie synchronization bug beta21 * worked around depth_cue/fog bug in recent ATI drivers. * added ability to "import pymol" and finish_launching from a method * added general XYZ file support (not just Tinker XYZ) beta20 * -j startup option for use with "geowalls", geowall stereo support * "Opaque" option in background menu * checker background patter for alpha channel: show_alpha_checker beta19 * fixed alpha channel handling for edges -- now combining correctly * opaque_background setting for OpenGL rendering beta17 & beta18 * "import pymol" finally works -- worked around _tkinter gotcha! beta16 * dpi option to png command and image_dots_per_inch setting * reading and saving of stereo images * now renders stereo pairs in both side-by-side and QB stereo modes * fixed valence assignment for HIS and other polymeric residues with various names * some fixes and extra residues added to parameter assignment code * color by explicit 24-bit hex RGB triplets: 0xffffff * unicode hyphens in selections now converted to ASCII dashes * patched memory leak with dihedral display beta15 * possible bug fix for settings storage related to corrupted sessions? beta14 * delete command no longer allows partial names * updates for chempy bricks * fixed bug in case matching for the selection engine * Python API work beta13 * fixed botched beta12 build for windows beta12 * better mouse-handling in horizontal split-screen stereo * fixed setting side effects bug introduced in beta 11 * faster transparency drawing (sorting) beta11 * fixed some longstanding but minor ranging errors in isomesh and isosurf * map_trim command beta10 * cartoon_loop_cap and cartoon_tube_cap settings * fixed latent memory-crash bug in align * fixed min/max issues with maps, alignment, and extents (blush) * fixed a couple bugs in p1m parsing * now supporting wildcards and name lists for most commands which previously took either a name or selection updates...massive changes to "executive" source code, so there may be new bugs... * new workaround for amber-like PDB files. * incorporated a sampled subset of the Dunbrack backbone-dependent rotamers at 10, 20, and 60 degrees based on > 1% occurence * incorporated the Dunbrack backbone independent rotamers * better cartoons for nucleic acids ribbon/cartoon_nucleic_acid_modes: 0, 1, 2, 3, and 4 cartoon_ring_mode: 0, 1, 2 cartoon_ring_finder: 1, 2, 3 cartoon_ring_color, cartoon_ring_width * normals now generated in a more sensible fashion for nucleic acid cartoons */ * rank_assisted_sorts enables us to handle those insane PDB structures where residue 118 preceeds 118A and 123A preceeds 123, without introducing breaks in the ribbon or cartoon structure * fixed attachment of amino acids at the N-terminus * fixed a few bugs in the molecular editor * preliminary work on "h_fix" command beta09 * now ignoring SCALEn if it is the identity matrix * pdb parser now pays attention to column information in the atom name field for inferring ambiguous element symbols * pdb_literal_names now works for real, taking the literal contents of the 4-character atom field including spaces beta08 * eliminated annoying exception on blank command input * fixed crasher bug in phi_psi command * exceptions not caught for startup/command-line actions * improved behavior of "multiplex" option for PDB file loads * made some changed to apbs_tools.py * updated apbs_tools.py also fixed or added NME, NHE, ACE, TIP resns. * added save/restore of state-specific settings for molecule and distance (measurement) objects. * fixed bug with label font & colors when editing beta07 * my first shader program -- "perfect" CPK spheres for PYMOL * sphere_mode setting for increased performance including use of GL_POINT based sphere impostors * -O option for when you've just got to squeeze a few million atoms into PyMOL for CPK/sphere rendering... * slightly reduced RAM usage when rendering complex scenes * converted all the Python code to 4-space indentation (more standard) * viewport can now take a single argument (height or width) * oversize images are now downsampled and displayed beta06 * draw command -- enables OpenGL rendering of large images * fixed state argument for cmd.get_distance * support for windows hidden folders with terminal dollar sign: //share/folder$/path/file beta05 * ray now stops and movie and turns off sculpting * Better return conventions for the PyMOL API: errors return negatives, success returns None, and boolean queries return 0 or 1. Exceptions are raised by default on error conditions unless the raise_exceptions setting is disabled beta03 * fixes to presets and polar contact finding code * changes to the action menu for selections * addressed single-click select and menu with slow refresh * fixed serious race condition / threading bug in popup menus -- this explains & eliminate the sporadic crashes observed on smp machines beta02 * fixed broken reading of multistate objects from strings beta01 * identified cause and temporary workaround for bad nVidia drivers on linux * fixed performace issue with torsion update mechanism when rotating torsions Changes up to 0.98 beta35 * isosurface and isomesh now use the same ranging criteria * matrix_transfer, matrix_reset commands (WHAT A PAIN) * added support for row-major 4x4 homogenous transformation matrices, and in resolving internal conflicts with TTT matrices, made them more compatible with homogenous matrices * internal matrix code cleaned up somewhat -- conventions used are now explicit in most cases. * distance wizard becomes measurement wizard beta34 * fixed glitch in handling bogus CRYST records * patched up some memory leaks beta33 * wildcards for model and selection names * auto disable atom name wildcard for files with asterisks in the atom name field beta32 * psw files now start from first scene by default * scene animation duration default = 2.25 * async option to ray, now default for gui "ray" button * increased output buffering for script output * fixed sdf url support beta31 * scene renaming * dihedral display during dihedral bond torsion editing beta30 * presentation mode now auto-quits after blank screen on either end. * fixed (or rather worked around) two bugs with nVidia on Mac * wildcards for the main selection operations (alt, name, resi, resn, chain, segi, text_type) * wildcard, atom_name_wildcard, ignore_case settings * pushed selection property list and range handling down into C (selections should now run much faster) * defer_builds_mode setting for improved performance with long trajectories -- now possible to work with files containing thousands of states, and to render impossibly long movies piecewise. * switched SDF parsing into C -- "way faster dude!" * new "move" option for the fuse command * url support for pdb, mol, mol2, xplor, ccp4, pkl, and pse files. beta29 * angle & dihedral visualization * fixed control-panel click bug * reorganized the Tcl/Tk modules to better enable customized user interfaces * fixed long-standing transparency shadow bug * improved 64-bit cleanliness * fixed stereo rendering for selections and edit indicators * added support for embedded data on stdin * support for 4-letter residue codes in PDB files * new selection operator for proteins "pepseq/ps." with 1-letter peptide codes * streamlined launch time in various ways * updated lighting model to increase WYSIWG characteristics between OpenGL and ray-tracing * fixed major bug with symmetry expansion * overhaul of the scene subsystem to create some order * orient command now chooses the least perturbation from the current view * "as" command for more efficient changing of representations * reorganized color menus and added some new colors * selections now more visible * ribbon_side_chain_helper * new scroll wheel capabilities (MvSZ, MovZ) * used CHUD to optimize the new raytracer code * ray tracer now supports perspective by default. Unfortunately, this significantly slows down raytracing... * single-click actions * continued elimination of global state information * texture_fonts for better performance on low-end ATI hardware * fixed F10 action in external gui * added colors for each atomic element, plus deuterium * added 32 new automatic colors * fixed bugs with import pymol launch approach * fixed bug with TRJCONV multimodel PDB files * order command for managing entries in the control panel * P1M script format with embedded data & extra security * increased compatibility for variant MOL2 usage * various performance enhancements, esp. to MOL2 and SDF loads * fixed quiet setting for align function * surface optimize subsets setting * .pov file via save command * fixed bug with gadgetramp events * updated presets * cartoon_side_chain_helper setting * putty, and associated selections (thanks in part to Cameron Mura) * selection dots no longer fogged * new actions in the names list * fixed rare system crash on certain ATI Radeon hardware when picking or selecting atoms. * huge performance boost for large systems/heavily loaded PyMOL * ray_direct_shade setting * adjusted povray camera and light settings * povray export now supports mesh2 -- no more need for MegaPOV. * performance increase for atom selections * updated output generated by PyMOL when loading various files... * rank as the final arbiter of atom sorts (if everything else matches) * handling of PDB files with mismatched SCALE and CRYST * special handling for CCP4 maps with missing symmetry blocks * long-term code changes: elimination of global state from PyMOL and allow for option of separating PyMOL graphics from Python top level * support for residue names and identifiers in mol2 files * dynamic grid for slice module * rank attribute for atoms ( = rank/row from input file) * additional safety margins around glReadPixels... * cmd.get_color_index * passive motion outside of window kills passive menus... * faster coulomb_local + menu changes * fixed bug with object/selection renaming * fixed bug with sequence viewer segment/chain display & spacing * slices + associated settings (thanks in part to Filipe Maia) * fixed bug with symexp for when template atoms are outside the target cell... Changes up to 0.97 * install plugin menu item * fixed sequence viewer bug -- GLU now shown as 'E' not 'D'! * included Remote PDB loader and APBS plugin Changes up to 0.96 * more VDW parameters & updated bond info for DNA/RNA * fixed a colossal memory leak in the champ module. * aromatic bond display * mol2 and multi-mol2 reading capability -- beta 16 * added experimental ability to calculate vacuum electrostatic potentials * fixed bugs with map_double, map_new, and color ramping -- beta 15 * annotation wizard (e.g. for SD files -- experimental) -- beta 14 * additional support for weird concatenated PDB files such as those output by MOE * fixed problem with rendering of discontinuous surfaces -- beta13 * get_angle, get_distance commands * fixed pasting to OpenGL window under X11 * fixed "Get View" button in MacPyMOL, now also copying matrix direct to the clipboard in all versions. * API load actions now run quietly by default, like other functions. * pdb_reformat_names_mode = 3 gives IUPAC internally with PDB I/O pdb_reformat_names_mode = 1 (PDB) & 2 (Amber/IUPAC), now correctly handle 3-letter names correctly for various hydrogens * fixed occasional "snail track" bug with surfaces * seq_view_label_mode setting * wizard prompt now avoids overlap with sequence browser * double-click-to-center now uses current state coordinates only * tentative PQR file reading support * fixed major bug in map ranging code -- beta 11 * updated color handling for sequence viewer * new settings: auto_classify_atoms, selection operators: polymer, solvent, organic, inorganic * transparency_mode now subordinates backface_cull and two_sided_lighting in OpenGL and the ray tracer * seq_view settings * sequence viewer is now "in" * mouse_selection_mode setting * got real busy on the sequence viewer * created plugin menu * further menu consolidation to make room for plugin menus * fixed "use display lists" menu option * fixed "stereo swap" and Display->Stereo->Swap Sides menu item. * ray_transparency contrast back to default of 1.0 default (WYSIWYG). * fixed a few minor bugs with picked atom selection indices * menus now stay without mouse being held down (what an improvement!) * fixed a couple of scroll-bar glitches -- beta 5 * movie.sweep convenience function for simple back & forth movies * PyMOL can now write multi-model PDB files (save with state=-2) * atoms with the name resi, but not the same resn are now considered to be in different residues (fixed byres bugs). * ray_transparency_contrast setting, default=2.0, improves contrast of the transparent surface relative to objects inside. * set_name command * fixed save_session behavior to avoid accidental overwrites after opening a new session (mac & tcl GUIs) * active_selections setting & changes to the selection paradigm in preparation for the sequence alignment tool : ) * fixed minor bug in fitting code (faster convergence?) * added surface_trim_factor and surface_trim_factor settings in order to hard-to-tesselate peaks on the surface * taught PyMOL bond valences for G,A,T,C,U residues * greatly improved quality of the surface rendering algorithm for surface_quality = 2, 3, 4, etc. * fixed over-zealous movie security warning: no longer warns if there weren't any commands defined * surface_carve_cutoff, surface_carve_selection, surface_carve_state surface_clear_cutoff, surface_clear_selection, surface_clear_state settings, to enable sub-atomic culling of surfaces... * stick_transparency opengl rendering fixed * passive stereo GLUT support (extra-wide desktop) for Windows * adjusted reflectivity of interior color to better match exterior * minor fixes to depth_cue and ray_trace_fog control and input * now uses 3X less memory when rendering surface_type=2 (meshes) * fixed bug in surface generation code, & treaked surface modes * various changes to surfacing algorithm greatly increase robustness when surfacing crevaces -- can now handle small(er) solvent probes. * surface_solvent, triangle_max_passes settings * mesh_type, mesh_lighting, dot_lighting settings * reinitialize now stops rocking * fixed logging of button presses in MacPyMOL * added multi-line command paste support to MacPyMOL * dropped support for "del all" in favor of "dele all" * StereoPyMOL1280 mode on mac for higher-resolution stereo * fixed a race condition that was causing OSX-X11-hybrid to crash when "quit" was typed into the external Tcl/Tk GUI * added numarray into the osx-x11-hybrid version for BSI use * increased the session file version # to account for the new colors * added a "perceptive space" rainbow & switched this over to default * fixed ray-tracing bug with infinite loops on transparent surfaces * fixed logging for new molecular editing features * pdb1 extension support * fixed unintentional default OpenGL bug reporting Changes up to 0.95 * changed cartoon_tube_radius to a more aestically pleasing 0.5A * ribbon now shows nuc. acid backbone too * added presets for ligand sites, including our new surface reps. * fixed bug with scene coloring * adjusted clipping plane bounds to eliminate shingle effect from excessive depth ranges. * mesh_normals setting for surface_type 2 * launch option: -P # enables multisampling on Macs & Windows. NOTE: on Windows, only "-P 4" works, and only tested on ATI cards. * session_migration setting * fixed problem with view matrix exploding on some proteins -- now allow front clipping plane to go negative with suitable safeguards * fixed bug with raytracing transparent surfaces using intermediate backgrounds * surface code now tolerates superimposed identical atoms more gracefully * dot_normals setting * bound_to selection operator now complements neighbor... * fixed stereo opengl bug & improved opengl debugging capability * extended editor to support multiple picked atoms in different objects * fixed major bug in mesh representation * updated setup.py * surface_type setting: 0 = solid, 1 = dot, 2 = mesh * fixed off-center behavior of center command with respect to clipping planes * fixed label representation memory (on/off only) in scenes * added support for explicit RESN and RESI specification in selection macros: RESN`RESI/, RESN`/, `RESI/ vs semi-ambiguous RESN/ or RESI/ * fixed nonbonded detection problem with discrete objects * fixed serious bug with "state" selection operator and discrete objects. * improved ray-tracer's ability to handle multiple transparent objects * "Virtual trackball" toggle now in menu * added variety of new functionality to pop-up menus * fixed segmentation fault bug in atom picking (only seen on Mac?) * much-improved support for raytracing of large structures; various bugs fixed * fixed memory management issues on OS-X * endianness check for .phi files * test cases updated to reflect new molecular editing behavior * default arguments (and behavior) changed for dist and bond commands * pdb_standard_order now default on * textual button mode indicator, more button changes... * ray-tracing of RGBA pixmap text now supported FINALLY. * pk1-4 now have different visual representations... * fixed hydrogen adding for amides/ureas * changed PyMOL file output to comply with PDB standards with respect to placement of the atomic symbol in the atom name field * overhauled C0700 test case * pdb_reformat_names_mode setting (for PDB and AMBER conversions) * appearance wizard * toggle command * virtual_trackball setting * many new menus to support viewer pop-up actions * pop-up menus in viewer * cascading pop-up menus * made spheres pickable * made cartoons pickable using pickable CGOs : ))) * finally fixed visible operator to behave as expected * massive overhaul of user interface appearance * double-clicking actions * scrolling actions * new selection operations byfragment (byfrag, bf.) bysegment (byseg, bs.) bymolecule (bymol, bm. ) * added setting internal_gui_control_size so that users can decide how many lines of buttons they'd like to see. * revamped GUI, made buttons look like buttons * added ray_blend_colors setting to provide a simple way of reducing oversaturation * fixed major bug in GRD map reading code & added normalization option * fix potential crasher bug with stick_balls * SHFT-F# key support, for set_key, scenes, and views * cmd.extend now adds help for function (updated test case). * various changes here and there for Mac OS/MacPyMOL compatibility * extensive work on the metaphorics P5M file format/Fedora stuff * massive tinkering with sequence visualization ideas, but nothing to show for it yet : ( Changes up to 0.94 * no_smooth flag to make it easier to combine cartoon and atomistic representations * fixed yet another ray-tracing alpha channel bug with mixed transparent/opaque objects. * new setting overlay_lines, overlay becomes a boolean toggle * specular now acts as a binary veto over spec_reflect and specular_intensity holds the OpenGL spec. intensity * ray_trace_fog deprecated (subservient to depth_cue) * Mac OSX native port completed as "MacPyMOL" Incentive Product - support for additional file extensions - GUI remembers last open location - QuickTime movie export - Cut and Paste image export * fixed bug in SelectorCountStates * default roving_polar_cutoff increased to 3.31 in order to show marginal/potential hydrogen bonds * adjusted Z origin movement strategy again, and fixed problem with undesirable apparent z-translation in orthoscopic mode * pdb_insertions_go_first setting for handling structures where inserted residues come before, not after, the numbered residue. * Added support for older, binary-header O/DSN6 maps, including swap_dsn6_bytes setting (for unlikely scenarios). Changes up to 0.93 * Restored ability to read version 0.86 sessions with CGOs. * Fixed bug with O/BRIX map reading code. * Changed roving_origin behavior with respect to Z axis. * P5M file handling for browser helper (for Metaphorics, mostly). Changes up to 0.92 * added RPM support for "import pymol", fixed several bugs running PyMOL in this fashion, with or without a GUI. * fixed alpha channel handling for transparent surfaces in ray tracer with a non-opaque background, with fog, and with both together. * added defer_updates setting to provide a gentler alternative to suspend_updates and which can allow a threading applications to process a series of cmd.do commands without unnecessary updates * fixed a couple annoying bugs in mpng command movie rendering COMPATIBILITY WARNING: mpng no longer automatically adds an underscore to the movie filename prefix! * fixed Calcium detection for "CA+" residues * cmd.do updated to take multiple commands as a string or list of strings * increase the word length limit in the selector so that long lists of residues can be supplied. * new test case for PDB file IO (C0700odd), do command (c1100do) * WARNING: cmd.select API argument reordering may break existing code * adjusted behavior of "set" and "unset" to enable more concise changes of global settings: "set setting-name" "unset setting-name" WARNING: API changes to "set" and "unset" argument ordering may break existing code * pdb_retain_ids setting * Deuterium atom support, including DOD * split_states command * much faster loading of multi-model PDB trajectories * get_symmetry & set_symmetry commands for molecule objects * mutagenesis wizard now preserves cartoon display * fixed alpha channel handling for transparency OpenGL objects * get_pdbstr API function * movie_loop setting * changed behavior of movie controls in the internal gui so that the movie commands will run more consistently Changes up to 0.91 * fixed separate cartoon rendering bugs with helices and strands * added a fast C-based secondary structure assignment algorithm acessible through the "dss" command * cartoon_transparency setting * fixed "cake bug" in ray tracter for cylinders directly aligned with incident light ray * taught sculpting engine to treat unbound waters as donor/acceptors */ * stick_ball, and stick_ball_ratio can be used to quikly generate ball and stick representation without messing around with spheres... * NEW: display of valences for sticks (controlled by valence setting). stick_fixed_radius determines whether they are inscribed or not * pdb HETATMS are no longer sorted by default * Torsional term added to sculpting engine...not perfect, but it's probably better than allowing for eclipsed conformations all over the place. * Optimized sculpting engine using CHUD/Shark -- now much faster. * Fixed CENT action with multi-state object * Adjusting Z scaling for mouse to provide finer control * Better WYSIWYG: If they are set to zero, then the settings: mesh_radius, line_radius, ribbon_radius, dot_radius, dash_radius are now subordinated to: mesh_width, line_width, ribbon_width, dot_width, and dash_width. However, if changed to a non-zero value, they will take priority. This behavior provides better WYSIWYG for raytracing, but will break some scripts. * fixed map_new ...,gaussian,... command and added options gaussian_resolution gaussian_b_adjust gaussion_b_floor default "map_new name" now creates a 2 A electron density map using current atomic Q and B for direct comparison with experimental density * updated ray tracer to support edge oversampling -- Antialiased rendering is now SIGNIFICANTLY FASTER for simple scenes and is now enabled by default. Full scene supersampling is no longer necessary in most cases, but if activated, it will provide even better image quality. Antialias setting can now have values of 0-4: antialias 0: no antialiasing antialias 1: edge-oversampling (as per ray_oversample_cutoff) antialias 2: 2X full scene supersample plus edge oversampling antialias 3: 3X full scene supersample plus edge oversampling antialias 4: 4X full scene supersample plus edge oversampling * restored CRLFs on Windows versions of PyMOL so that python code can be viewed/edited with Notepad, etc. * added quiet parameter to alter and iterate commands * fixed raytracing bug with one residue cylindrical helices * fixed raytrace border bug * fixed isosurface session save bug * added high-quality transparency support to "isosurface"s * greatly improved quality of surface output by "isosurface" * added support for Biosym/InsightII ASCII grid files * support for BRIX map format * fixed endianness problems with map files * pdb_use_ter_records: setting disables TER records in PDB output * improved default hydrogen atom ordering in PyMOL * fixed bug in hydrogen name conversion -- this may break some scripts : ( * pdb_hetatm_sort: disable and sort to see cartoons for non-canonical PDB residues * retain_order: enable and sort to preserve input atom ordering. NOTE: may prevent some residue-based operations from working * Fixed processor mis-detection bug on Linux with certain P4s * PyMOL now building warning-free on VC++ warning level 3 (catches sloppy precision handling and conversion) Changes up to 0.90 * Fixed IRIX and Linux minimal dependency Python launch context. * Added CPU detection for IRIX and Linux * Fixed ribbon color and rendering bugs * Put in checking for overly long selection words to avoid seg.fault. * Incorporated Tom Lee's density wizard changes. * TCL_LIBRARY not overridden by PyMOLWin.exe if it exists * Various NULL POINTER Errors removed * Memory debugger disabled by default to support multithreading * initial support for display lists -- not yet enabled by default * partial surface calculations are now much much faster * intensive optimization of ray tracer, incl. inlining * updated online documentation & tests for the following commands feedback extend alias (python_help) get_view view scene Changes up to 0.89 * Fixed major session save and restore bugs * Updated ExtensionClass for improved Python 2.2 and 2.3 compatibility. * Improving hash-table construction performance in ray tracer. * Added CPU and RAM autodetection for OSX Mac * Added multithreading support to raytracter (set max_threads,n) * Fixed various bugs on Mac including TAB-crash in external GUI Changes up to 0.88 * fixed numerous bugs * validated current test suite and source code build against: Linux, Win32, IRIX, Mac OSX, and OSF * new cartoon settings controls & tweaks * reinit command * Moved demo code into a Wizard * Fixed an ancient memory trasher bug in Isosurface, thank God for test cases! * Wizards, as Python objects, are now saved with sessions! : ) * Wizard stack * scene annotation * tearoff menus * pdb_standard_order setting * calibrated CGO line widths to produce consistent results * added color support to scenes * updated demonstrations * fixed suspend_updates setting * added map support to roving facility * enabled distance objects to persist through redefinition * fixed various geometry and rendering glitches with cartoon ribbons * ray_interior_texture, ray_interior_shadows * get command allows settings to be queried from the command line * added angle and shift options onto "ray" command for stereo figures (this automatically adjusts the light position) * added walleye stereo support * can now pick and rotate bonds with a single click-and-drag * overhauled map_new, isomesh, isosurface. added new test case * scene commands * "rep" and "color" selectors * $TUT environment variable points at $PYMOL_PATH/data/tut * fixed quadro stereo support with sessions... * cartoon_highlight_color now provides Molscript-like cartoon coloring which provides for an alternate color inside of helices and on the sides of beta strands. * ray_interior_color can enable solid interiors in the ray tracer! * fixed truncation error in view matrix composition. * Roving details. Many new settings. * Roving origin. * Added ribbon_color, cartoon_color settings. * overhauled color menu, improved performance of rainbow and color by chain * added color space menu to Tcl/Tk Ext. GUI * added color space clamping to better enable CMYK color matching as well as improve rendering quality * added z-ordered transparency (nice!) with menu controls * finished session save support for color ramps and gadgets * debugged and tested Quadro hardware support * Added mouse_scale and mouse_limit settings. Reduced "jumping" of virtual trackball. * Worked to resolve threading issues with multiple demanding clients... * Finally fixed sporadic "GC object already in linked list" bug on mac. * huge cleanup of code to eliminate compiler warnings on VisualC and Windows & GCC32 - at least one bug fixed - more careful handling of precision * updated acknowledgements in the README file * Tcl/Tk external gui now also follows -X, -Y, -W, and -V window parameters "-V value" controls the size of the external Tcl/Tk GUI (if present) * INCOMPABILITY WARNING: "-X" option for launching rpcserver changed to "-R" in order to make room for "-X" and "-Y" options for positioning GLUT window. * command line options: "-X value" and "-Y value" along with "-W value" and "-H value" can now be used to determine the position and size of the GLUT OpenGL window. * fixed session restore bug with editing mode * worked around Solaris compiler limitations. Changes up to 0.87 * improved launch speed by hard-coding sphere definitions * improved surfacing algorithm performance by about 12% * dot_solvent, mesh_solvent, and sphere_solvent settings * simplified and improved mesh quality, added mesh_quality setting * fixed session restore crash with objects having multiple states. * improved specular reflection on transparent surfaces (ray_transparency_specular=0) will restore original behavior. * stick_transparency setting * ray_transparency_shadows setting Changes up to 0.86 * added command history feature to external gui * added security warning and mechanism for session files containing movie commands. * session saves completed -- boy that was a lot of work! * reorganized tcltk menu structure * minimal texture options exposed in menu (slow!) * better support for Python in PyMOL command scripts ('\' works for multiline blocks). * freeze state and thaw state added to mol_action menu * added xmlrpc01.py demonstration program to examples/devel * ribbon_trace can be used to view CA-only models * ray_shadows setting can disable shadows in raytracer (slight performance inc.) * added secondary structure to chemical python model data structure * fixed slab mode of clip statement * update 'expand' and 'attach' can now take an atom name as well as an element symbol Changes up to 0.85 * mmatrix now stores the complete view instead of just the rotation matrix * unset command * fixed handling of calcium atoms * added automatic scroll bar for when you get too many objects/selections * added handle to manually adjust internal gui width * updated OpenGL depth_cue setting to more closely match those of raytracer * "center" command * PyMOL no longer wraps output lines by default "set wrap_output=78" to get previous behavior * relocated binary shared objects from modules into the modules/pymol tree * data files now separated from the modules directory into a parallel data tree in $PYMOL_PATH * added ability to build PyMOL using Python distutils * revamped the PyMOL launch process. It should now be possible to launch pymol simply with an "import pymol" statement, provided that the modules are in the Python search path * fixed get_dihedral to use current state index * revamped smooth command and added documentation * added some nasty code to handle quotes and apostrophes in atom selections so that nucleic acids and sugars with apostrophes will work right while you can also still explicitly use apostrophes or quotes * added "safe" option to zoom command in order to provide a mode which will guarantee against clipping Changes up to 0.84 * updated SPHEROID command for use with trajectories * Can now read AMBER topology, coordinate, trajectory, and restart files * PyMOL now transforms 4-character atom names appropriately by default. Thus, 3HG2 in PDB file becomes an atom named "HG23" If you don't like this, "set pdb_literal_names=1". * PyMOL now preserves stereo field on MOL-files to better enable shuttling of 2D structures through PyMOL... * fixed bug with dumping of dot surfaces... * fixed bug reading element identifer from PDB files * fixed bug with alternate conformations Changes up to 0.83 * various tweaks to the semistatic minimal dependencies build... * fixed bug in startup file reading * first inclusion of cex file support Changes up to 0.82 * WARNING: default behavior of isomesh and isosurf changed! By default, they will now always load the mesh into state 1. If you need the previous behavior, then set the state argument to zero. Changes up to 0.82 * modified "cmd.system" to take an argument for asynchronous execution * flag command no longer indicates atoms by default -- set "auto_indicate_flags" * cross-eye side-by-side stereo support * fixed bug in valency display code * fixed major bug in "create" * raytracing bugfix for bond with zero length * complicated workaround for mouse atom selections with Radeon 8500 and WinXP PyMOL may now be somewhat resistant to broken OpenGL ReadPixels implementations * improved water handling for "non-canonical" situations (i.e. real life muck) * moved configuration files to a subdirectory "setup" * mpng now can support a range in order to enable coarse-grained parallelism (distributed movie rendering) * "within" operator added to selection language * visible selection operator no longer hits disabled objects * origin, zoom, and orient now take "state" as optional argument with special handling for 0 (all states) and -1 (current state) * eigensolve output now considered blather * important bug-fix on rotate and translate commands * "present" operator in selection language and tests for "state" operator Changes up to 0.81 * fixed bug in bg_color API function Changes up to 0.80 * major bug fix to "carve" in isomesh * "command ?" now gives a list of arguments * fix spurious bugs reading files under unix * added support for alternate residue id codes in secondary structure records * cylinders have become sausages, and... ...we now have flat-capped cylinders (0203)! * fixed duplicate logging with Run command * create a simple vector-based font (0203) * 3D text in CGOs * linear constraints in molecular sculpting engine * acetylene buidling block Changes up to 0.79 * internal character set * solid isosurface rendering algorithm: "isosurface" command * parser updated to handle selections like "resi 10 and (name c,n,o) and chain A" which lack surrounding parentheses, but which have delimiters inside * parser updated to handle (alt A+'') and similar constructs (previously DOA). * fixed ribbon & cartoon display when N-terminal atom is the CA * changes to support MacOSX port (0203) * ALIGN command Changes up to 0.78 * revamped Makefiles for better portability and dependency handling. Changes up to 0.77 * sculpting information now cached between changes to molecular structures * optimized sculpting for small regions of large proteins * FINALLY, modes for two-button mice Changes up to 0.76 * VDW radii adjusted. Use "set legacy_vdw_radii=1" on start-up for old values. * Sculpt functionality. Who needs gummy bears when you can have gummy molecules? * Numerous back-end bugs addressed. * transparent spheres Changes up to 0.75 * enabled automatic completion in the tcl/tk command window * altered settings for dot representation * created stop_on_exception and raise_exceptions settings. WARNING: stop_on_exceptions is NOT set by default (this is so that log files which contain errors will continue to function). * gutted cmd.py, and created a bunch of sub-modules which contain the code previously in cmd.py. * superposition bugs fixed with multi-state objects (fit and intra_fit) * cmd.set_key can now be used to redefine ALT and CTRL keys in addition to function keys and other specials. Changes up to 0.74 * very minor bug/doc fixes Changes up to 0.73 * improved fragment and residue building capabilities Changes up to 0.72 * fixed some logging issues with dragging pieces * now possible to create empty objects, fixed mutagenesis wizard in response * all readable files are shown by default in the Tkinter file dialogs. Changes up to 0.71 * seg. fault bug fix in ObjectMoleculeConnect * two_sided_lighting option to help Jun at CCI project * fixed triangle rendering on lower-end graphics cards * revamped PyMOL's internal bond handling data structure. I've done my best to insure that this doesn't break anything, but it is a major change and has the potential to create huge problems... * empirically synchronized PyMOL and PovRay's perspective transformations... Changes up to 0.70 * fixed symmetry bug with multiple state objects * symmetry now carried through create operations Changes up to 0.69 * PNG reading * First generation PovRay interface...whoopee! * Tweaked util.ray_shadow and added some new settings Changes up to 0.68 * HETATMS are no longer surfaced by default. Clear the "ignore" flag or set surface_mode=1 to restore their surfaces. * flag command now takes name arguments and can now reset, set, and clear flags * established some standard flag names and conventions * Upgrading OpenGL Pop-up menus, since it looks like the internal GUI will be widely used despite its original limited role (oh well...) * Fixed element name guessing * added ray_improve_shadows setting for improving shadows by projecting outward from triangles. * Fixed a major bug in the raytracer which was causing bogus shadows to appear on surfaces * Fixed a huge bug in surfacing of subsets. That function was totally whacked, but no one had noticed or complained!!! Revised the function of the surface_proximity setting * by default, PDB HETATMs are no longer surfaced -- if you want them to be, then please "set surface_mode=1" * "transparent" renamed to "transparency" * switched to a three-pass OpenGL rendering model in order to properly display opaque, transparent, and antialiased objects * OpenGL transparency now works too! See "help transparency". * nonbonded spheres are now pickable * surface_color and mesh_color override the default atom colors for uniform surface coloring -- added support for color names into the settings module * flags 24 and 25 now work with surfaces and meshes. See "help flags" Changes up to 0.67 * Transparency support in rendering has been added, but it doesn't yet exist yet in opengl mode. Changes up to 0.66 * numerous bug-fixes Changes up to 0.65 * numerous bug-fixes Changes up to 0.64 * stage 1 API enhancements -- consistent return conventions adopted (many will not follow conventions until stage 2 though) * more surface_qualities: -3 to 2, surface_quality=1 is now even better * click-and-drag a box to select atoms * PyMOL now builds w/o warning in VC++6 * LOG FILE CAPABILITIES: logging of both PyMOL scripts (.pml) and PyMOL program files (.pym). The "resume" command allows propagation of session-like behavior. This makes a huge difference in PyMOL user-friendliness. * autocompletion bug fixed, generalized autocompletion added * mesh_radius cut in half, for better default density figures * carve command on isomesh * pymolrc support * isosurface speed boosted by about 33% using C-oriented field object. * fixed bugs with internal_gui options * internal_feedback setting * simple cartoon ribbon for DNA/RNA * selection language now supports '+' as substitute for commas, and '-' as substitute for ':' in residue identifiers (more user friendly) * selections no longer require parentheses unless they have commas or semicolons * unit cell display for molecules and meshes Changes up to 0.63 * Density wizard * isomesh meshes now use mesh_width instead of line_width * fixed rendering background color bug on BigEndian machines * fixed fatal bug with symexp * first attempt at support for CCP4's binary maps -- it works with my test maps, but will it work with others? Changes up to 0.62 * tuned up the util.ray_shadows function, added a "matte" mode for better definition of ribbons... * integrated workaround for an apparent GCC serial optimizer bug on x86. Changes up to 0.61 * bg_color command for easier background adjustments... * depth cue menu item and ray_trace_fog linked * cartoon_discrete_colors hack for coloring secondary structure properly * (ss ...) primitive in selector for selecting helices, etc. * many cartoon ribbons improvements -- flat fancy sheets now VERY nice. Changes up to 0.60 * third generation fancy helices complete -- revamped interpolation code. * ray now takes dimensions for rendering larger than screen * unpick and hide selection buttons * various new menu items... * preparing for GLUT independence on selected platforms... * choice of lighting modes for ray-tracing (improved shadows, contrast) * settings renames (gl_ambient, dot_radius) * settings changes (hash_max) and ray-tracing feedback * "help faster" * fixed minor glitch with fancy helices Changes up to 0.59 * fixed valency display bug... Changes up to 0.58 * second generation cartoon ribbons are in -- Goodbye Molscript! * fixed half-decade old logic bug in MemoryDebug (blush!). * "alter" and "alter_state" given a 50% performance boost * added a coarse hydrogen-bond assessment feature (internal) * added phi/psi measuring capability * fixed selector memory leak on errors * added first-generation cartoon riboons (higher-quality to come later) * added more specific settings for mesh and ribbon width, etc. * add more settings-change side-effects * fix bugs with saving pkl files for state > 1 * added a concise notation into the selection language model/segment/chain/residue/name */name residue/ residue/name chain/ / chain/residue/ chain/ /name chain/residue/name segment/ / segment/ / /name segment/ /residue segment/ /residue/name segment/chain/ / segment/chain/ /name segment/chain/residue/ segment/chain/residue/name /model /model/ / / /name /model/ / /residue /model/ / /residue/name /model/ /chain /model/ /chain/ /name /model/ /chain/residue /model/ /chain/residue/name /model/segment /model/segment/ / /name /model/segment/ /residue /model/segment/ /residue/name /model/segment/chain /model/segment/chain/ /name /model/segment/chain/residue Changes up to 0.57 * mutagenesis module * finished the set_dihedral command Changes up to 0.56 * fixed a serious parser bug with the mdo command Changes up to 0.55 * fixed and enhanced util.mroll, util.mrock Changes up to 0.54 * ID and elem fields in alter, iterate Changes up to 0.53 * change order of drawing within object to improve the interaction with antialiased lines. * thread safety improvements (fixed bug involving serial manipulations of the same object) * bug fix with stick representations * fixed minor goof with cmd.dist retval in 0.52 Changes up to 0.52 * many improvements to online help * fixed discrete objects created from PDB files * prevented deadlock condition with re-entrant API locks * fixed couple of logic-bugs in threading * changed output format from mouse click to a valid selection * finished retrofit of the parser. * formal charge now read from MOL files -- need to consider full implementation of MOL file reading capability (incl stereo) Changes up to 0.51 * Tcl/Tk GUI now contains a save molecule option * Tcl/Tk GUI help improved * performance/quality options in the display menu * sphere quality setting * depth_cue toggle setting (important for low-end PC hardware) * specular reflections * fog setting Changes up to 0.50 * can now "pick" C-alphas in the ribbon * can now "pick" atoms and bonds in the stick representation * improved clipping plane control command "clip" * pym file extension support, for PyMOL-specific .py files * better windows NT compatibility * settings browser * view, view_get, view_set commands * Parser now contains a general shortcut handling module to further help in reducing typing * Slight tweak of the virtual trackball * Saving and restoring matrix, center, origin, zoom, clip * Internal program output no longer includes python's stderr * New thread management solution -- simple and stable -- plus it even works (I've even got test cases to prove it)! * Fixed memory-trashing bug in the selector * Found a workaround for KDE/Gnome/Tkinter/Tcl/Tk problems under linux * Created Save option on the Tkinter menu, and added additional file types. * TAB-activated filename and command completion (CTRL-D too) * Former TAB functionality moved to ESC (text/graphics toggle) * Auto-detection of stereo capability * Created a robust Feedback control mechanism * Eliminated hangs and crashes upon program termination with Win2k/NT. * "Distances" wizard (internal gui;replace with external version later) * "Pair Fit" wizard (internal gui; replace with external version later) * Mesh objects now have states, and new meshes are appended. * Modified raytrace antialiasing transfer function to improve sharpness. * Created alias and extend commands so that python scripts can extend the pymol language on the fly. * Additional test cases. * Parser improved with a new argument parsing subsystem which has a better mapping to standard Python arguments. This has significant potential to break existing code if there are any bugs, but I am shooting for 100% backwards compatibility. Changes up to 0.49 * Improved editor, hydrogens now auto-deleted. * Visible selections. * Default mouse actions changed for editing and atom selecting. * Callback objects (for use with PyOpenGL) now have extents. * get_state and get_frame API functions Important Changes 0.42-0.48 Too numerous to list them all... * Addition of support for PyOpenGL-based GL calls with callback objects * Wizard feature, for grabbing mouse input -- still needs flushing out. ==================================== See below for changes implemented in specific releases ------------------------------------------------------ PyMOL Architecture and Development Status OpenGL Core ( _cmd.so/.a/.dll/.lib and modules/pymol ) Currently, deployed only in glutPyMOL (a.k.a. standard "PyMOL"). Syndicated Application Ideas... glutPyMOL (PyMOL in GLUT window with an external GUI) Deployed -- the current standard, in use globally. ePyMOL Lite (EasyPyMOL, free version, win32 only) Planned for mid 2003 ePyMOL Pro (EasyPyMOL, professional version, win32 only) Planned for mid 2003 axPyMOL (PyMOL inside of an ActiveX Control) Working prototype partially completed wxPyMOL (PyMOL inside of a wxPython Widget) Working prototype near completion. MacPyMOL (fully Aqua-based native version of PyMOL) Planned for late 2003 tkPyMOL (PyMOL inside of a Tcl/Tk TOGL widget) Planned for late 2003. qtPyMOL (PyMOL inside of a Qt/PyQt Widget) Planned late 2003 or 2004. perlMOL (PyMOL wrapped into a Perl module) Under consideration. jPyMOL (PyMOL wrapped inside a Java class as an external C module) Under consideration. External GUIs for glutPyMOL Default PyMOL Tcl/Tk GUI Deployed -- the current standard, in use globally. Tcl/Tk GUI for GAMESS-UK (CCP1) In development, under direction of Paul Sherwood. Stanford Java Teaching GUI (iRoom, etc.) In development by team of Stanford students. UT Southwestern Bioinformatics Project In development, under direction of Rama Ragnanathan. PHENIX In development, under direction of Paul Adams. OpenGL Core Changes planned * Add support for HKEY_USERS entries into PyMOLWin * IO routine for a generic volume data object (to supplement bricks and maps) * Real Edit Menu in Tk (with normal cut/paste, etc) * support anisotropic B-factor renditions (ellipsoids) * support MOL2 and multi-MOL2 file formats * add an interactive tutorial * finish abstracting GLUT away from PyMOL * Solid clipped spheres and surfaces (how?) * Completely black/opaque underside of surfaces * Finish 3D label support * Enable specific xyz positioning of labels (w/ mouse) * Cutting of images to the MS Window's clipboard for easy pasting into Powerpoint * clean up return values in the API and qualify exceptions. Include the source module name in messages, and provide proper feedback conditionals * add thorough test suite * matrix-based object translation and rotation * place feedback conditionals around all output. * create alter_state_atom command (combine PAlter and PAlterState into one function) Changes Under Consideration NOTE: Some of these are mutually exclusive, and many of them will never be carried out -- they are listed here so that we don't forget about them and so that you can see ways in which core PyMOL might evolve. * Allow multiple, parallel transformation matrices for each object * Create a Rasmol translator in Python * Support mapping of additional dimensions into volume data sets * "Fragment" wizard, tied into the fragments subsystem. * CTRL and CTRL/SHIFT numbers should add aromatic and aliphatic ring systems in the builder * support reading and writing of XPLOR PSF/PDB files to enable direct use of NAMD with PyMOL. Note that this will require integration of basic force-field structures into PyMOL...not a lightweight task, but something I think should be done in a general way to facilitate use of PyMOL as a molecular modeling tool... * support direct reading of DCD, and/or Gromacs trajectory files * fold MMTK into the main PyMOL distribution, and merge the two programs in a way which allow the user to "see" into MMTK's internal data structures using PyMOL while calculations are being performed. * create a VRML->CGO converter so that VRML can be displayed inside of PyMOL * create a VRML writer to facilitate export of PyMOL geometries. * support CML via some "swallowable" python XML parser * make PyMOL a compliant extension for the Chimera environment * statistics module, applicable to maps Main Goals for 1.0 Release * MOL2 and CML file formats * Generalized volumetric rendering: (1) mesh (2) solid (3) colormaps * Integrated tutorial/demonstration system * Fully consistent API (defined and correct return values) Current Bugs to Fix * superposition system fails with degenerate sets (planer systems, etc). sometimes it just fails period