Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add domain labels to templates #160

Open
AntonPetrov opened this issue Nov 15, 2024 · 6 comments
Open

Add domain labels to templates #160

AntonPetrov opened this issue Nov 15, 2024 · 6 comments

Comments

@AntonPetrov
Copy link
Member

This is a frequently requested feature that would require updates in the core Traveler software.

@davidhoksza
Copy link
Collaborator

@AntonPetrov Could you elaborate?

@AntonPetrov
Copy link
Member Author

For several RNA types it would be useful to add labels for parts of the structure, for example:

Screenshot 2024-11-20 at 10 05 31 Screenshot 2024-11-20 at 10 07 52 Screenshot 2024-11-20 at 10 08 59

One could add label (x, y) locations to a new section of the XML templates but Traveler would need to be able to intelligently move them around to accommodate insertions etc.

Another idea would be to add them to a new line of the Traveler fasta file:

>example
NNNNNNNN
(((..)))
111.....

where 1 would map to a label like h23. The labels could then be included in the covariance model and passed to Traveler as a mapping between nucleotides and labels so that Traveler can put the labels equidistant from the corresponding nucleotides.

The first approach would work for cases where the location needs to be more precise (like I, II, III in the first image) while the second approach would be best for cases where the label can move around (for example, H42 in the second image can be on either side of the helix).

Any other ideas or comments are most welcome!

CC @blakesweeney @clzirbel @aspetr01 @nawrockie

@blakesweeney
Copy link
Contributor

I agree that would be really useful, I think somewhere I've seen some other programs that do automated placement of such domain labels. I can't recall how it worked though.

It might be easier to treat it like numeric labels though. Just tie them to a specific nt. I'm not sure how easy it will be to always find the right place for a group when the group can have insertions and get moved. At least if you tie it to one nt then it will always be somewhat near the 'typical' location despite anything else that goes on.

@AntonPetrov
Copy link
Member Author

@blakesweeney Treating it like a numeric label is an interesting idea! One would have to deal with cases where that particular nucleotide gets deleted or is not part of the input sequence while the rest of the domain is still there.

@davidhoksza
Copy link
Collaborator

Is the pseudoknot Pk also a "domain label"? In other words, can we restrict ourselves to continuous domains? From the K-turn example, it seems that the problem can't be restricted to sequentially continuous domains. However, from the examples, I see only the Pk as a label that is not continuous in space.

Also, we might want to extend the RNA 2D JSON schema, as currently, it does not support binding labels with a set of nucleotides. However, it supports binding to a single nucleotide, which could support the solution suggested by @blakesweeney.

@AntonPetrov
Copy link
Member Author

@davidhoksza Traveler already supports pseudoknots so I don't think we need to worry about those here. I can see that in the screenshots above I did include a few pseudoknots but they were not the main purpose. It was more labels like P3 and H43a and III that I wanted to illustrate and pseudoknots just happened to be there.

Good point about the kink-turn! One could treat it as a domain label and just label one side of the kink-turn using one of the approaches suggested above. In my view it would be fine to restrict ourselves to continuous domains for labelling purposes.

For kink-turns we would need a labelled box around a group of nucleotides:

388046571-f7f4ddc6-6be5-4946-9dce-7610fbf2554c-2

This is something the users also asked for but that's probably a different feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants