Opened 20 months ago

Closed 20 months ago

Last modified 20 months ago

#14746 closed defect (not a bug)

How "name" works

Reported by: olibclarke@… Owned by: pett
Priority: normal Milestone:
Component: Command Line Version:
Keywords: Cc: Elaine Meng
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        macOS-14.3.1-arm64-arm-64bit
ChimeraX Version: 1.8.dev202403091657 (2024-03-09 16:57:27 UTC)
Description
More of a feature request than a bug: 

Name does not work with "sel" as spec. Namesel in Chimera was useful to save a complicated and sometimes graphically selected set of atoms for later reference ("namesel my_selection sel"). "Name" in ChimeraX serves a similar function, but only seems to take an explicit atom-spec - if I try a name command with "sel" as the spec, it does not return anything later. It would be convenient if it did.

Cheers
Oli

Log:
> runscript /Users/oc2188/Dropbox/chimera_startup/chimerax_startup.py

> camera ortho

> cofr centerOfView

> mousemode alt rightMode "contour level"

> mousemode rightMode clip

> mousemode alt leftMode "translate selected models"

> mousemode shift leftMode "rotate selected models"

> mousemode alt control leftMode "pick blobs"

> alias cofron cofr centerofview showpivot 7,0.25

> alias cofroff cofr centerofview showpivot false

> alias symclip cofr centerofview; clip near -$1 far $1 position cofr

> 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 project_map set bgColor black; lighting depthcue false; volume $1
> style image sdlevel 0,0 color white sdlevel 100,0.15 color white
> projectionmode 3d maximumIntensityProjection false dimTransparentVoxels
> false btcorrection true showOutlineBox false linearinterpolation true

> 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 map_sphere_15 volume unzone ##~num_residues; sel; close #10000; marker
> #10000 position cofr; sel ~sel; volume zone ##~num_residues nearAtoms sel
> minimalBounds true range 15; close #10000

> alias map_unsphere volume unzone ##~num_residues

> alias default_mol_display ~disp; rib; rainbow chain palette RdYlBu-5;
> lighting soft

> alias hidemaps surface unzone ##~num_residues; sel; close #10000; marker
> #10000 position cofr; sel ~sel; surface zone ##~num_residues nearAtoms sel
> distance 0; close #10000

> alias showmaps surface unzone ##~num_residues

> alias caps_off surface cap false

> alias caps_on surface cap true

> alias open_vseries "open browse vseries true"

> alias selbetween ks ri

> alias helix setattr $1 res is_helix true

> alias strand setattr $1 res is_strand true

> alias coil setattr $1 res is_strand false; setattr $1 res is_helix false

> alias rock_movie cofr showpivot false; movie record; rock y 30; wait 136;
> movie encode ~/Desktop/rock_movie.mp4; stop

> buttonpanel Shortcuts rows 3 columns 5

> buttonpanel Shortcuts add Vol_Viewer command "tool show 'Volume Viewer'"

> buttonpanel Shortcuts add Model_Panel command "tool show Models"

> buttonpanel Shortcuts add Log command "tool show Log"

> buttonpanel Shortcuts add default_disp command default_mol_display

> buttonpanel Shortcuts add map_sphere command map_sphere_15

> buttonpanel Shortcuts add map_unsphere command map_unsphere

> buttonpanel Shortcuts add cofron command cofron

> buttonpanel Shortcuts add cofroff command cofroff

> buttonpanel Shortcuts add cootmode command cootmode

> buttonpanel Shortcuts add mark_cofr command "marker #20000 position cofr"

> buttonpanel Shortcuts add hidemaps command hidemaps

> buttonpanel Shortcuts add showmaps command showmaps

> buttonpanel Shortcuts add reset_mouse command "mousemode alt right contour ;
> mousemode right clip ; mousemode alt left 'translate selected models' ;
> mousemode shift left 'rotate selected models' ; mousemode alt control left
> 'pick blobs'; help https://github.com/olibclarke/chimerax-
> trimmings/blob/main/default_mousemodes.md"

> buttonpanel Shortcuts add previous_model command prevmodel

> buttonpanel Shortcuts add next_model command nextmodel

> volume defaultvalues limitVoxelCount false voxelLimitForPlane
> 1000000000000000 voxelLimitForOpen 1000000000000000 saveSettings true

Saved volume settings  
UCSF ChimeraX version: 1.8.dev202403091657 (2024-03-09)  
© 2016-2024 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 1bl8 format mmcif fromDatabase pdb

1bl8 title:  
Potassium channel (KCSA) from streptomyces lividans [more info...]  
  
Chain information for 1bl8 #1  
---  
Chain | Description | UniProt  
A B C D | PROTEIN (POTASSIUM CHANNEL PROTEIN) | KCSA_STRLI 23-119  
  
Non-standard residues in 1bl8 #1  
---  
K — potassium ion  
  

> marker #20000 position cofr

> ui mousemode right "translate selected models"

> select #20000/M:1@M

1 atom, 1 residue, 1 model selected  

> view matrix models #20000,1,0,0,0.76997,0,1,0,0.96001,0,0,1,-0.7072

> ui tool show "Side View"

> select clear

[Repeated 1 time(s)]

> select #20000/M:1@M

1 atom, 1 residue, 1 model selected  

> select clear

> select #20000/M:1@M

1 atom, 1 residue, 1 model selected  

> view matrix models #20000,1,0,0,2.6376,0,1,0,-0.52886,0,0,1,-1.9265

> view matrix models #20000,1,0,0,3.207,0,1,0,-1.0436,0,0,1,-2.433

> help mousemode

> view matrix models #20000,1,0,0,3.3695,0,1,0,-1.0304,0,0,1,-0.48329

Drag select of 1 atoms  

> select #20000/M:1@M

1 atom, 1 residue, 1 model selected  
Drag select of 1 atoms  

> view matrix models #20000,1,0,0,3.7692,0,1,0,-0.8104,0,0,1,-1.2713

> view matrix models #20000,1,0,0,5.3784,0,1,0,-2.3995,0,0,1,-0.26464

> help turn

> select clear

> turn y 90

[Repeated 3 time(s)]

> select #1/A:403@K

1 atom, 1 residue, 1 model selected  

> select add #1/A:401@K

2 atoms, 2 residues, 1 model selected  

> turn sel 90

[Repeated 2 time(s)]

> cofron

> select clear

> select #1/D:104

4 atoms, 3 bonds, 1 residue, 1 model selected  

> select clear

> select #1/A:401@K

1 atom, 1 residue, 1 model selected  

> select add #1/A:403@K

2 atoms, 2 residues, 1 model selected  

> namesel custom axis

Unknown command: namesel custom axis  

> help namesel

No help found for 'namesel'  

> select up

708 atoms, 724 bonds, 100 residues, 1 model selected  

> select up

2824 atoms, 2896 bonds, 392 residues, 1 model selected  

> select down

708 atoms, 724 bonds, 100 residues, 1 model selected  

> select down

2 atoms, 2 residues, 1 model selected  

> name sel custom_axis

"sel" is reserved and cannot be redefined  

> name custom_axis sel

> select clear

> turn custom_axis 90

Expected an axis vector or a keyword  

> turn custom_axis 90

Expected an axis vector or a keyword  

> turn custom_axis 90

Expected an axis vector or a keyword  

> turn custom_axis 90

Expected an axis vector or a keyword  

> turn 90 custom_axis

Expected an axis vector or a keyword  

> turn 90 custom_axis

Expected an axis vector or a keyword  

> turn 90 custom_axis

Expected an axis vector or a keyword  

> turn 90 custom_axis

Expected an axis vector or a keyword  

> turn 90 custom_axis

Expected an axis vector or a keyword  

> select custom_axis

Nothing selected  

> help name

> select custom_axis

Nothing selected  

> custom_axis

Unknown command: custom_axis  

> select #1/A:401@K

1 atom, 1 residue, 1 model selected  

> select add #1/A:403@K

2 atoms, 2 residues, 1 model selected  

> name custom_axis sel

> name list

custom_axis sel  

> tool show Log

> name custom_axis

custom_axis sel  

> select clear

> select custom_axis

Nothing selected  

> help name

> select #1/A:403@K

1 atom, 1 residue, 1 model selected  

> select add #1/A:401@K

2 atoms, 2 residues, 1 model selected  

> name custom_axis sel

> name custom_axis @K*

> select custom_axis

3 atoms, 1 pseudobond, 3 residues, 2 models selected  




OpenGL version: 4.1 Metal - 88
OpenGL renderer: Apple M2 Max
OpenGL vendor: Apple

Python: 3.11.4
Locale: UTF-8
Qt version: PyQt6 6.6.1, Qt 6.6.1
Qt runtime version: 6.6.2
Qt platform: cocoa
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: Mac14,5
      Model Number: Z17J00171LL/A
      Chip: Apple M2 Max
      Total Number of Cores: 12 (8 performance and 4 efficiency)
      Memory: 64 GB
      System Firmware Version: 10151.81.1
      OS Loader Version: 10151.81.1

Software:

    System Software Overview:

      System Version: macOS 14.3.1 (23D60)
      Kernel Version: Darwin 23.3.0
      Time since boot: 11 days, 23 hours, 47 minutes

Graphics/Displays:

    Apple M2 Max:

      Chipset Model: Apple M2 Max
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 30
      Vendor: Apple (0x106b)
      Metal Support: Metal 3
      Displays:
        Color LCD:
          Display Type: Built-in Liquid Retina XDR Display
          Resolution: 3024 x 1964 Retina
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: Yes
          Connection Type: Internal


Installed Packages:
    alabaster: 0.7.16
    appdirs: 1.4.4
    appnope: 0.1.4
    asttokens: 2.4.1
    Babel: 2.14.0
    beautifulsoup4: 4.12.3
    blockdiag: 3.0.0
    blosc2: 2.0.0
    build: 1.1.1
    certifi: 2023.11.17
    cftime: 1.6.3
    charset-normalizer: 3.3.2
    ChimeraX-AddCharge: 1.5.16
    ChimeraX-AddH: 2.2.5
    ChimeraX-AlignmentAlgorithms: 2.0.1
    ChimeraX-AlignmentHdrs: 3.4.3
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.12.5
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.1.1
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.54.6
    ChimeraX-AtomicLibrary: 14.0.2
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.4
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.1.2
    ChimeraX-BondRot: 2.0.4
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.12.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.2.2
    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.4
    ChimeraX-ChemGroup: 2.0.1
    ChimeraX-Clashes: 2.2.4
    ChimeraX-ColorActions: 1.0.3
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.5
    ChimeraX-CommandLine: 1.2.5
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.8.dev202403091657
    ChimeraX-CoreFormats: 1.2
    ChimeraX-coulombic: 1.4.3
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.3
    ChimeraX-Dicom: 1.2
    ChimeraX-DistMonitor: 1.4.2
    ChimeraX-DockPrep: 1.1.3
    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.1.1
    ChimeraX-Hbonds: 2.4
    ChimeraX-Help: 1.2.2
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.1
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-Label: 1.1.9
    ChimeraX-ListInfo: 1.2.2
    ChimeraX-Log: 1.1.6
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9.1
    ChimeraX-Map: 1.1.4
    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.1.3
    ChimeraX-MCopy: 1.0
    ChimeraX-MDcrds: 2.7
    ChimeraX-MedicalToolbar: 1.0.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.12.2
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.15
    ChimeraX-ModelPanel: 1.5
    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-Neuron: 1.0
    ChimeraX-Nifti: 1.1
    ChimeraX-NMRSTAR: 1.0.2
    ChimeraX-NRRD: 1.1
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.13.3
    ChimeraX-PDB: 2.7.5
    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.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.2.1
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.2
    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.2
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-Segmentations: 1.0
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.11.2
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.1.1
    ChimeraX-ShowSequences: 1.0.3
    ChimeraX-SideView: 1.0.1
    ChimeraX-Smiles: 2.1.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.16.2
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.2
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.5
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-TaskManager: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1.2
    ChimeraX-ToolshedUtils: 1.2.4
    ChimeraX-Topography: 1.0
    ChimeraX-ToQuest: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.36.1
    ChimeraX-uniprot: 2.3
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.3.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.3
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.6
    comm: 0.2.1
    contourpy: 1.2.0
    cxservices: 1.2.2
    cycler: 0.12.1
    Cython: 3.0.8
    debugpy: 1.8.1
    decorator: 5.1.1
    docutils: 0.20.1
    executing: 2.0.1
    filelock: 3.13.1
    fonttools: 4.49.0
    funcparserlib: 2.0.0a0
    glfw: 2.7.0
    grako: 3.16.5
    h5py: 3.10.0
    html2text: 2020.1.16
    idna: 3.6
    ihm: 0.43
    imagecodecs: 2024.1.1
    imagesize: 1.4.1
    ipykernel: 6.29.2
    ipython: 8.21.0
    ipywidgets: 8.1.2
    jedi: 0.19.1
    Jinja2: 3.1.3
    jupyter-client: 8.6.0
    jupyter-core: 5.7.1
    jupyterlab-widgets: 3.0.10
    kiwisolver: 1.4.5
    line-profiler: 4.1.2
    lxml: 5.1.0
    lz4: 4.3.3
    MarkupSafe: 2.1.5
    matplotlib: 3.8.2
    matplotlib-inline: 0.1.6
    msgpack: 1.0.8
    ndindex: 1.8
    nest-asyncio: 1.6.0
    netCDF4: 1.6.5
    networkx: 3.2.1
    nibabel: 5.0.1
    nptyping: 2.5.0
    numexpr: 2.9.0
    numpy: 1.26.4
    openvr: 1.26.701
    packaging: 23.2
    ParmEd: 4.2.2
    parso: 0.8.3
    pep517: 0.13.1
    pexpect: 4.9.0
    pillow: 10.2.0
    pip: 24.0
    pkginfo: 1.10.0
    platformdirs: 4.2.0
    prompt-toolkit: 3.0.43
    psutil: 5.9.8
    ptyprocess: 0.7.0
    pure-eval: 0.2.2
    py-cpuinfo: 9.0.0
    pycollada: 0.8
    pydicom: 2.3.0
    pygments: 2.17.2
    pynmrstar: 3.3.3
    pynrrd: 1.0.0
    PyOpenGL: 3.1.7
    PyOpenGL-accelerate: 3.1.7
    pyopenxr: 1.0.3302
    pyparsing: 3.1.2
    pyproject-hooks: 1.0.0
    PyQt6-commercial: 6.6.1
    PyQt6-Qt6: 6.6.2
    PyQt6-sip: 13.6.0
    PyQt6-WebEngine-commercial: 6.6.0
    PyQt6-WebEngine-Qt6: 6.6.2
    python-dateutil: 2.8.2
    pytz: 2024.1
    pyzmq: 25.1.2
    qtconsole: 5.5.1
    QtPy: 2.4.1
    RandomWords: 0.4.0
    requests: 2.31.0
    scipy: 1.12.0
    setuptools: 69.1.1
    setuptools-scm: 8.0.4
    sfftk-rw: 0.8.1
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    soupsieve: 2.5
    sphinx: 7.2.6
    sphinx-autodoc-typehints: 2.0.0
    sphinxcontrib-applehelp: 1.0.8
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.6
    sphinxcontrib-htmlhelp: 2.0.5
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.7
    sphinxcontrib-serializinghtml: 1.1.10
    stack-data: 0.6.3
    superqt: 0.6.1
    tables: 3.8.0
    tcia-utils: 1.5.1
    tifffile: 2024.1.30
    tinyarray: 1.2.4
    tornado: 6.4
    traitlets: 5.14.1
    typing-extensions: 4.10.0
    tzdata: 2024.1
    urllib3: 2.2.1
    wcwidth: 0.2.13
    webcolors: 1.13
    wheel: 0.42.0
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.10

Change History (3)

comment:1 by pett, 20 months ago

Component: UnassignedCommand Line
Owner: set to pett
Platform: all
Project: ChimeraX
Status: newaccepted
Summary: ChimeraX bug report submissionHow "name" works

comment:2 by pett, 20 months ago

Cc: Elaine Meng added
Resolution: not a bug
Status: acceptedclosed

Hi Oli,

The basic form of the "name" command remembers the spec you give it and re-applies it in whatever command you use the name in later. So if the name is "sel" and nothing is selected when you use the name later, then nothing will happen. However if you use the "name frozen" command instead of just "name", then the spec is evaluated as the "name frozen" command executes and whatever models or parts of models it specifies at that time are remembered, and when used later those specified objects will be used in the command and not what the spec would have covered at the time.

--Eric

comment:3 by olibclarke@…, 20 months ago

Ah got it! Sorry Eric I totally did not understand that - my bad. So "name frozen sel" should work then. Thanks!

Oli


Note: See TracTickets for help on using tickets.