Lattice-Automation / seqviz

a JavaScript DNA, RNA, and protein sequence viewer
https://tools.latticeautomation.com/seqviz
MIT License
237 stars 51 forks source link

Introduce a Primer element #232

Closed leshane closed 1 month ago

leshane commented 1 year ago

Summary of the feature idea

Introduce a "primer" element. Primers are short nucleic acid sequences that play a role in PCR reactions. For users, being able to create and view primers will facilitate planning PCR reactions and plasmid assemblies.

Details

Example primer visualization

Screenshot 2023-09-16 at 4 30 53 PM
isaacguerreir commented 10 months ago

Hey everyone,

I made PR #242 for the primer element. Would like to start a conversation now that I have an understanding of Seqviz 'under the hood', and ask your opinions about how primers should be visualized.

image

isaacguerreir commented 10 months ago

By looking at the PrimerProps params, it seems they follow the same structure as annotations. One problem not covered with this abstraction is when synthetic biologists want to design degenerate primers. A PCR primer sequence is called degenerate if some of its positions have several possible bases. Degenerate primers use an extended alphabet to represent their combinatorial degeneracy:

    N   Any nucleotide
    A   Adenine
    G   Guanine
    C   Cytosine
    T   Thymine
    R   Purine (A or G)
    Y   Pyrimidine (C or T)
    W   Weak (A or T)
    S   Strong (G or C)
    M   Amino (A or C)
    K   Keto (G or T)
    B   Not A (G or C or T)
    H   Not G (A or C or T)
    D   Not C (A or G or T)
    V   Not T (A or G or C)

I don't know if it will be important to cover this aspect of the primer design (and possibly visualization against a target sequence), but I'm sharing so we have this information ahead of time.

isaacguerreir commented 9 months ago

Hey @leshane. Do you think the merged PR #242 is enough to close this issue or should we wait for the circular component to do it?

isaacguerreir commented 9 months ago

Can we close it?

guzmanvig commented 1 month ago

@isaacguerreir and @leshane , I'm gonna go ahead and close the issue. If a circular view is needed for Primers, we can create an issue for that specifically. The same happens for the Translation handles and IIRC Kevin told me it was okay to show it only in the linear view