Hi Enrico,

  This is a limitation of ChimeraX.  When a molecular surface changes because you are playing through a coordinate set it preserves the atom patch colors but does not preserve the transparency unless all the atoms patches of the surface have been colored.  The reason for this limitation is that the code has no way to remember which patches of the surface had their transparency set and which did not, although it does remember if all of them had their transparency set.  The cases where transparency on the surface gets preserved are actually more complicated than that, it depends on what commands are used to set the transparency.

  So although it sometimes can preserve the transparency when a surface changes, it is not supported in all cases.  So if you run into a case where it does not work (in your case, you used rainbow to set the transparency of two segments of the surface but not the whole surface), then the solution is that each time you change the coordinate set you need to reapply the transparency using for instance the perframe command if it is in a movie.

  I made a bug report for this.  But it is complex to try to always preserve transparency as the surface changes, and a rarely encountered problem, so I don't think it is likely I am going to fix it.

https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/14560

  Tom

On Feb 9, 2024, at 2:31 AM, Enrico Martinez via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:

Hello Tom,

Just tested it with the chimera 1.61

Imagine that we have a chimeric protein fused inside the same construct
and I would like to color differently the both parts (with the transparent surfaces). Here is my script:

# for whole construct
cartoon protein
surface protein gridSpacing 0.5

# colors cartoon for each segments differently - THIS WORKS OK !
# part 1:
rainbow :1-215 target c palette Oranges-5
# part 2:
rainbow ~(:1-215) target c palette PuOr-5

# transparence options - THIS IS WHERE THERE IS AN ISSUE

# option 1 - simple color the entire surface with transparency - THIS WORKS OK
rainbow protein target s palette Oranges-5 transparency 85

# 2 - custom version for the 1 and 2nd part - THIS COLORS OK BUT the TRANSPARENCY DISAPPEARS !!
#rainbow :1-215 target s palette Oranges-5 transparency 90
#rainbow :217-413 target s palette PuOr-5 transparency 90

So in the case of the custom coloring of the surface for the two parts I lose transparency in the case of the multi-frame pdb ( it shows OK for the current frame but then transparency get lost when I start to see the trajectory).

I have not tested it with the latest chimera but I'll try to do it asap.

Your devoted,

Enrico


Il giorno mer 31 gen 2024 alle ore 19:34 Tom Goddard <goddard@sonic.net> ha scritto:
Hi Enrico,

  Rainbow applied twice to a surface with transparency worked fine for me.  If you have an exact set of commands on say a standard PDB file that exhibits the problem then use Help / Report a Bug... and we can look.  You might want to use the current ChimeraX 1.7.1 version as we fix bugs all the time.

        Tom

> On Jan 31, 2024, at 8:04 AM, Enrico Martinez via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
>
> Hello Tom,
>
> actually I have not found an explanation but sometimes transparency
> applied on the whole trajectory disappears without any explanation :-)
>
> For example I apply it either via rainbow or color command on two
> monomers separately using the following commands:
>
> # first show cartoons and color them using palette
> cartoon protein
> surface protein gridSpacing 0.5
> rainbow :1-304 target c palette ^paired-12
> rainbow :306-607 target c palette ^paired-12
>
> # then add transparent surface for the same selection
> transparency #1 80
> rainbow protein & :1-304 target s palette ^paired-12 transparency 90
> rainbow protein & :306-607 target s palette ^paired-12 transparency 90
>
> #color protein & :1-304 indianred target s transparency 90
> #color protein & :306-607 royalblue target s transparency 90
>
>
> Eventually If I change in the second selection string the number of
> selected residues (for second protomer) to protein & :305-607 (so
> selecting one more residue), it does not work at all and I see only
> surface without any transparency. Probably there is a bug somewhere (I
> am using UCSF ChimeraX version: 1.6.1 on local Ubuntu) ?
>
> Cheers !
>
> Il giorno mar 30 gen 2024 alle ore 19:45 Tom Goddard
> <goddard@sonic.net> ha scritto:
>>
>> You asked the question about how to keep the transparency on a surface during trajectory playback in December and it was answered back then
>>
>> https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/thread/PH5IMYEEUGFZ4VCHXOGLRULXJXBCBLF4/#BHD2KMUEKEGLXRWUC7ELVTUXRNIKC73D
>>
>> The same considerations apply to updating the electrostatic coloring each frame.  To summarize the previous discussion when the trajectory goes to the next time step the surface is automatically recomputed and your coloring and transparency commands have to be done after that automatic surface recalculation.  It is a bit tricky to make them happen after the surface recalculation and you should refer to the previous mailing list discussion to see examples of how that is done.
>>
>> Tom
>>
>>
>> On Jan 30, 2024, at 3:54 AM, Enrico Martinez via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
>>
>> update:
>>
>> it seems that I could fix it via adding the transparency option
>> directly to color:
>>
>> color byattribute kdh sel target s palette sandybrown:coral:orangered
>> novalue gray transparency 55
>>
>> Just one extra question: how could I keep the coulombic electrostatic
>> surface (calculated using the command coulombic) in the same manner
>> for all frames ?
>>
>> Il giorno mar 30 gen 2024 alle ore 12:28 Enrico Martinez
>> <jmsstarlight@gmail.com> ha scritto:
>>
>>
>> Dear ChimeraX users!
>>
>> I am working on visualization of protein-ligand complex from MD
>> trajectory loaded as multiframe pdb via open coordset true
>>
>> Here is my script:
>>
>> #coloring ligand options
>> color ligand & C gold
>> style ligand sphere
>>
>> #transparency
>> surface protein
>> color byattribute kdh protein target rs palette
>> sandybrown:coral:orangered novalue gray
>> transparency protein 5 surfaces
>> select zone ligand 4 protein
>> transparency sel 55 surface
>>
>> The problem is only in the transparency which could be set only on the
>> first frame but then disappears when I browse movie. How could I
>> modify my scipr to keep the transparency on all frames ?
>>
>> Many thanks in advance !
>>
>> Enrico
>>
>> _______________________________________________
>> ChimeraX-users mailing list -- chimerax-users@cgl.ucsf.edu
>> To unsubscribe send an email to chimerax-users-leave@cgl.ucsf.edu
>> Archives: https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/
>>
>>
>
> _______________________________________________
> ChimeraX-users mailing list -- chimerax-users@cgl.ucsf.edu
> To unsubscribe send an email to chimerax-users-leave@cgl.ucsf.edu
> Archives: https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/
>

_______________________________________________
ChimeraX-users mailing list -- chimerax-users@cgl.ucsf.edu
To unsubscribe send an email to chimerax-users-leave@cgl.ucsf.edu
Archives: https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/