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

Macro: Displaying unmodified nucleotide chains in sequence representation #3648

Closed
olganaz opened this issue Dec 4, 2023 · 2 comments · Fixed by #4100
Closed

Macro: Displaying unmodified nucleotide chains in sequence representation #3648

olganaz opened this issue Dec 4, 2023 · 2 comments · Fixed by #4100

Comments

@olganaz
Copy link
Collaborator

olganaz commented Dec 4, 2023

Background
Representation of RNA-chains in a way of letter sequence.
This task covers representation of unmodified RNA (created on canvas from standard presets or imported from file)
Representation of modified nucleotides will be covered by another issue
Nucleotide - sugar+base+phosphate, connected by the rules, defined in preset.
Nucleoside - sugar+base, connected by the bond between R3 AP of sugar and R1 AP of base.

Requirements

  1. Dropdown for the button "snake" should be added. Available options:
    • Flex (by default)
    • Snake
    • Sequence (See mockups)
  2. In sequence mode RNA fragment should be displayed as a sequence of letters, each letter corresponds to the natural analog of base that is a part of standard nucleotide.
  3. When two nucleotides are connected through R2-R1 bonds (with the bond formed between Phosphate R2 AP of the first nucleotide and the sugar R1 AP of the following nucleotide) these bonds are not visually represented. Instead, the two nucleotides are depicted as symbols that come together to form a word.
  4. All other bonds except R2-R1 should be displayed as straight line connecting two monomers.
  5. The last nucleotide in sequence mode is considered to lack a phosphate. The last nucleotide=nucleoside.
  6. All the phosphates that are not part of nucleotides are displayed as 'p' symbol (including the last phosphate, which is connected to the last nucleoside).
    Image is given for better understanding:
    image
  7. Sequence is arranged in rows of text, the length of the row is 30 nucleotides.
  8. In case of single chain, the position of the first symbol in sequence should be the same as position of the first monomer in flex/snake mode.
    • after switching from flex/snake mode to sequence visual frame should be moved to make the sequence visible. Sequence should be aligned in a frame in the upper-left corner with the 10% indent form the edge.
  9. In case of multiple chains the first chain is defined by the top left first monomer on canvas. The position of the first monomer of the first chain defines the position of the first symbol in sequence. Each new chain starts from the next row.
  10. The sequence of letters should be divided into tens.
  11. Nucleotide number is displayed only for every tenth symbol (if it is a nucleotide) and for the last nucleotide in a chain.
    • if the tenth symbol is 'p' or '@' then the number of the last nucleotide before this symbol is displayed.
  12. While hovering on a letter its number should be displayed.

Sequence layout should not change the layout in flex/snake modes.

Alternatives
If one fragment contains at least one modified RNA monomer ( Modified phosphate - any phosphate except 'P', modified sugar - any sugar except 'R', Modified base - any base except 'A', 'C', 'G', 'T', 'U'), then all monomers from the fragment remain displayed as pictograms with all the bonds connecting them to each other.
In case of Peptide or CHEM monomers system should display them as '@', R2-R1 (R1-R2) bonds are not displayed, all other bonds are displayed as straight lines.
Structures from micro-mode should be left on canvas where they are displayed as '@' symbol.

UX
Icon for sequence view:
image
Notation example (ignore nucleotide preview)
image

@olganaz olganaz added the draft label Dec 4, 2023
@olganaz olganaz assigned olganaz and unassigned Nitvex Dec 4, 2023
@olganaz olganaz changed the title Displaying modified/unmodified nucleotide chains in sequence representation Macro: Displaying modified/unmodified nucleotide chains in sequence representation Dec 4, 2023
@OlZhur OlZhur added this to the Macromolecules Milestone 4 milestone Dec 15, 2023
@olganaz olganaz changed the title Macro: Displaying modified/unmodified nucleotide chains in sequence representation Macro: Displaying unmodified/modified nucleotide chains in sequence representation Dec 19, 2023
@olganaz olganaz changed the title Macro: Displaying unmodified/modified nucleotide chains in sequence representation Macro: Displaying unmodified nucleotide chains in sequence representation Dec 19, 2023
@olganaz olganaz removed their assignment Jan 4, 2024
@olganaz olganaz removed the draft label Jan 4, 2024
@Zhirnoff
Copy link
Collaborator

Tests added to the automation table.

@epam epam deleted a comment from Andrey-Antonov Jan 12, 2024
@epam epam deleted a comment from Andrey-Antonov Jan 12, 2024
@epam epam deleted a comment from Andrey-Antonov Jan 12, 2024
rrodionov91 added a commit that referenced this issue Feb 19, 2024
…presentation (#4100)

- implemented sequence layout
- added snake layouting when switching to sequence mode
- disabled rna builder and some tools actions in sequence mode
- added object model for chains and modes
- fixed order of chains in snake layout

---------

Co-authored-by: Roman Rodionov <roman_rodionov@epam.com>
@Zhirnoff
Copy link
Collaborator

Tested.

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

Successfully merging a pull request may close this issue.

5 participants