108 Commits

Author SHA1 Message Date
Jarrett Johnson
e6d9eb9c4b Port over Qt6 changes for APBS dialog
Fixes #469
2025-09-26 10:57:23 -04:00
Jarrett Johnson
0ad1475636 Drop high Bezier shader glsl requirement 2024-05-20 19:03:27 -04:00
Jarrett Johnson
246e0a4c2d Nucleic Acid builder and general improvements (#354)
Fixes #102 #351 

Migrating support from Incentive for the following:

- Nucleic Acid builder in the Builder panel (Jarrett Johnson @JarrettSJohnson)
- `fnab` command to build nucleic acid chains by sequence (Jarrett Johnson @JarrettSJohnson)
- Improvements to nucleic acid building from native structures (Thomas Stewart @TstewDev)
- highlight attachment points for improved usability (Thomas Holder @speleo3)

Co-authored-by: Jarrett Johnson <jarrett.johnson@schrodinger.com>
Co-authored-by: Thomas Stewart <thomas.stewart@schrodinger.com>
Co-authored-by: Thomas Holder <thomas@thomas-holder.de>
2024-04-08 09:55:18 -04:00
Jarrett Johnson
c33c916e7c APBS electrostatics plugin (#344) 2024-03-15 14:08:57 -04:00
Thomas Stewart
6755a1840c PYMOL-4640: Fix for ANGLE error 2024-01-30 16:59:31 -05:00
Jarrett Johnson
c099c3526e PYMOL-4021-23 Tessellation Shader & Bezier CGO 2024-01-30 15:16:24 -05:00
Anton Butsev
442d7ca981 View/color salt-bridge interactions differently from hydrogen bonds (PYMOL-3846) 2024-01-30 12:57:54 -05:00
Anton Butsev
ce1fb16bde halogen-bond detection and display (PYMOL-3466) 2024-01-30 12:46:06 -05:00
Jarrett Johnson
d695e12594 Fix TypeError in Lighting plugin
Fixes #264
2022-10-09 16:07:57 -04:00
Thomas Stewart
214df25ad0 PYMOL-3793: Fix for Lighting Plugin on Mac 2022-03-08 15:35:06 -05:00
Thomas Holder
79e8b086ce PYMOL-3509 Fix fog for volume 2020-10-05 11:47:05 +02:00
Thomas Holder
d020c80214 PYMOL-1538 Picking support for ObjectCGO
No nice API available yet. Pick event can be captured like this:

>>> cmd.button("single_left", "none", "clik")
>>> cmd.set_key("F1", lambda: print(_cmd.get_click_string(cmd._COb)))

(press "F1" after a pick)

- Add pick colors to CGO demo (for testing/demo)
2020-08-06 13:03:06 +02:00
Thomas Holder
38900aa4bd Remove sphere_mode=5 (ARB sphere shader) 2020-06-22 11:17:28 +02:00
Thomas Holder
a188383b2b refactor color picking, add cPickableThrough
cPickableThrough for transparency_picking_mode (spheres only so far)
2019-11-27 14:44:28 +01:00
Thomas Holder
276640cd29 Port EPAM's VR fork to PyMOL 2.4
Porting the essential parts of EPAM System's "openvr" branch to the
master branch.

Original authors:
Natalia Smirnova, EPAM Systems, Inc.
Pavel Smirnov, EPAM Systems, Inc.

Original fork:
https://github.com/epam/pymol-open-source/tree/openvr

Adjustments:
- Make feature optional with "--openvr" compile option
- Python 3 support
- Remove C++11 workarounds
- Exclude build system changes

Co-authored-by: Natalia Smirnova <Natalia_Smirnova@epam.com>
Co-authored-by: Pavel Smirnov <pavel_smirnov1@epam.com>
2019-11-11 00:50:01 -08:00
Gabriel Marques
b5eb102810 Fix GLES shaders 2019-06-18 17:06:28 +02:00
Thomas Holder
5b14ccc943 PYMOL-3191 fix Image::interlace() and ScenePNG 2019-01-21 10:08:23 +01:00
Jarrett Johnson
7960f0db30 PYMOL-3102 pymol::Image 2018-12-10 21:15:17 +01:00
Jarrett Johnson
b13ddef6ae PYMOL-278 New wizard: nucmutagenesis 2018-07-24 07:10:45 +02:00
Thomas Holder
f21c61958e Graphics refactoring, ported from Incentive PyMOL 2018-07-03 20:19:12 +02:00
Thomas Holder
6bcd4ce7a3 PyQt interface (2.1.0) 2018-03-13 15:32:34 +00:00
Thomas Holder
889cbb280f auto library mode
* 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-12-05 18:37:16 +00:00
Thomas Holder
124dbbbaf0 pse_export_version support with Python 3 2017-10-23 11:40:45 +00:00
Thomas Holder
c2731f62ef molfile plugins, fetch URLs, ...
* 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-14 19:07:39 +00:00
Thomas Holder
999ceebbe8 1.8.3.2
* 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
2016-08-30 19:14:39 +00:00
Thomas Holder
22b71c2fa6 1.8.0.0 2015-11-18 20:05:17 +00:00
Thomas Holder
680f313001 cartoon_trace_atoms for sheets, fast connect_mode=4 2015-08-31 02:08:17 +00:00
Thomas Holder
22fdfe3e81 fixed roving detail/density demos, removed unused code
* fixed roving density and roving detail demos (regression from last commit)
  http://sourceforge.net/p/pymol/bugs/156
* fix "narrowing conversion" C++ errors
* removed unused code and preprocessors:
  _PYMOL_GL_DRAWARRAYS
  _PYMOL_GL_CALLLISTS
  _PYMOL_CGO_DRAWARRAYS
  _PYMOL_CGO_DRAWBUFFERS
  OPENGL_ES_1 
  OPENGL_ES_2
* removed deprecated "register" specifier
2015-03-13 22:19:47 +00:00
Thomas Holder
9bb5c2d971 1.7.5.0 (unstable/experimental)
* 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
2015-03-12 17:44:19 +00:00
Thomas Holder
19e6d3b17a 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
* remove obsolete contrib/sglite and contrib/modules
2014-09-05 14:27:50 +00:00
Thomas Holder
2b1677c35d 1.7.2.1 (volume carving)
* 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"
2014-08-15 15:05:48 +00:00
Thomas Holder
21c6bc5306 1.7.1.9 (release candidate)
* Improve ObjectVolume rendering latency
* Improve label edge pixel rounding
* alter_state auto completion
* improve "Label" wizard
* re-implemented ObjectMoleculeSetDiscrete
2014-07-31 19:49:56 +00:00
Thomas Holder
9e2778d73c fix label depth, etc.
* 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-13 16:23:18 +00:00
Thomas Holder
623a7b1231 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 (matrix_copy on map)
2014-03-12 13:29:38 +00:00
Thomas Holder
1cb98e4f57 fix broken label scaling on Linux
- label scaling became distorted on window resizing
- minor readability update in label.vs (no change)
2014-03-10 15:50:16 +00:00
Thomas Holder
fad02f13af update splash, minor fixes, 1.7.0.4 2014-03-09 21:46:02 +00:00
Thomas Holder
9472c15a51 bugfix: labels missing on some ATI cards
some ATI cards require the first shader attribute at position 0 to
be bound.  The problem was that the attr_pickcolor attribute was
automatically bound to position 0, and was not always being used, which
caused the ATI card to fail (not exactly sure why, but binding position 0
fixes the problem)

binding also did not always work in the open-source version, since ATI
assigns the attribute positions in alphabetical order, changing the
name of the optional attr_pickcolor attribute seems to fix the labels
on these cards
2014-02-28 03:48:19 +00:00
Thomas Holder
4e10fb9ee2 sf #143 and other fixes
* 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-27 00:30:01 +00:00
Thomas Holder
3ff2f36654 fix label shader fog blending 2013-11-21 23:53:19 +00:00
Thomas Holder
2f38b849c0 * 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-11-11 20:40:57 +00:00
Thomas Holder
f2177bdf62 fix splash.png sRGB profile, https://sourceforge.net/p/pymol/bugs/136/ 2013-10-31 18:58:00 +00:00
Thomas Holder
df97fcab5a * 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-05-28 15:40:34 +00:00
Thomas Holder
810e99f6d8 pymol 1.6alpha2
* 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-04-15 12:58:10 +00:00
Thomas Holder
67028fe2bc version bump: pymol 1.6
* 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-03-22 21:48:17 +00:00
Jason Vertrees
b64d0c2ccc standard splash 2012-04-06 16:50:31 +00:00
Jason Vertrees
4deb761c5e splash; intel video fixes 2012-04-05 21:28:24 +00:00
Jason Vertrees
be5a680ffe added a few files left out of v1.5.0.1 2012-02-13 20:55:26 +00:00
Jason Vertrees
a5f943ee50 pymol-v1.5.0.1 2012-02-13 19:02:02 +00:00
Jason Vertrees
34d73b81cf fixed volume shaders 2011-06-09 19:58:09 +00:00
Jason Vertrees
c07854191e stick coloring; file save mol; rep shading/fog 2011-06-08 21:00:30 +00:00