chemiscope icon indicating copy to clipboard operation
chemiscope copied to clipboard

Add ribbon representation in structure viewer

Open Luthaf opened this issue 3 years ago • 2 comments

This is a popular representation for bio-molecules, in particular proteins, supported by both JSmol and 3Dmol.js. Two separate people asked for us to support this!

This kind of representation requires some information about the secondary structure, which we would need to add to the input file. I'm not sure which exact information is required to construct the ribbon, I would guess the list and order of alpha carbons in amino-acids? If you have more information on the subject, please let us know!

Luthaf avatar Apr 15 '21 16:04 Luthaf

would make sense to only do this after we converge on jsmol vs 3dmol.js though

On Thu, 15 Apr 2021 at 18:33, Guillaume Fraux @.***> wrote:

This is a popular representation for bio-molecules, in particular proteins, supported by both JSmol and 3Dmol.js. Two separate people asked for us to support this!

This kind of representation requires some information about the secondary structure, which we would need to add to the input file. I'm not sure which exact information is required to construct the ribbon, I would guess the list and order of alpha carbons in amino-acids? If you have more information on the subject, please let us know!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/cosmo-epfl/chemiscope/issues/127, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIREZ33JGSGREURSGXXK3DTI4IM7ANCNFSM427262EQ .

ceriottm avatar Apr 15 '21 17:04 ceriottm

Agreed! I'm opening the issue to keep track of it.

With a bit more research, it looks like we need to have secondary structure assignment for atoms (i.e. is this atom part of an helix, a beta strand, etc.). There is some code to guess the secondary structure in 3Dmol: https://github.com/3dmol/3Dmol.js/blob/17aa414914b0898e4089436524c89cf875505307/3Dmol/parsers.js#L310. Alternatively, we can put this data inside the input JSON, and guess/compute it when generating the JSON file.

Luthaf avatar Apr 15 '21 18:04 Luthaf