Coder Social home page Coder Social logo

wilzbach / msa Goto Github PK

View Code? Open in Web Editor NEW
168.0 17.0 79.0 2.51 MB

Modular BioJS compoment for a multiple sequence alignment

Home Page: http://msa.biojs.net

License: Boost Software License 1.0

JavaScript 85.57% CSS 3.95% Mako 0.19% CoffeeScript 8.05% HTML 1.33% Shell 0.91%

msa's People

Contributors

alpae avatar benediktrauscher avatar danielhjacobs avatar gitter-badger avatar gyachdav avatar sillitoe avatar tatyanagoldberg avatar tigercosmos avatar wilzbach avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

msa's Issues

display secondary structure

The end user would be able to see a graphical display of computed secondary structure (helices, beta strands, coils) for the reference sequence graphically above the MSA block. (or in a location parallel to the sequence logo)

show pairwise interactions

The end user would be able to see a graphical display of computed pairwise interactions between residue columns (perhaps visualized as spanning lines connecting related columns)

Regex

If RegEx doesn't find a match in the alignment then the user must be notified about it. If it does find a match then the corresponding regions must be highlighted in the small overview box as well.

row summary

  • conservation (graphical display, such as bar chart or color codes)
  • custom measures (e.g. a “specificity score”) or custom highlighting/marking)
  • gap percentage (graphical display, such as bar chart or color codes)
  • sequence logo diagram (stacked residue codes)

jump to a column

Suzi: I am imagining two scenarios, in the first if the user has done a motif search (or the domains have been previously located) then they would want to move along the proteins from domain to domain to look at the alignment for each to see if key residues have changed. Rather like using the database of conserved domains but easier (http://www.ncbi.nlm.nih.gov/Structure/cdd/cddsrv.cgi?uid=257100 as an example). The other scenario is the pure location one as you say.

residue code stacking height via entropy score

The containing website can configure the calculation of residue code stacking height in the sequence logo diagram. Stack height could be determined according to entropy score, or by non-gap residue prevalence (and perhaps other options)

large alignments: show only the overview

for large alignments show only the overview, if interested in a particular region then click on the overview and the region will be shown in the main alignment window

Set the starting position of the MSA

I would like to be able to initialise a position from where to show the MSA, but still be able to scroll backwards (something like

var msa = new biojs.vis.msa.msa({el: div_obj, seqs: seqs, start_pos=50})

mark columns

an aligned residue column which represented a point of mutation might be indicated with an outline on the right and left margin of the residue codes in that column. The containing website would be able to choose the display styles wanted, and could delegate that choice to the end user.

choose between different ways to highlight/mark sequences

Functionality for the shading or coloring of MSA members, or of aligned column positions should offer a number of distinguishable and compatible styles

The style in which such marking would occur (outlining v. background shading v. icon or arrow) might (if feasible) be selectable by the website using the BioJS component.

mark sequence labels

For example, the reference sequence which was the basis for alignment construction might be indicated by display of an arrow icon adjacent to the member, or be shown in boldface type,

zoomlevels under 1px

Suzi: Another way to squeeze the columns that have the lowest scores. The ones that are more artefactual arising from inserting columns that are there just to get every thing squared up. So these filler columns aren't quite as important biologically. This won't solve the entire problem, but it can be helpful for squeezing things in.

integration with the phylogenetic tree viewer

Any reordering or hide/view would need to send out notification to listeners that need to be kept in sync. In particular the tree viewer.

The MSA viewer should listen for selection events from other components e.g. a user selects a node in the tree view and the clade-members/individual leaf nodes are selected. A user would want to see those same sequences visually 'un/selected' in the MSA view.

We would also need synchronized scrolling. If a user scrolls up and down in the tree view (or other views showing rows of the same sequences), then they would want to be looking at the same region in the MSA viewer. Otherwise they have to scroll twice and with finicky position the 2nd time to get things aligned.

sequence as an array of subsequences

IS:

I'm interested in this because we want to show where protein domains lie on the protein sequence. However a protein domain can be made up of discontiguous regions of sequence - so it would be great if this relationship could be modelled in the viewer (i.e. group regions of sequence together as a "domain" or "signature").

domain: { regions: [ {start: ?, stop: ?}, {start: ?, stop: ?}, ... ] }

select all

Ther eis no use in "select all" functionality (highlights all sequences and rows in the alignment) if you cannot un-select individual rows/columns. I am not sure, if it usable to first select the entire alignment and then un-select one-by-one columns and rows. I would suggest to get rid of "select all".

Also, I would change "invert columns" and "invert rows" to simply "invert selection". This will do the same as invert rows and invert columns

extra: pairwise sequence similarity

An example might be locating the main MSA display at the screen center, and a summary chart showing taxonomy composition or pairwise sequence similarity in a page appendix.

(meta) annotation per sequence id

Rob: The display of meta information on our current alignment viewer is done as text columns to the left of the sequence IDs. The columns can be shown/hidden by using checkboxes. I'm not sure if tooltips would be adequate, since one function of the columns is to allow the users to take in various distributions visually (such as species / taxa, or partition groups)

Items include

  • percentage of gaps in aligned positions
  • percentage of residues identical to reference sequence (excluding gaps)
  • percentage of reference sequence residues identical to self
  • species
  • custom fields (annotation strings by end user or loaded from file)
  • numerical weighting of the sequence (supplied by containing website)
  • boolean (checkbox) to show or allow setting of “included/excluded” choice
  • index number showing position of sequence within alignment source data
  • user defined partition codes (used to create blocks of related sequences)
  • hypertext links to external databases

drag & drop file import

Also, end users can supply alignment data through file load dialog boxes or through file drag-and-drop capabilities supported by some browsers through html5.
-> detect browser capabiltiies

just a local visualization without sending data to the server

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.