Hey all,
I’m happy to share a small plugin I recently developed for UCSF ChimeraX: Cube’n Tube.
It extends the standard eraser sphere tool. Instead of only a sphere, you can now erase with cubes, cylinders (frustum), cones, or even define your own custom shape.
While working with various protein structures, I often felt that a spherical eraser is not always ideal. Especially when trying to remove part of a filament, micelle density, or isolate one asymmetric unit of a larger assembly. I was really missing a more dynamic eraser tool, so I decided to build it.
I also implemented a simple undo/redo function for the eraser tool. I cannot count how often I misclicked and had to restart my masking from zero… Now there is a one-step undo (limited to one step to keep it smooth on all machines).
The custom shape option works particularly well together with a fitted atomic model (for example from AlphaFold) to erase everything outside the region of interest.
Cube’n Tube can be downloaded directly from the ChimeraX Tool Shed or from GitHub (https://github.com/TaminoCairoli/CubeNTube)
If you are missing a feature or have ideas for improvements, feel free to open an issue on GitHub.
Many thanks to the team (especially Tom Goddard) at University of California, San Francisco for building such a powerful and well-documented tool, and thanks to Pavel Afanasyev, Julius Rabl and Dianhong Wang for discussion and testing.
Best,
Tamino
Hello,
I have successfully compiled and tested my Privateer for ChimeraX bundle on
MacOS and Linux but am having issues trying to compile on Windows. I
apologise in advance if my questions are naive or silly; I feel like a
complete beginner when it comes to developing in the Windows environment.
Following the guide here (
https://www.cgl.ucsf.edu/chimerax/docs/devel/environment.html) I ensured I
have Visual Studio 2019. I tried compiling in Visual Studio directly using
a make_win.bat file. I also tried installing MinGW and installing the
necessary packages with pacman (as outlined in the guide) and compiling
from there using a standard Makefile. In both cases I get the same issue,
whereby all my C++ library dependencies compile, and my own C++ code
compiles into .obj files, but when it comes to building the wheel, it fails
due to linker errors (LNK2001: unresolved external symbol) which all seem
linked to Python (e.g. error LINK2001: unresolved external symbol
__imp__PyThread_tss_create and many more similar ones too) and relate to
the .obj file for the C++ file which contains the python bindings with
pybind11.
I tried explicitly adding a link argument to python311.lib in case that was
the issue, but it didn't help. I do not have this issue on MacOS or on
LInux. I was just wondering if this is something anyone else has come
across or can point me in the right direction. Any help is much appreciated.
Best wishes,
Lou Holland
(Pronouns: they/them)
Research Associate
York Structural Biology Laboratory,
Department of Chemistry,
University of York,
Heslington, YO10 5DD,
York, UK