Opened 3 weeks ago
Last modified 3 weeks ago
#19170 assigned defect
Unwanted clipping plane
| Reported by: | Owned by: | Tom Goddard | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Graphics | Version: | |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: Windows-10-10.0.26100
ChimeraX Version: 1.10.1 (2025-07-24 20:15:27 UTC)
Description
Follow up to issue #19064. I've now managed to reproduce the issue. I have a map and model loaded and then a build file showing cryoEM orientations. The BILD file is being clipped. Looking at the side view it looks like the camera has ended up inside the BILD sphere which may be why things are being cut off? Is this expected behaviour and I just need to move the camera (and if so how do I do that), or should this not be possible and represents a bug with how the camera operates?
Log:
> open "C:\Users\samuel.haysom\OneDrive - Nxera
> Pharma\Scripts\ChimeraX\ChimeraX_aliases.cxc"
> open "C:\Users\samuel.haysom\OneDrive - Nxera
> Pharma\Scripts\ChimeraX\python_commands\get_emdb_for_cif.py"
executed get_emdb_for_cif.py
> alias gtile tile; lighting soft
> alias untile ~tile; view initial
> alias s turn y 0.5 forever
> alias dinterface show ($1 | $2) & ($1 :< 4 & $2 :< 4); colour byhet; hide HC
> alias colourhet colour $1 $2; colour byhet
> alias step isolde stepto next
> alias bstep isolde stepto prev
> alias steps stop; isolde stepto next; wait 20; stop; turn y 0.5 forever
> alias bsteps stop; isolde stepto prev; wait 20; stop; turn y 0.5 forever
> alias dihedral select $1@CA,C | $2@N,CA; view sel
> alias colourWes colour $1/R #85D4E3; colour $1/E #FD6467; colour $1/A
> #F4B5BD; colour $1/B #D9D0D3; colour $1/G #AA9486; colour $1:LIG #FAD77B;
> colour byhet
> alias colourRainbow rainbow $1/R; colour $1/E #FD6467; colour $1/A #F4B5BD;
> colour $1/B #D9D0D3; colour $1/G #AA9486; colour $1:LIG #FAD77B; colour
> byhet
> alias colourBRAT colour $1/R #8ACE00; colour $1/A #8ADD1E; colour $1:LIG
> #B4DD1E; colour byhet
> alias colourMBRAT colour $1/R #8ACE00; colour $1/A #D4DD1E; colour $1:LIG
> #B4DD1E; colour byhet; set bgColor #8ADD1E
> alias binder_v rainbow $1; mmaker #2-end to #1$1; colour $2 pink; tile
> alias gflat lighting flat; graphics silhouettes false
> alias mapMesh transparency $1 70; volume $1 style mesh
> volume defaultvalues limitVoxelCount false voxelLimitForPlane
> 1000000000000000 voxelLimitForOpen 1000000000000000 saveSettings true
Saved volume settings
> alias cootmode set bgColor black; surface cap false; surface style solid;
> lighting flat; graphics silhouettes false; style stick; ~rib; color
> ##num_residues gold; color byhet ; disp; ~disp @H*; style ions ball; style
> solvent ball; size ballscale 0.2; size stickradius 0.07; transparency 70;
> cofr centerofview; clip near -10 far 10 position cofr; color ##~num_residues
> cornflower blue
> alias cootmode_mesh surface cap false; surface style mesh; lighting flat;
> graphics silhouettes false; style stick; ~rib; color ##num_residues gold;
> color byhet ; disp; ~disp @H*; style solvent ball; style ions ball; size
> ballscale 0.2; size stickradius 0.07; cofr centerofview; clip near -10 far
> 10 position cofr; color ##~num_residues #3d60ffff; transparency 50
> alias ca_and_sidechains ~rib $1; ~surf $1; ~disp $1; disp @CA&protein&$1;
> disp @P&nucleic&$1; style $1 stick; disp sidechain&$1; disp
> ~backbone&nucleic&$1; size stickradius 0.1; size pseudobondradius 0.1
> alias ca_trace ~rib $1; ~surf $1; ~disp $1; disp @CA&protein&$1; disp
> @P&nucleic&$1; style $1 stick; size stickradius 0.1; size pseudobondradius
> 0.1
> alias default_mol_display ~disp; rib; rainbow chain palette RdYlBu-5;
> lighting soft
> alias isolde_view lighting flat; graphics silhouettes false; style stick;
> show targ c; rainbow chain palette accent; color byhet; disp; ~disp @H*;
> style ions ball; style solvent ball; size ballscale 0.2; size stickradius
> 0.1; transparency 70; cofr centerofview; clip near -10 far 10 position cofr;
> color ##~num_residues cornflower blue; cartoon style width 1; cartoon
> suppress false
> alias mclip ui mousemode right clip
> alias maa ui mousemode right swapaa
> alias mmove ui mousemode right "translate selected models"
> lighting soft
> style stick
Changed 0 atom styles
> camera ortho
executed ChimeraX_aliases.cxc
UCSF ChimeraX version: 1.10.1 (2025-07-24)
© 2016-2025 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open
> C:/Users/samuel.haysom/Downloads/cryosparc_P90_J45_006_volume_map_sharp.mrc
Opened cryosparc_P90_J45_006_volume_map_sharp.mrc as #1, grid size
256,256,256, pixel 1.2, shown at level 0.0452, step 1, values float32
> volume #1 rmsLevel 9
> volume #1 level 0.1894
> volume #1 level 0.09224
> open
> C:/Users/samuel.haysom/Downloads/cryosparc_P90_J28_009_volume_map_sharp.mrc
Opened cryosparc_P90_J28_009_volume_map_sharp.mrc as #2, grid size
256,256,256, pixel 1.2, shown at level 0.0358, step 1, values float32
> volume #2 rmsLevel 9
> volume #2 level 0.1428
> open
> C:/Users/samuel.haysom/Downloads/J28_viewing_direction_distribution_iteration_009.bild
Opened BILD data containing 3072 objects
> mclip
> close
> open emdb:45764
Summary of feedback from opening 45764 fetched from emdb
---
notes | Fetching compressed map 45764 from ftp://ftp.ebi.ac.uk/pub/databases/emdb/structures/EMD-45764/map/emd_45764.map.gz
Fetching map header 45764 from
ftp://ftp.ebi.ac.uk/pub/databases/emdb/structures/EMD-45764/header/emd-45764.xml
Opened emdb 45764 as #1, grid size 256,256,256, pixel 1.2, shown at level
0.164, step 1, values float32, fit PDB 9cnw
> volume #1 level 0.1568
> volume #1 level 0.2577
> open
> C:/Users/samuel.haysom/Downloads/J28_viewing_direction_distribution_iteration_009.bild
Opened BILD data containing 3072 objects
> close #2
> open
> C:/Users/samuel.haysom/Downloads/J28_viewing_direction_distribution_iteration_009.bild
Opened BILD data containing 3072 objects
> ui tool show "Side View"
> hide #2 models
> volume #1 level 0.2288
> volume #1 level 0.1496
> open 9cnw
Summary of feedback from opening 9cnw fetched from pdb
---
note | Fetching compressed mmCIF 9cnw from http://files.rcsb.org/download/9cnw.cif
9cnw title:
CryoEM structure of the APO-BAM complex in DDM detergent [more info...]
Chain information for 9cnw #3
---
Chain | Description | UniProt
A | Outer membrane protein assembly factor BamA | BAMA_ECOLI 1-810
B | Outer membrane protein assembly factor BamB | BAMB_ECOLI 1-392
C | Outer membrane protein assembly factor BamC | W8SZY2_ECOLX 1-344
D | Outer membrane protein assembly factor BamD | C3SYV7_ECOLX 1-245
E | Outer membrane protein assembly factor BamE | A0A366UU94_ECOLX 1-113
> hide #3 target acs
> show #3 target c
> style #3 stick
Changed 11647 atom styles
> show (#3 & ligand) :< 4
> hide #3 & H
> colourWes #3
> isolde_view
Changed 11647 atom styles
Changed 0 atom styles
[Repeated 1 time(s)]Changed 1 ball scales
Changed 11900 bond radii
> color ##~num_residues cornflower blue; cartoon style width 1; cartoon
> suppress false
Expected a color or one of 'byatom', 'bychain', 'byelement', 'byhetero',
'byidentity', 'bymodel', 'bynucleotide', 'bypolymer', 'fromatoms',
'fromcartoons', 'fromribbons', or 'random' or a keyword
> show #2 models
> save C:/Users/samuel.haysom/Downloads/clipping_bug_report.cxs
OpenGL version: 3.3.0 NVIDIA 571.96
OpenGL renderer: NVIDIA RTX 500 Ada Generation Laptop GPU/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Python: 3.11.4
Locale: en_GB.cp1252
Qt version: PyQt6 6.8.1, Qt 6.8.2
Qt runtime version: 6.8.2
Qt platform: windows
Manufacturer: Dell Inc.
Model: Precision 3590
OS: Microsoft Windows 11 Enterprise (Build 26100)
Memory: 33,777,467,392
MaxProcessMemory: 137,438,953,344
CPU: 22 Intel(R) Core(TM) Ultra 7 155H
OSLanguage: en-GB
Installed Packages:
alabaster: 1.0.0
appdirs: 1.4.4
asttokens: 3.0.0
babel: 2.17.0
beautifulsoup4: 4.13.3
blockdiag: 3.0.0
blosc2: 3.6.1
build: 1.2.2.post1
certifi: 2025.7.14
cftime: 1.6.4.post1
charset-normalizer: 3.4.2
ChimeraX-AddCharge: 1.5.19
ChimeraX-AddH: 2.2.7
ChimeraX-AlignmentAlgorithms: 2.0.2
ChimeraX-AlignmentHdrs: 3.6.1
ChimeraX-AlignmentMatrices: 2.1
ChimeraX-Alignments: 2.20.2
ChimeraX-AlphaFold: 1.0.1
ChimeraX-AltlocExplorer: 1.1.2
ChimeraX-AmberInfo: 1.0
ChimeraX-Aniso: 1.1.4
ChimeraX-Arrays: 1.1
ChimeraX-Atomic: 1.60.7
ChimeraX-AtomicLibrary: 14.1.19
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.0
ChimeraX-BondRot: 2.0.4
ChimeraX-BugReporter: 1.0.2
ChimeraX-BuildStructure: 2.13.1
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.5.1
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-Clipper: 0.25.2
ChimeraX-ColorActions: 1.0.5
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.8
ChimeraX-CommandLine: 1.3
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0.1
ChimeraX-Core: 1.10.1
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.1
ChimeraX-Help: 1.3
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.1
ChimeraX-ImageFormats: 1.2
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.3
ChimeraX-ISOLDE: 1.10.1
ChimeraX-ItemsInspection: 1.0.1
ChimeraX-IUPAC: 1.0
ChimeraX-KVFinder: 1.6.2
ChimeraX-Label: 1.1.14
ChimeraX-ListInfo: 1.2.2
ChimeraX-Log: 1.2
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.9.1
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-MDcrds: 2.10.1
ChimeraX-MedicalToolbar: 1.1
ChimeraX-Meeting: 1.0.1
ChimeraX-MLP: 1.1.1
ChimeraX-mmCIF: 2.16
ChimeraX-MMTF: 2.2
ChimeraX-ModelArchive: 1.0
ChimeraX-Modeller: 1.5.19
ChimeraX-ModelPanel: 1.5.1
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
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.14.1
ChimeraX-OpenCommands: 1.2
ChimeraX-OrthoPick: 1.0.1
ChimeraX-PDB: 2.7.10
ChimeraX-PDBBio: 1.0.1
ChimeraX-PDBLibrary: 1.0.4
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0.1
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.1.3
ChimeraX-ProfileGrids: 1.1.3
ChimeraX-PubChem: 2.2
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1.2
ChimeraX-RemoteControl: 1.0
ChimeraX-RenderByAttr: 1.6.3
ChimeraX-RenumberResidues: 1.1
ChimeraX-ResidueFit: 1.0.1
ChimeraX-RestServer: 1.3.1
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 4.0
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.5.1
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0.3
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0.1
ChimeraX-Segmentations: 3.5.7
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.17.1
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.45.2
ChimeraX-Umap: 1.0
ChimeraX-uniprot: 2.3.1
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDockX: 1.4.4
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
colorama: 0.4.6
comm: 0.2.2
comtypes: 1.4.10
contourpy: 1.3.2
coverage: 7.10.0
cxservices: 1.2.3
cycler: 0.12.1
Cython: 3.0.12
debugpy: 1.8.15
decorator: 5.2.1
docutils: 0.21.2
executing: 2.2.0
filelock: 3.18.0
fonttools: 4.59.0
funcparserlib: 2.0.0a0
glfw: 2.9.0
grako: 3.16.5
h5py: 3.14.0
html2text: 2024.2.26
idna: 3.10
ihm: 2.2
imagecodecs: 2024.6.1
imagesize: 1.4.1
iniconfig: 2.1.0
ipykernel: 6.29.5
ipython: 8.26.0
ipywidgets: 8.1.7
jedi: 0.19.1
Jinja2: 3.1.6
jupyter_client: 8.6.3
jupyter_core: 5.8.1
jupyterlab_widgets: 3.0.15
kiwisolver: 1.4.8
line_profiler: 4.2.0
lxml: 5.3.1
lz4: 4.3.2
MarkupSafe: 3.0.2
matplotlib: 3.10.1
matplotlib-inline: 0.1.7
msgpack: 1.1.0
ndindex: 1.10.0
nest-asyncio: 1.6.0
netCDF4: 1.6.5
networkx: 3.3
nibabel: 5.2.0
nptyping: 2.5.0
numexpr: 2.11.0
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: 24.2
ParmEd: 4.2.2
parso: 0.8.4
pep517: 0.13.1
pickleshare: 0.7.5
pillow: 10.4.0
pip: 25.0.1
pkginfo: 1.11.1
platformdirs: 4.3.8
pluggy: 1.6.0
prompt_toolkit: 3.0.51
psutil: 7.0.0
pure_eval: 0.2.3
py-cpuinfo: 9.0.0
pycollada: 0.8
pydicom: 2.4.4
Pygments: 2.18.0
pynmrstar: 3.3.5
pynrrd: 1.0.0
PyOpenGL: 3.1.9
PyOpenGL-accelerate: 3.1.9
pyopenxr: 1.1.4501
pyparsing: 3.2.3
pyproject_hooks: 1.2.0
PyQt6-commercial: 6.8.1
PyQt6-Qt6: 6.8.2
PyQt6-WebEngine-commercial: 6.8.0
PyQt6-WebEngine-Qt6: 6.8.2
PyQt6_sip: 13.10.0
pytest: 8.4.1
pytest-cov: 6.2.1
python-dateutil: 2.9.0.post0
pytz: 2025.2
pywin32: 310
pyzmq: 27.0.0
qtconsole: 5.5.2
QtPy: 2.4.3
qtshim: 1.1
RandomWords: 0.4.0
requests: 2.32.3
roman-numerals-py: 3.1.0
scipy: 1.14.0
setuptools: 78.1.0
sfftk-rw: 0.8.1
six: 1.16.0
snowballstemmer: 3.0.1
sortedcontainers: 2.4.0
soupsieve: 2.7
Sphinx: 8.2.3
sphinx-autodoc-typehints: 3.1.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
stack-data: 0.6.3
superqt: 0.7.1
tables: 3.10.2
tcia_utils: 1.5.1
tifffile: 2025.3.13
tinyarray: 1.2.4
tornado: 6.5.1
traitlets: 5.14.3
typing_extensions: 4.14.1
tzdata: 2025.2
urllib3: 2.5.0
wcwidth: 0.2.13
webcolors: 24.11.1
wheel: 0.45.1
wheel-filename: 1.4.2
widgetsnbextension: 4.0.14
WMI: 1.5.1
File attachment: clipping_bug_report.zip
Attachments (1)
Change History (4)
by , 3 weeks ago
| Attachment: | clipping_bug_report.zip added |
|---|
comment:1 by , 3 weeks ago
| Component: | Unassigned → Graphics |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Unwanted clipping plane |
Reported by Sam Haysom. Follow up to #19064
comment:2 by , 3 weeks ago
From your screen capture image the problem is that the camera position indicated by the small yellow square is between the near and far clip planes (vertical yellow lines). That should not be possible and is a bug. It got positioned there by the isolde_view command which used the clip command to set the clip plane positions. In the normal perspective camera the eye position is moved behind the near clip plane. But apparently in orthoscopic camera view the camera position is not adjusted. Since the camera is in the middle of your cryoEM orientations models (BILD) it only sees what is in front of the camera and everything behind the camera (to the left of the yellow square in the side view) is not shown in the main graphics.
I'll take a look what code makes sure the camera position is moved back behind a newly set clip plane and see if I can make the orthoscopic camera do that like the perspective camera.
To fix that in your current ChimeraX you would use the command "view" which will reset the clip planes and move the camera far enough back to see all the displayed models.
comment:3 by , 3 weeks ago
My previous comment was partly wrong. With the perspective camera ChimeraX still allows the camera to be between the near and far clip planes. But with the perspective camera if you zoom out it moves the camera backwards. With the orthoscopic camera moving the camera backwards does nothing (since the image is simply projected parallel to the view direction so it doesn't change no matter how far back the camera is). The zooming is done by changing the width of the orthoscopic camera view. So with the orthoscopic camera it is harder to fix the problem because there is not an obvious way to move the camera backwards.
Added by email2trac