From 958d365cf3653433bad5230b53df586cc27e69a4 Mon Sep 17 00:00:00 2001 From: Hannes Hauswedell Date: Wed, 2 Sep 2015 15:31:36 +0200 Subject: [PATCH 01/30] Create gh-pages branch via GitHub --- images/arrow-down.png | Bin 0 -> 216 bytes images/octocat-small.png | Bin 0 -> 357 bytes index.html | 111 +++++++++ javascripts/scale.fix.js | 20 ++ params.json | 1 + stylesheets/github-light.css | 116 ++++++++++ stylesheets/styles.css | 423 +++++++++++++++++++++++++++++++++++ 7 files changed, 671 insertions(+) create mode 100644 images/arrow-down.png create mode 100644 images/octocat-small.png create mode 100644 index.html create mode 100644 javascripts/scale.fix.js create mode 100644 params.json create mode 100644 stylesheets/github-light.css create mode 100644 stylesheets/styles.css diff --git a/images/arrow-down.png b/images/arrow-down.png new file mode 100644 index 0000000000000000000000000000000000000000..5c55c6a8c9edfaa47379862d770304c36c3ac7ff GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^JU}eW!3HFke0{SLNX_?jaSYLzn4I9i%II*Xp^aIh zpz+6!8``B?P5)0c^x#?E7OdXC_y6D5zw1+Ygru)Ji1RWzykR(WyifLD&pJjGw#n?P zLqkH=Y}vm3H~*pZ^K<_6Lqu1mGH{74&_2}6eISp?=$Y`s3cD`%ef7U|_uU`DGt*!YlC@Am|DD>an&JK*_ z<>mi__UCKux;y>4Pqor7j|)IU*M9Gw z-IGbu2m_ZdUGO1GBT$h55cdP|c_4ld#Or}LA6*>)0_L))J+G2e00000NkvXXu0mjf DP-vTT literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 000000000..d9704fd13 --- /dev/null +++ b/index.html @@ -0,0 +1,111 @@ + + + + + + Lambda by seqan + + + + + + + + +
+
+

Lambda

+

the Local Aligner for Massive Biological DatA

+ + + +

This project is maintained by seqan

+ + +
+
+

+Lambda: the Local Aligner for Massive Biological DatA

+ +

Lambda is a local aligner optimized for many query sequences and searches in protein space. It is compatible to + BLAST, but much faster than BLAST and many other comparable tools.

+ +

For the scientific background, see publication.

+ +

The latest stable version is available in the releases. Lambda is Free and open source software, so you can use it for any purpose, free of charge. However certain conditions apply when you (re-)distribute or modify Lambda, please respect the license. Also, please cite the publication if you use Lambda anywhere in your academic work. Thank you!

+ +

+Further links

+ +
    +
  • contact the author, Hannes Hauswedell +
  • +
  • subscribe to the lambda-users mailinglist to receive news on new versions (contact the author for this!)
  • +
  • report a bug on the tracker +
  • +
+ +

+Instructions

+ +

Run the indexer:

+ +
% bin/lambda_indexer -d db.fasta [-s db.seg]
+
+ +

Run lambda:

+ +
% bin/lambda -q query.fasta -d db.fasta
+
+ +

For a full list of options, see the help page:

+ +
% bin/lambda --help
+
+ +

or look at MANUAL.rst

+ +

+Frequently Asked Questions

+ +

+What kind of data can I use Lambda with?

+ +

Lambda is optimized for searches in protein space, so whenever your reads / query sequences represent proteins (transcriptome, exome, rna data ...) and/or your database is a protein database (uniprot, ncbi nr ...) Lambda will perform very well.

+ +

+Does that mean I cannot use it to replace BlastN oder Megablast?

+ +

Lambda has a BlastN mode that shares many features of the protein searches (BlastP, BlastX, TBlastN, TBlastX), but that does not benefit from some optimizations that are specific for these modes. Our tests show that Lambda is still a big improvement over BlastN while being in a comparable sensitivity range below e-values of 0.1. Since less time has been spent on tuning the BlastN default parameters we recommend you try it on one of your data sets and compare it to BlastN before you use it with the same confidence. And we are interested in hearing your feedback on this mode and whether we should invest more resources into it!

+ +

+What kind of speed-ups can I expect over NCBI Blast?

+ +

For protein modes we have measured speed-ups of 150-300x over NCBI Blast. Different options are available to increase speed further (at the cost of system memory or sensitivity of the results); the recommended fast mode has speed-ups over 2000x. The speed-up also depends on the data and is higher if the dataset is bigger.

+ +

+What kind of sensitivity can I expect compared NCBI Blast?

+ +

For short reads sensitivity was measured to be over 96%. For reads of length over 900 the sensitivity dropped to a little over 80% in the default mode -- but this is still better than with other Blast-competitors. There are different parameters to increase sensitivity at the cost of speed.

+ +

+How much memory does Lambda require?

+ +

In its default mode Lambda requires approximately the following amount of RAM +size(queryFile) + 2 * size(dbFile) +The indexer has additional memory requirements, please see lambda_indexer --help. Future releases will contain algorithms with much lower requirements and higher speed.

+
+ +
+ + + + diff --git a/javascripts/scale.fix.js b/javascripts/scale.fix.js new file mode 100644 index 000000000..08716c006 --- /dev/null +++ b/javascripts/scale.fix.js @@ -0,0 +1,20 @@ +fixScale = function(doc) { + + var addEvent = 'addEventListener', + type = 'gesturestart', + qsa = 'querySelectorAll', + scales = [1, 1], + meta = qsa in doc ? doc[qsa]('meta[name=viewport]') : []; + + function fix() { + meta.content = 'width=device-width,minimum-scale=' + scales[0] + ',maximum-scale=' + scales[1]; + doc.removeEventListener(type, fix, true); + } + + if ((meta = meta[meta.length - 1]) && addEvent in doc) { + fix(); + scales = [.25, 1.6]; + doc[addEvent](type, fix, true); + } + +}; \ No newline at end of file diff --git a/params.json b/params.json new file mode 100644 index 000000000..6e482a80e --- /dev/null +++ b/params.json @@ -0,0 +1 @@ +{"name":"Lambda","tagline":"the Local Aligner for Massive Biological DatA ","body":"Lambda: the Local Aligner for Massive Biological DatA\r\n-----------------------------------------------------\r\n\r\nLambda is a local aligner optimized for many query sequences and searches in protein space. It is compatible to\r\n BLAST, but much faster than BLAST and many other comparable tools.\r\n\r\nFor the scientific background, see [publication](http://bioinformatics.oxfordjournals.org/content/30/17/i349.abstract).\r\n\r\nThe latest stable version is available in the [releases] (https://github.com/seqan/lambda/releases). Lambda is Free and open source software, so you can use it for any purpose, free of charge. However certain conditions apply when you (re-)distribute or modify Lambda, please respect the license. Also, **please cite the publication** if you use Lambda anywhere in your academic work. Thank you!\r\n\r\nFurther links\r\n-------------\r\n\r\n * contact the author, [Hannes Hauswedell] (mailto:hannes.hauswedell@[molgen.mpg.de|fu-berlin.de])\r\n * subscribe to the lambda-users mailinglist to receive news on new versions (contact the author for this!)\r\n * report a bug on the [tracker] (https://github.com/seqan/lambda/issues)\r\n\r\n\r\nInstructions\r\n------------\r\n\r\nRun the indexer:\r\n\r\n % bin/lambda_indexer -d db.fasta [-s db.seg]\r\n\r\nRun lambda:\r\n\r\n % bin/lambda -q query.fasta -d db.fasta\r\n\r\nFor a full list of options, see the help page:\r\n\r\n % bin/lambda --help\r\n\r\nor look at MANUAL.rst\r\n\r\nFrequently Asked Questions\r\n--------------------------\r\n\r\n### What kind of data can I use Lambda with?\r\n\r\nLambda is optimized for searches in protein space, so whenever your reads / query sequences represent proteins (transcriptome, exome, rna data ...) and/or your database is a protein database (uniprot, ncbi nr ...) Lambda will perform very well.\r\n\r\n### Does that mean I cannot use it to replace BlastN oder Megablast?\r\n\r\nLambda has a BlastN mode that shares many features of the protein searches (BlastP, BlastX, TBlastN, TBlastX), but that does not benefit from some optimizations that are specific for these modes. Our tests show that Lambda is still a big improvement over BlastN while being in a comparable sensitivity range below e-values of 0.1. Since less time has been spent on tuning the BlastN default parameters we recommend you try it on one of your data sets and compare it to BlastN before you use it with the same confidence. And we are interested in hearing your feedback on this mode and whether we should invest more resources into it!\r\n\r\n### What kind of speed-ups can I expect over NCBI Blast?\r\n\r\nFor protein modes we have measured speed-ups of 150-300x over NCBI Blast. Different options are available to increase speed further (at the cost of system memory or sensitivity of the results); the recommended fast mode has speed-ups over 2000x. The speed-up also depends on the data and is higher if the dataset is bigger.\r\n\r\n### What kind of sensitivity can I expect compared NCBI Blast?\r\n\r\nFor short reads sensitivity was measured to be over 96%. For reads of length over 900 the sensitivity dropped to a little over 80% in the default mode -- but this is still better than with other Blast-competitors. There are different parameters to increase sensitivity at the cost of speed.\r\n\r\n### How much memory does Lambda require?\r\n\r\nIn its default mode Lambda requires approximately the following amount of RAM\r\nsize(queryFile) + 2 * size(dbFile)\r\nThe indexer has additional memory requirements, please see `lambda_indexer --help`. Future releases will contain algorithms with much lower requirements and higher speed.","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."} \ No newline at end of file diff --git a/stylesheets/github-light.css b/stylesheets/github-light.css new file mode 100644 index 000000000..872a6f4b2 --- /dev/null +++ b/stylesheets/github-light.css @@ -0,0 +1,116 @@ +/* + Copyright 2014 GitHub Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ + +.pl-c /* comment */ { + color: #969896; +} + +.pl-c1 /* constant, markup.raw, meta.diff.header, meta.module-reference, meta.property-name, support, support.constant, support.variable, variable.other.constant */, +.pl-s .pl-v /* string variable */ { + color: #0086b3; +} + +.pl-e /* entity */, +.pl-en /* entity.name */ { + color: #795da3; +} + +.pl-s .pl-s1 /* string source */, +.pl-smi /* storage.modifier.import, storage.modifier.package, storage.type.java, variable.other, variable.parameter.function */ { + color: #333; +} + +.pl-ent /* entity.name.tag */ { + color: #63a35c; +} + +.pl-k /* keyword, storage, storage.type */ { + color: #a71d5d; +} + +.pl-pds /* punctuation.definition.string, string.regexp.character-class */, +.pl-s /* string */, +.pl-s .pl-pse .pl-s1 /* string punctuation.section.embedded source */, +.pl-sr /* string.regexp */, +.pl-sr .pl-cce /* string.regexp constant.character.escape */, +.pl-sr .pl-sra /* string.regexp string.regexp.arbitrary-repitition */, +.pl-sr .pl-sre /* string.regexp source.ruby.embedded */ { + color: #183691; +} + +.pl-v /* variable */ { + color: #ed6a43; +} + +.pl-id /* invalid.deprecated */ { + color: #b52a1d; +} + +.pl-ii /* invalid.illegal */ { + background-color: #b52a1d; + color: #f8f8f8; +} + +.pl-sr .pl-cce /* string.regexp constant.character.escape */ { + color: #63a35c; + font-weight: bold; +} + +.pl-ml /* markup.list */ { + color: #693a17; +} + +.pl-mh /* markup.heading */, +.pl-mh .pl-en /* markup.heading entity.name */, +.pl-ms /* meta.separator */ { + color: #1d3e81; + font-weight: bold; +} + +.pl-mq /* markup.quote */ { + color: #008080; +} + +.pl-mi /* markup.italic */ { + color: #333; + font-style: italic; +} + +.pl-mb /* markup.bold */ { + color: #333; + font-weight: bold; +} + +.pl-md /* markup.deleted, meta.diff.header.from-file */ { + background-color: #ffecec; + color: #bd2c00; +} + +.pl-mi1 /* markup.inserted, meta.diff.header.to-file */ { + background-color: #eaffea; + color: #55a532; +} + +.pl-mdr /* meta.diff.range */ { + color: #795da3; + font-weight: bold; +} + +.pl-mo /* meta.output */ { + color: #1d3e81; +} + diff --git a/stylesheets/styles.css b/stylesheets/styles.css new file mode 100644 index 000000000..647f08dbe --- /dev/null +++ b/stylesheets/styles.css @@ -0,0 +1,423 @@ +@import url(https://fonts.googleapis.com/css?family=Arvo:400,700,400italic); + +/* MeyerWeb Reset */ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; +} + + +/* Base text styles */ + +body { + padding:10px 50px 0 0; + font-family:"Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + color: #232323; + background-color: #FBFAF7; + margin: 0; + line-height: 1.8em; + -webkit-font-smoothing: antialiased; + +} + +h1, h2, h3, h4, h5, h6 { + color:#232323; + margin:36px 0 10px; +} + +p, ul, ol, table, dl { + margin:0 0 22px; +} + +h1, h2, h3 { + font-family: Arvo, Monaco, serif; + line-height:1.3; + font-weight: normal; +} + +h1,h2, h3 { + display: block; + border-bottom: 1px solid #ccc; + padding-bottom: 5px; +} + +h1 { + font-size: 30px; +} + +h2 { + font-size: 24px; +} + +h3 { + font-size: 18px; +} + +h4, h5, h6 { + font-family: Arvo, Monaco, serif; + font-weight: 700; +} + +a { + color:#C30000; + font-weight:200; + text-decoration:none; +} + +a:hover { + text-decoration: underline; +} + +a small { + font-size: 12px; +} + +em { + font-style: italic; +} + +strong { + font-weight:700; +} + +ul { + list-style-position: inside; + list-style: disc; + padding-left: 25px; +} + +ol { + list-style-position: inside; + list-style: decimal; + padding-left: 25px; +} + +blockquote { + margin: 0; + padding: 0 0 0 20px; + font-style: italic; +} + +dl, dt, dd, dl p { + font-color: #444; +} + +dl dt { + font-weight: bold; +} + +dl dd { + padding-left: 20px; + font-style: italic; +} + +dl p { + padding-left: 20px; + font-style: italic; +} + +hr { + border:0; + background:#ccc; + height:1px; + margin:0 0 24px; +} + +/* Images */ + +img { + position: relative; + margin: 0 auto; + max-width: 650px; + padding: 5px; + margin: 10px 0 32px 0; + border: 1px solid #ccc; +} + +p img { + display: inline; + margin: 0; + padding: 0; + vertical-align: middle; + text-align: center; + border: none; +} + +/* Code blocks */ + +code, pre { + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + color:#000; + font-size:14px; +} + +pre { + padding: 4px 12px; + background: #FDFEFB; + border-radius:4px; + border:1px solid #D7D8C8; + overflow: auto; + overflow-y: hidden; + margin-bottom: 32px; +} + + +/* Tables */ + +table { + width:100%; +} + +table { + border: 1px solid #ccc; + margin-bottom: 32px; + text-align: left; + } + +th { + font-family: 'Arvo', Helvetica, Arial, sans-serif; + font-size: 18px; + font-weight: normal; + padding: 10px; + background: #232323; + color: #FDFEFB; + } + +td { + padding: 10px; + background: #ccc; + } + + +/* Wrapper */ +.wrapper { + width:960px; +} + + +/* Header */ + +header { + background-color: #171717; + color: #FDFDFB; + width:170px; + float:left; + position:fixed; + border: 1px solid #000; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-bottomright: 4px; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + padding: 34px 25px 22px 50px; + margin: 30px 25px 0 0; + -webkit-font-smoothing: antialiased; +} + +p.header { + font-size: 16px; +} + +h1.header { + font-family: Arvo, sans-serif; + font-size: 30px; + font-weight: 300; + line-height: 1.3em; + border-bottom: none; + margin-top: 0; +} + + +h1.header, a.header, a.name, header a{ + color: #fff; +} + +a.header { + text-decoration: underline; +} + +a.name { + white-space: nowrap; +} + +header ul { + list-style:none; + padding:0; +} + +header li { + list-style-type: none; + width:132px; + height:15px; + margin-bottom: 12px; + line-height: 1em; + padding: 6px 6px 6px 7px; + + background: #AF0011; + background: -moz-linear-gradient(top, #AF0011 0%, #820011 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd)); + background: -webkit-linear-gradient(top, #AF0011 0%,#820011 100%); + background: -o-linear-gradient(top, #AF0011 0%,#820011 100%); + background: -ms-linear-gradient(top, #AF0011 0%,#820011 100%); + background: linear-gradient(top, #AF0011 0%,#820011 100%); + + border-radius:4px; + border:1px solid #0D0D0D; + + -webkit-box-shadow: inset 0px 1px 1px 0 rgba(233,2,38, 1); + box-shadow: inset 0px 1px 1px 0 rgba(233,2,38, 1); + +} + +header li:hover { + background: #C3001D; + background: -moz-linear-gradient(top, #C3001D 0%, #950119 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd)); + background: -webkit-linear-gradient(top, #C3001D 0%,#950119 100%); + background: -o-linear-gradient(top, #C3001D 0%,#950119 100%); + background: -ms-linear-gradient(top, #C3001D 0%,#950119 100%); + background: linear-gradient(top, #C3001D 0%,#950119 100%); +} + +a.buttons { + -webkit-font-smoothing: antialiased; + background: url(../images/arrow-down.png) no-repeat; + font-weight: normal; + text-shadow: rgba(0, 0, 0, 0.4) 0 -1px 0; + padding: 2px 2px 2px 22px; + height: 30px; +} + +a.github { + background: url(../images/octocat-small.png) no-repeat 1px; +} + +a.buttons:hover { + color: #fff; + text-decoration: none; +} + + +/* Section - for main page content */ + +section { + width:650px; + float:right; + padding-bottom:50px; +} + + +/* Footer */ + +footer { + width:170px; + float:left; + position:fixed; + bottom:10px; + padding-left: 50px; +} + +@media print, screen and (max-width: 960px) { + + div.wrapper { + width:auto; + margin:0; + } + + header, section, footer { + float:none; + position:static; + width:auto; + } + + footer { + border-top: 1px solid #ccc; + margin:0 84px 0 50px; + padding:0; + } + + header { + padding-right:320px; + } + + section { + padding:20px 84px 20px 50px; + margin:0 0 20px; + } + + header a small { + display:inline; + } + + header ul { + position:absolute; + right:130px; + top:84px; + } +} + +@media print, screen and (max-width: 720px) { + body { + word-wrap:break-word; + } + + header { + padding:10px 20px 0; + margin-right: 0; + } + + section { + padding:10px 0 10px 20px; + margin:0 0 30px; + } + + footer { + margin: 0 0 0 30px; + } + + header ul, header p.view { + position:static; + } +} + +@media print, screen and (max-width: 480px) { + + header ul li.download { + display:none; + } + + footer { + margin: 0 0 0 20px; + } + + footer a{ + display:block; + } + +} + +@media print { + body { + padding:0.4in; + font-size:12pt; + color:#444; + } +} \ No newline at end of file From 238dce733f1dfea8325a118919553585c6439938 Mon Sep 17 00:00:00 2001 From: Hannes Hauswedell Date: Wed, 2 Sep 2015 16:21:34 +0200 Subject: [PATCH 02/30] Create gh-pages branch via GitHub --- index.html | 61 +---------------------------------------------------- params.json | 2 +- 2 files changed, 2 insertions(+), 61 deletions(-) diff --git a/index.html b/index.html index d9704fd13..808cb2653 100644 --- a/index.html +++ b/index.html @@ -40,66 +40,7 @@

The latest stable version is available in the releases. Lambda is Free and open source software, so you can use it for any purpose, free of charge. However certain conditions apply when you (re-)distribute or modify Lambda, please respect the license. Also, please cite the publication if you use Lambda anywhere in your academic work. Thank you!

-

-Further links

- -
    -
  • contact the author, Hannes Hauswedell -
  • -
  • subscribe to the lambda-users mailinglist to receive news on new versions (contact the author for this!)
  • -
  • report a bug on the tracker -
  • -
- -

-Instructions

- -

Run the indexer:

- -
% bin/lambda_indexer -d db.fasta [-s db.seg]
-
- -

Run lambda:

- -
% bin/lambda -q query.fasta -d db.fasta
-
- -

For a full list of options, see the help page:

- -
% bin/lambda --help
-
- -

or look at MANUAL.rst

- -

-Frequently Asked Questions

- -

-What kind of data can I use Lambda with?

- -

Lambda is optimized for searches in protein space, so whenever your reads / query sequences represent proteins (transcriptome, exome, rna data ...) and/or your database is a protein database (uniprot, ncbi nr ...) Lambda will perform very well.

- -

-Does that mean I cannot use it to replace BlastN oder Megablast?

- -

Lambda has a BlastN mode that shares many features of the protein searches (BlastP, BlastX, TBlastN, TBlastX), but that does not benefit from some optimizations that are specific for these modes. Our tests show that Lambda is still a big improvement over BlastN while being in a comparable sensitivity range below e-values of 0.1. Since less time has been spent on tuning the BlastN default parameters we recommend you try it on one of your data sets and compare it to BlastN before you use it with the same confidence. And we are interested in hearing your feedback on this mode and whether we should invest more resources into it!

- -

-What kind of speed-ups can I expect over NCBI Blast?

- -

For protein modes we have measured speed-ups of 150-300x over NCBI Blast. Different options are available to increase speed further (at the cost of system memory or sensitivity of the results); the recommended fast mode has speed-ups over 2000x. The speed-up also depends on the data and is higher if the dataset is bigger.

- -

-What kind of sensitivity can I expect compared NCBI Blast?

- -

For short reads sensitivity was measured to be over 96%. For reads of length over 900 the sensitivity dropped to a little over 80% in the default mode -- but this is still better than with other Blast-competitors. There are different parameters to increase sensitivity at the cost of speed.

- -

-How much memory does Lambda require?

- -

In its default mode Lambda requires approximately the following amount of RAM -size(queryFile) + 2 * size(dbFile) -The indexer has additional memory requirements, please see lambda_indexer --help. Future releases will contain algorithms with much lower requirements and higher speed.

+

The manual, build instructions and much more are available in the wiki!