Opened 3 days ago
Last modified 6 hours ago
#19448 accepted task
Supported coordinate set looping
| Reported by: | Tony Schaefer | Owned by: | Eric Pettersen |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | MD/Ensemble Analysis | Version: | |
| Keywords: | Cc: | Tom Goddard | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: Windows-10-10.0.19045
ChimeraX Version: 1.11rc202511271917 (2025-11-27 19:17:23 UTC)
Description
Just wondering if there's an intended way to do something. I have a tool, and I want to user to be able to click an "animate" button, which will then cause ChimeraX to infinitely loop through the coordinate sets of a structure. This is for animating normal vibrational modes. I was able to this do in previous versions of ChimeraX (e.g. 1.6.1, not sure when it changed).
The way I did this previously was basically
from chimerax.std_commands.coordset_gui import CoordinateSetSlider
```
...
<code to figure out coordinates from selected normal mode and other settings>
...
slider = CoordinateSetSlider(
session,
model,
movie_framerate=anim_fps,
pause_frames=pause_frames,
)
slider.play_cb()
```
Looking through the code for Slider again, and I think `slider.play()` might be more appropriate. But what this is doing in the current version of ChimeraX, it's just opening the coordset slider gui. It does not cause the coordsets to start playing (even with `slider.play()` instead). Is there any intended way to do basically "coordset #model loop forever"?
Log:
> cd C:\Users\normn/Desktop
Current working directory is: C:\Users\normn\Desktop
> graphics selection width 4
UCSF ChimeraX version: 1.11rc202511271917 (2025-11-27)
© 2016-2025 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
Successfully installed 'SEQCROW==1.9.4'
Found existing installation: SEQCROW 1.9.4
Uninstalling SEQCROW-1.9.4:
Successfully uninstalled SEQCROW-1.9.4
> toolshed install
> C:\Users\normn\Documents\GitHub\SEQCROW\dist\SEQCROW-1.9.4-py3-none-any.whl
Installed SEQCROW (1.9.4)
> open C:\Users\normn\Downloads\A.log format log
Summary of feedback from opening C:\Users\normn\Downloads\A.log
---
notes | A.log has 1 imaginary harmonic vibrational mode
65.50i
Opened A.log as a Gaussian output file
> ui tool show "Visualize Normal Modes"
> coordset #1 bounce true
> close
> open C:\Users\normn\Downloads\A.log format log
Summary of feedback from opening C:\Users\normn\Downloads\A.log
---
notes | A.log has 1 imaginary harmonic vibrational mode
65.50i
Opened A.log as a Gaussian output file
OpenGL version: 3.3.0 Core Profile Context 25.11.1.251031
OpenGL renderer: AMD Radeon RX 7900 XT
OpenGL vendor: ATI Technologies Inc.
Python: 3.11.9
Locale: en_US.cp65001
Qt version: PyQt6 6.9.1, Qt 6.9.0
Qt runtime version: 6.9.2
Qt platform: windows
Manufacturer: To Be Filled By O.E.M.
Model: To Be Filled By O.E.M.
OS: Microsoft Windows 10 Home (Build 19045)
Memory: 34,281,000,960
MaxProcessMemory: 137,438,953,344
CPU: 16 AMD Ryzen 7 5700X3D 8-Core Processor
OSLanguage: en-US
Installed Packages:
aiohappyeyeballs: 2.6.1
aiohttp: 3.13.1
aiosignal: 1.4.0
alabaster: 1.0.0
annotated-types: 0.7.0
anyio: 4.11.0
appdirs: 1.4.4
asttokens: 3.0.1
attrs: 25.4.0
babel: 2.17.0
beautifulsoup4: 4.13.5
blockdiag: 3.0.0
blosc2: 3.11.1
build: 1.3.0
certifi: 2025.11.12
cftime: 1.6.5
charset-normalizer: 3.4.4
ChimeraX-AddCharge: 1.5.20
ChimeraX-AddH: 2.2.8
ChimeraX-AlignmentAlgorithms: 2.0.2
ChimeraX-AlignmentHdrs: 3.6.1
ChimeraX-AlignmentMatrices: 2.1
ChimeraX-Alignments: 3.1.1
ChimeraX-AlphaFold: 1.0.1
ChimeraX-AltlocExplorer: 1.2
ChimeraX-AmberInfo: 1.0
ChimeraX-Animations: 1.0
ChimeraX-Aniso: 1.3.2
ChimeraX-Arrays: 1.1
ChimeraX-Atomic: 1.61.4
ChimeraX-AtomicLibrary: 14.2.1
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.4
ChimeraX-BasicActions: 1.1.3
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 3.0.0
ChimeraX-Boltz: 1.1
ChimeraX-BondRot: 2.0.4
ChimeraX-BugReporter: 1.0.2
ChimeraX-BuildStructure: 2.13.1
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.6.0
ChimeraX-ButtonPanel: 1.0.1
ChimeraX-CageBuilder: 1.0.1
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.4
ChimeraX-ChangeChains: 1.1
ChimeraX-CheckWaters: 1.5
ChimeraX-ChemGroup: 2.0.2
ChimeraX-Clashes: 2.3
ChimeraX-ColorActions: 1.0.5
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.8
ChimeraX-CommandLine: 1.3.0
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0.1
ChimeraX-Core: 1.11rc202511271917
ChimeraX-CoreFormats: 1.2
ChimeraX-coulombic: 1.4.5
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0.1
ChimeraX-DataFormats: 1.2.4
ChimeraX-Dicom: 1.2.7
ChimeraX-DistMonitor: 1.4.2
ChimeraX-DockPrep: 1.1.4
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ESMFold: 1.0
ChimeraX-FileHistory: 1.0.1
ChimeraX-FunctionKey: 1.0.1
ChimeraX-Geometry: 1.3
ChimeraX-gltf: 1.0
ChimeraX-Graphics: 1.4.1
ChimeraX-Hbonds: 2.5.3
ChimeraX-Help: 1.3
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.1
ChimeraX-ImageFormats: 1.2
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.4
ChimeraX-ItemsInspection: 1.0.1
ChimeraX-IUPAC: 1.0
ChimeraX-KVFinder: 1.7.2
ChimeraX-Label: 1.2
ChimeraX-ListInfo: 1.2.2
ChimeraX-Log: 1.2.2
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.9.2
ChimeraX-Map: 1.3
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0.1
ChimeraX-MapFilter: 2.0.1
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.1.1
ChimeraX-Markers: 1.0.1
ChimeraX-Mask: 1.0.2
ChimeraX-MatchMaker: 2.2.2
ChimeraX-MCopy: 1.0
ChimeraX-MCPServer: 0.1.0
ChimeraX-MDcrds: 2.17.2
ChimeraX-MedicalToolbar: 1.1
ChimeraX-Meeting: 1.0.1
ChimeraX-Minimize: 1.3.2
ChimeraX-MLP: 1.1.1
ChimeraX-mmCIF: 2.16
ChimeraX-MMTF: 2.2
ChimeraX-ModelArchive: 1.0
ChimeraX-Modeller: 1.5.22
ChimeraX-ModelPanel: 1.6
ChimeraX-ModelSeries: 1.0.1
ChimeraX-Mol2: 2.0.3
ChimeraX-Mole: 1.0
ChimeraX-Morph: 1.0.2
ChimeraX-MouseModes: 1.2
ChimeraX-Movie: 1.0.1
ChimeraX-MutationScores: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nifti: 1.2
ChimeraX-NMRSTAR: 1.0.2
ChimeraX-NRRD: 1.2
ChimeraX-Nucleotides: 2.0.3
ChimeraX-OpenCommand: 1.15.2
ChimeraX-OrthoPick: 1.0.1
ChimeraX-PDB: 2.7.11
ChimeraX-PDBBio: 1.0.1
ChimeraX-PDBLibrary: 1.0.5
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0.1
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.1.4
ChimeraX-ProfileGrids: 1.4.1
ChimeraX-PubChem: 2.2
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1.2
ChimeraX-RemoteControl: 1.0
ChimeraX-RenderByAttr: 1.6.5
ChimeraX-RenumberResidues: 1.1
ChimeraX-ResidueFit: 1.0.1
ChimeraX-RestServer: 1.3.3
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 4.0
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.5.2
ChimeraX-Scenes: 0.3.1
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0.3
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0.1
ChimeraX-Segmentations: 3.5.10
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.17.3
ChimeraX-Shape: 1.1
ChimeraX-Shell: 1.0.1
ChimeraX-Shortcuts: 1.2.1
ChimeraX-ShowSequences: 1.0.3
ChimeraX-SideView: 1.0.1
ChimeraX-SimilarStructures: 1.0.1
ChimeraX-Smiles: 2.1.2
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.19.1
ChimeraX-STL: 1.0.1
ChimeraX-Storm: 1.0
ChimeraX-StructMeasure: 1.2.1
ChimeraX-Struts: 1.0.1
ChimeraX-Surface: 1.0.1
ChimeraX-SwapAA: 2.0.1
ChimeraX-SwapRes: 2.5.2
ChimeraX-TapeMeasure: 1.0
ChimeraX-TaskManager: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.2.3
ChimeraX-ToolshedUtils: 1.2.4
ChimeraX-Topography: 1.0
ChimeraX-ToQuest: 1.0
ChimeraX-Tug: 1.0.1
ChimeraX-UI: 1.49.1
ChimeraX-Umap: 1.0
ChimeraX-uniprot: 2.3.2
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDock: 1.5.2
ChimeraX-VIPERdb: 1.0
ChimeraX-Vive: 1.1
ChimeraX-VolumeMenu: 1.0.1
ChimeraX-vrml: 1.0
ChimeraX-VTK: 1.0
ChimeraX-WavefrontOBJ: 1.0
ChimeraX-WebCam: 1.0.2
ChimeraX-WebServices: 1.1.5
ChimeraX-Zone: 1.0.1
click: 8.3.1
colorama: 0.4.6
comm: 0.2.3
comtypes: 1.4.11
contourpy: 1.3.3
coverage: 7.12.0
cxservices: 1.2.3
cycler: 0.12.1
Cython: 3.1.4
debugpy: 1.8.17
decorator: 5.2.1
docutils: 0.21.2
executing: 2.2.1
filelock: 3.19.1
fonttools: 4.60.1
frozenlist: 1.8.0
funcparserlib: 2.0.0a0
glfw: 2.10.0
grako: 3.16.5
h11: 0.16.0
h5py: 3.15.1
html2text: 2025.4.15
httpcore: 1.0.9
httpx: 0.28.1
httpx-sse: 0.4.3
idna: 3.11
ihm: 2.2
imagecodecs: 2024.6.1
imagesize: 1.4.1
iniconfig: 2.3.0
ipykernel: 6.30.1
ipython: 9.5.0
ipython_pygments_lexers: 1.1.1
ipywidgets: 8.1.8
jedi: 0.19.2
Jinja2: 3.1.6
jsonschema: 4.25.1
jsonschema-specifications: 2025.9.1
jupyter_client: 8.6.3
jupyter_core: 5.9.1
jupyterlab_widgets: 3.0.16
kiwisolver: 1.4.9
line_profiler: 5.0.0
lxml: 6.0.2
lz4: 4.3.2
Markdown: 3.8.2
MarkupSafe: 3.0.3
matplotlib: 3.10.7
matplotlib-inline: 0.2.1
mcp: 1.18.0
msgpack: 1.1.1
multidict: 6.7.0
ndindex: 1.10.1
nest-asyncio: 1.6.0
netCDF4: 1.6.5
networkx: 3.3
nibabel: 5.2.0
nptyping: 2.5.0
numexpr: 2.14.1
numpy: 1.26.4
nvidia-nvjitlink-cu12: 12.9.86
OpenMM: 8.2.0
OpenMM-CUDA-12: 8.2.0
openvr: 1.26.701
packaging: 25.0
ParmEd: 4.2.2
parso: 0.8.5
pep517: 0.13.1
pickleshare: 0.7.5
pillow: 11.3.0
pip: 25.2
pkginfo: 1.12.1.2
platformdirs: 4.5.0
pluggy: 1.6.0
prompt_toolkit: 3.0.52
propcache: 0.4.1
psutil: 7.0.0
pure_eval: 0.2.3
py-cpuinfo: 9.0.0
pybind11: 3.0.1
pycollada: 0.8
pydantic: 2.12.5
pydantic-settings: 2.12.0
pydantic_core: 2.41.5
pydicom: 2.4.4
Pygments: 2.18.0
pynmrstar: 3.3.6
pynrrd: 1.0.0
PyOpenGL: 3.1.10
PyOpenGL-accelerate: 3.1.10
pyopenxr: 1.1.4501
pyparsing: 3.2.5
pyproject_hooks: 1.2.0
PyQt6-commercial: 6.9.1
PyQt6-Qt6: 6.9.2
PyQt6-WebEngine-commercial: 6.9.0
PyQt6-WebEngine-Qt6: 6.9.2
PyQt6_sip: 13.10.2
pytest: 9.0.1
pytest-cov: 7.0.0
python-dateutil: 2.9.0.post0
python-dotenv: 1.2.1
python-multipart: 0.0.20
pytz: 2025.2
pywin32: 311
pyzmq: 27.1.0
qtconsole: 5.7.0
QtPy: 2.4.3
qtshim: 1.2
RandomWords: 0.4.0
referencing: 0.37.0
requests: 2.32.5
roman-numerals-py: 3.1.0
rpds-py: 0.29.0
scipy: 1.14.0
Send2Trash: 1.8.3
SEQCROW: 1.9.4
setuptools: 80.9.0
sfftk-rw: 0.8.1
six: 1.17.0
sniffio: 1.3.1
snowballstemmer: 3.0.1
sortedcontainers: 2.4.0
soupsieve: 2.8
Sphinx: 8.2.3
sphinx-autodoc-typehints: 3.2.0
sphinxcontrib-applehelp: 2.0.0
sphinxcontrib-blockdiag: 3.0.0
sphinxcontrib-devhelp: 2.0.0
sphinxcontrib-htmlhelp: 2.1.0
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 2.0.0
sphinxcontrib-serializinghtml: 2.0.0
sse-starlette: 3.0.3
stack-data: 0.6.3
starlette: 0.50.0
superqt: 0.7.6
tables: 3.10.2
tcia_utils: 1.5.1
tifffile: 2025.3.13
tinyarray: 1.2.5
tornado: 6.5.2
traitlets: 5.14.3
typing-inspection: 0.4.2
typing_extensions: 4.15.0
tzdata: 2025.2
urllib3: 2.5.0
uvicorn: 0.38.0
wcwidth: 0.2.14
webcolors: 24.11.1
wheel: 0.45.1
wheel-filename: 1.4.2
widgetsnbextension: 4.0.15
WMI: 1.5.1
yarl: 1.22.0
Change History (6)
comment:1 by , 11 hours ago
| Cc: | added |
|---|---|
| Component: | Unassigned → MD/Ensemble Analysis |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → accepted |
| Summary: | ChimeraX bug report submission → Supported coordinate set looping |
comment:2 by , 11 hours ago
| Type: | defect → task |
|---|
comment:3 by , 9 hours ago
comment:4 by , 9 hours ago
Hi Tony,
I'm not sure what's going on in your code, but if I open a structure with coordinate sets and then use ChimeraX's Python shell to find the coordinate set slider with:
slider = [tool for tool in session.tools if tool.class.name.contains("Slider")][0]
I can then call slider.play() and the coordinate set plays infinitely.
comment:5 by , 9 hours ago
Eric, I'm not sure either. Maybe the tool needs some setup time for some reason? I did test it with the shell to make sure silder.play() did what it should, but running it in the line after creating the slider isn't working for me. Tom, I will probably do something similar to this. Thanks for the suggestion. Best, Tony On Mon, Dec 1, 2025 at 2:43 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> wrote: > > > >
comment:6 by , 6 hours ago
Is the behavior any different if you put "session.ui.processEvents()" between the call creating the slider and the one playing it?
Note:
See TracTickets
for help on using tickets.
How about
and to stop the playback