Do any open-source tools exist for visualizing multiple sequence alignments in a web browser? I am looking for a way to integrate alignment viewing capabilities into an existing web application. I don't just want a "dumb" block of text, but rather something that would be contextually aware of the alignment and possibly allow annotation, small segment viewing (as opposed to full alignment), and other features. I only want to be able to view existing alignments, not actually generate alignments from separate sequences.
I like JBrowse. Written in Perl and under heavy development. New versions quite often.
I also played for a while with UCSC Genome Browser. It is written in C and while the installation instructions are available, they aren't the easiest to follow. The strong positive is the amount of additional tracks ready to be installed locally.
You can load custom BAM files either directly or via what the developer calls a "public hub" — you'll put your file on a publicly-accessible web server and then point the browser to the link that loads the BAM file, or write up a JSON-formatted "hub" file that contains metadata about the BAM file, along with the link information.
In addition, you need to put an index file in the same folder, and it should be named the same as the BAM file, with a
.bai index. For instance, if you have a link to
http://www.example.org/foo.bam, you also need a link to
http://www.example.org/foo.bam.bai, even though you'll only submit the BAM link.
If you need more annotations than provided, you'll need to do a bit more scripting work. You might make a "hammock" file, for instance, and write up a public hub track which describes how you want to visualize the data.