Opened 3 months ago

Closed 2 hours ago

#19400 closed enhancement (fixed)

Have Render By Attribute externally controllable

Reported by: Tom Goddard Owned by: Eric Pettersen
Priority: blocker Milestone:
Component: Structure Analysis Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

Allow other code to bring up Render By Attribute showing desired attribute/colors/etc.

Change History (9)

comment:1 by Eric Pettersen, 3 months ago

Priority: highblocker

comment:2 by Tom Goddard, 3 months ago

I added structure coloring controls to the mutation scatter plot gui yesterday that attempts to setup the Render by Attribute GUI (residues, specific structures, mutation score attribute, palette and levels). I used private methods of render by attribute in scatter plot function _show_render_by_attribute_gui() in code

chimerax/src/bundles/mutation_scores/src/ms_scatter_plot.py

It is not quite working because setting the render by attribute models causes a delayed callback that overwrites my render by attribute palette setting. So using a public API to set the render by attribute gui controls would be helpful.

comment:3 by Tom Goddard, 3 months ago

The mutation scores scatter plot use of render by attribute is part of ticket #19403.

comment:4 by Eric Pettersen, 2 months ago

By "palette" do you literally mean a palette name, or do you mean a series of color values?

comment:5 by Tom Goddard, 2 months ago

I meant color values and specified color levels.

comment:6 by Eric Pettersen, 2 months ago

Resolution: fixed
Status: assignedclosed

The Render/Select By Attribute tool now has a configure() method. I hope the method's doc string does a good enough job of explaining how it's used.

comment:7 by Tom Goddard, 5 days ago

Resolution: fixed
Status: closedreopened

The level_info argument of the RenderByAttrTool.configure() method does not show the requested levels in the GUI. Instead it appears to set the default levels. I tested this with the MutationScatterPlot tool and I have code in that tool (ms_scatter_plot.py) commented out. That is probably not the easiest way to test since it requires mutation score data.

Another option that the MutationScatterPlot tool wants to set is the no value color and the no value checkbutton. That is not currently settable by the configure() function.

comment:8 by Eric Pettersen, 2 hours ago

Fixed the color-configuration issue (worked if no 'models' were specified, but not if they were): https://github.com/RBVI/ChimeraX/commit/9b513971a3b0f752c4ddfe914710836ecbfb1996

Working on no-color configuration now.

comment:9 by Eric Pettersen, 2 hours ago

Resolution: fixed
Status: reopenedclosed

Okay, you can configure the no-value controls via the no_value_info keyword, which takes a two-tuple/list consisting of a boolean and a value. The boolean controls whether the checkbox is checked.

Code change: https://github.com/RBVI/ChimeraX/commit/9c8d82c6bbfb85220adfe7ca590a531bfda34482

Note: See TracTickets for help on using tickets.