Code Monkey home page Code Monkey logo

Comments (7)

digitalbio avatar digitalbio commented on June 19, 2024

This image shows how the ends of each chain in the structure should be colored and how the amino ends of each residue in the sequence should be colored.

IMG_67A5469A4445-1

from icn3d.

jiywang3 avatar jiywang3 commented on June 19, 2024

The rainbow coloring is for any selection. What you can do is to select each chain and apply the rainbow coloring. Here is the share link of my example: https://structure.ncbi.nlm.nih.gov/icn3d/share.html?uqzXVbUSoxbLJocW8
image

from icn3d.

digitalbio avatar digitalbio commented on June 19, 2024

No, that doesn't make sense. If I use other coloring styles, I see the coloring applied to the entire protein. For example, I can color a protein by charge without selecting each chain.

In a protein, each chain is independent, so each chain must be colored from the amino end to the carboxyl end.

PDB does this correctly with jsmol. Cn3D does this correctly also.

from icn3d.

jiywang3 avatar jiywang3 commented on June 19, 2024

The fundamental design of iCn3D is to apply features only to the selection. Different users have different preferences. This way you can apply Rainbow coloring to any of your selection and make it more flexible.

from icn3d.

digitaltodd avatar digitaltodd commented on June 19, 2024

The fundamental design is fine and makes sense. The issue is related to global selections.

There are two ways to apply a style to an entire structure: have nothing selected or select all atoms. This works for all of the styles.

In the case of rainbow and spectrum the issue is that the global style is being applied incorrectly, and the resulting display conveys information that is misleading.

Let's use 1NAJ, a DNA structure as an example. When either spectrum or rainbow are applied they are applied to the both stands as if the strands were a single molecule.

As spectrum and rainbow are intended to show the order of residues, the global coloring needs to be set on each chain independently - like chain coloring.

To my knowledge every viewer (including Cn3D) that displays spectrum / rainbow for an entire structure does so on a chain by chain basis so that the relationship of the individual molecules (parallel / anti-parallel) can be observed. LIgands are typically not colored (white)

I've added some examples

Default view - color by chain applied globally
Screen Shot 2021-09-03 at 10 38 22 AM

Rainbow applied global (entire structure) - colors goes from one chain to the next implying a head to toe relationship between the structures
Screen Shot 2021-09-03 at 10 39 11 AM

The rainbow applied correctly - done in iCn3D with five interactions - open the sequence view, select one chain, apply rainbow, select the other chain apply rainbow again to get the correct anti-parallel relationship between the strands. Imagine if you had to apply each chain color independently in any larger structure. Some have 10's and 100's of chains.
Should be done in one click.
Screen Shot 2021-09-03 at 10 40 12 AM

from icn3d.

jiywang3 avatar jiywang3 commented on June 19, 2024

I could add two options for Rainbow: per Selection, and per Chain in the next release.

from icn3d.

jiywang3 avatar jiywang3 commented on June 19, 2024

The feature is available now.

from icn3d.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.