Salmon

176 views
Skip to first unread message

Rob

unread,
Nov 24, 2014, 1:20:09 AM11/24/14
to sailfis...@googlegroups.com
Hi all,

  Though there have already been some posts relating to salmon, I realized that it had not yet been officially announced on this group. Salmon is a new piece of software on which we've been working hard for a while now.  In many ways, salmon is a successor to Sailfish. Though there are some significant methodological differences, the goal remains largely the same; provide rapid and accurate estimates of isoform abundance.  With salmon, we're working on increasing both accuracy and speed, as well as providing more options that might be useful in different scenarios.

  For example, salmon supports both alignment-free and alignment-based modes of operation.  The interface for the alignment-free mode of operation is much like that of sailfish; you first build a salmon index, and then quantify abundance for different experiments by providing salmon directly with the reads.  Salmon uses a fundamentally different type of index from Sailfish and thus, indices will have to be rebuilt. However, the index construction step is fairly efficient (it should actually be much faster than that of sailfish for very large transcriptomes).

  The alignment-based mode of salmon allows one to use existing alignments, provided as a SAM or BAM file (CRAM files should also work but we haven't tested this yet), to quantify transcript abundance.  This might be particularly useful in scenarios where alignments have already been computed, when they must be computed anyway for some other purpose, or when one has specific requirements / desires about alignment scoring and details.

  All development for salmon is currently happening in the develop branch of the Sailfish github repository. This means that if you clone / download from this branch and run the build process, your 'bin' directory will contain salmon as well as sailfish. We're also providing pre-built executables for salmon under the "releases" portion of the repository (the most current release is v0.2.0, available here).  These are updated whenever significant improvements  are made or features are added, but they are typically a little bit behind the "bleeding-edge" version that is available when building from source. Currently, the binaries are only being built for Linux, but we hope to provide prebuilt binaries for OSX in the future.  Since, for the time being, there's not a separate source repository or user group, we welcome questions and discussion of salmon here and on the github repo.  The documentation is available here on ReadTheDocs.

  We're currently writing the manuscript describing the methods and algorithms behind salmon.  As with sailfish, we plan to make a pre-print available.  However, the purpose of developing salmon out in the open is for people to test and use it as early as possible and to give us feedback and suggestions, so please give it a try if you have a chance!  More details are available in the docs.

--Rob

Sander Claus

unread,
Dec 17, 2014, 3:25:22 AM12/17/14
to sailfis...@googlegroups.com
Do you continue working on Sailfish as well?

Op maandag 24 november 2014 07:20:09 UTC+1 schreef Rob:

Rob

unread,
Dec 17, 2014, 5:03:39 PM12/17/14
to sailfis...@googlegroups.com
Hi Sander,

  As I mentioned in the announcement, salmon is currently being developed in the sailfish codebase.  There is still development being done in Sailfish (e.g. the develop branch version of Sailfish contains a number of
changes and improvements such as a move from Jellyfish 1.0 to Jellyfish 2.0, a back-porting of Salmon's newer / better library format string to Sailfish, the built-in ability to provide gene-level estimates and some bug fixes (some of these are still in progress)).  At some point, these changes will be merged back into the master branch and be part of a new release of Sailfish.  Even after this, we will continue to maintain / support Sailfish.

  However, I anticipate that most *new* development (e.g. new features, further integration with other software) will be part of Salmon.  While there are fundamental differences between the manner in which Sailfish and Salmon work, the goal of Salmon is to maintain all of the benefits of Sailfish (very fast, low resource usage, simple to use) while adding a number of important improvements (improved modeling and inference techniques, better incorporation of paired-end data, the optional ability to incorporate alignments, etc.).  As such, though Salmon takes a markedly different approach and has a different name, one can view it in many ways as the successor to Sailfish (i.e. as Sailfish 2.0).

Best,
Rob
Reply all
Reply to author
Forward
0 new messages