[med-svn] [swarm-cluster] 01/04: New upstream version 2.1.9
Sascha Steinbiss
satta at debian.org
Sat Sep 17 15:17:22 UTC 2016
This is an automated email from the git hooks/post-receive script.
satta pushed a commit to branch master
in repository swarm-cluster.
commit f973a04f87161a0701aa58b1b18307375921d9ad
Author: Sascha Steinbiss <satta at debian.org>
Date: Sat Sep 17 15:08:54 2016 +0000
New upstream version 2.1.9
---
CITATION | 22 +++++-
README.md | 114 +++++++++++------------------
man/swarm.1 | 134 ++++++++++++++++++----------------
man/swarm_manual.pdf | Bin 25269 -> 25500 bytes
scripts/amplicon_contingency_table.py | 6 +-
src/search16.cc | 36 ++++-----
src/search8.cc | 36 ++++-----
src/swarm.h | 2 +-
8 files changed, 173 insertions(+), 177 deletions(-)
diff --git a/CITATION b/CITATION
index 326c836..4dd8ca2 100644
--- a/CITATION
+++ b/CITATION
@@ -1,8 +1,7 @@
Please cite swarm as follows:
-
-Mahé F, Rognes T, Quince C, de Vargas C, Dunthorn M. (2014) Swarm: robust and fast clustering method for amplicon-based studies. PeerJ 2:e593 <http://dx.doi.org/10.7717/peerj.593>
-
-
+- Mahé F, Rognes T, Quince C, de Vargas C, Dunthorn M. (2014) Swarm: robust and fast clustering method for amplicon-based studies. PeerJ 2:e593 <http://dx.doi.org/10.7717/peerj.593>
+- Mahé F, Rognes T, Quince C, de Vargas C, Dunthorn M. (2015) Swarm v2: highly-scalable and high-resolution amplicon clustering. PeerJ 3:e1420 <https://doi.org/10.7717/peerj.1420>
+
Bibtex format:
@article{10.7717/peerj.593,
@@ -19,3 +18,18 @@ Bibtex format:
url = {http://dx.doi.org/10.7717/peerj.593},
doi = {10.7717/peerj.593}
}
+
+ at article{10.7717/peerj.1420,
+ title = {Swarm v2: highly-scalable and high-resolution amplicon clustering},
+ author = {Mahé, Frédéric and Rognes, Torbjørn and Quince, Christopher and de Vargas, Colomban and Dunthorn, Micah},
+ year = {2015},
+ month = {12},
+ keywords = {Environmental diversity, Barcoding, Molecular operational taxonomic units},
+ abstract = {Previously we presented Swarm v1, a novel and open source amplicon clustering program that produced fine-scale molecular operational taxonomic units (OTUs), free of arbitrary global clustering thresholds and input-order dependency. Swarm v1 worked with an initial phase that used iterative single-linkage with a local clustering threshold (\textit{d}), followed by a phase that used the internal abundance structures of clusters to break chained OTUs. Here we present Swarm v2, w [...]
+ volume = {3},
+ pages = {e1420},
+ journal = {PeerJ},
+ issn = {2167-8359},
+ url = {https://doi.org/10.7717/peerj.1420},
+ doi = {10.7717/peerj.1420}
+}
diff --git a/README.md b/README.md
index 6ffab2a..16586c5 100644
--- a/README.md
+++ b/README.md
@@ -3,13 +3,18 @@
A robust and fast clustering method for amplicon-based studies.
The purpose of **swarm** is to provide a novel clustering algorithm
-that handles massive sets of amplicons. Traditional clustering
-algorithms results are strongly input-order dependent, and rely on an
-arbitrary **global** clustering threshold. **swarm** results are
+that handles massive sets of amplicons. Results of traditional
+clustering algorithms are strongly input-order dependent, and rely on
+an arbitrary **global** clustering threshold. **swarm** results are
resilient to input-order changes and rely on a small **local** linking
-threshold *d*, the maximum number of differences between two
-amplicons. **swarm** forms stable, high-resolution clusters, with a
-high yield of biological information.
+threshold *d*, representing the maximum number of differences between
+two amplicons. **swarm** forms stable, high-resolution clusters, with
+a high yield of biological information.
+
+To help users, we describe
+[a complete pipeline](https://github.com/frederic-mahe/swarm/wiki/Fred's-metabarcoding-pipeline)
+starting from raw fastq files, clustering with **swarm** and producing
+a filtered OTU table.
**swarm** 2.0 introduces several novelties and improvements over
swarm 1.0:
@@ -21,8 +26,8 @@ high yield of biological information.
* a new option called *fastidious* that refines *d* = 1 results and
reduces the number of small OTUs,
-Table of Content
-================
+Table of Contents
+=================
* [Common misconceptions](#common_misconceptions)
* [Quick start](#quick_start)
@@ -41,48 +46,7 @@ Table of Content
* [Contact](#contact)
* [Third-party pipelines](#pipelines)
* [Alternatives](#alternatives)
-* [New features](#features)
- * [version 2.1.8](#version218)
- * [version 2.1.7](#version217)
- * [version 2.1.6](#version216)
- * [version 2.1.5](#version215)
- * [version 2.1.4](#version214)
- * [version 2.1.3](#version213)
- * [version 2.1.2](#version212)
- * [version 2.1.1](#version211)
- * [version 2.1.0](#version210)
- * [version 2.0.7](#version207)
- * [version 2.0.6](#version206)
- * [version 2.0.5](#version205)
- * [version 2.0.4](#version204)
- * [version 2.0.3](#version203)
- * [version 2.0.2](#version202)
- * [version 2.0.1](#version201)
- * [version 2.0.0](#version200)
- * [version 1.2.21](#version1221)
- * [version 1.2.20](#version1220)
- * [version 1.2.19](#version1219)
- * [version 1.2.18](#version1218)
- * [version 1.2.17](#version1217)
- * [version 1.2.16](#version1216)
- * [version 1.2.15](#version1215)
- * [version 1.2.14](#version1214)
- * [version 1.2.13](#version1213)
- * [version 1.2.12](#version1212)
- * [version 1.2.11](#version1211)
- * [version 1.2.10](#version1210)
- * [version 1.2.9](#version129)
- * [version 1.2.8](#version128)
- * [version 1.2.7](#version127)
- * [version 1.2.6](#version126)
- * [version 1.2.5](#version125)
- * [version 1.2.4](#version124)
- * [version 1.2.3](#version123)
- * [version 1.2.2](#version122)
- * [version 1.2.1](#version121)
- * [version 1.2.0](#version120)
- * [version 1.1.1](#version111)
- * [version 1.1.0](#version110)
+* [Version history](#history)
<a name="common_misconceptions"/>
## Common misconceptions ##
@@ -91,9 +55,9 @@ Table of Content
similarities with other clustering methods (e.g.,
[Huse et al, 2010](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2909393/)). **swarm**'s
novelty is its iterative growth process and the use of sequence
- abundance values to delineate OTUs. Swarm properly delineates large
- OTUs (high recall), while being able to distinguish OTUs with as
- little as two differences between their centers (high precision).
+ abundance values to delineate OTUs. **swarm** properly delineates
+ large OTUs (high recall), and can distinguish OTUs with as little as
+ two differences between their centers (high precision).
**swarm** uses a local clustering threshold (*d*), not a global
clustering threshold like other algorithms do. Users may be tempted
@@ -124,7 +88,7 @@ Table of Content
./swarm amplicons.fasta
```
-That command will apply default parameters to the fasta file
+That command will apply default parameters (`-d 1`) to the fasta file
`amplicons.fasta`. The fasta file must be formatted as follows:
```
@@ -136,7 +100,7 @@ cgtcgtcgtcgtcgt
where sequence identifiers are unique and end with a value indicating
the number of occurrences of the sequence (e.g., `_1000`). Alternative
-formats are possible, please see the
+format is possible with the option `-z`, please see the
[user manual](https://github.com/torognes/swarm/blob/master/man/swarm_manual.pdf). Swarm
**requires** each fasta entry to present a number of occurrences to
work properly. That crucial information can be produced during the
@@ -203,7 +167,7 @@ converted to fasta.
<a name="linearization"/>
### Linearization ###
-Swarm accepts wrapped fasta files as well as linear fasta
+**swarm** accepts wrapped fasta files as well as linear fasta
files. However, linear fasta files where amplicons are written on two
lines (one line for the fasta header, one line for the sequence) are
easier to manipulate. For instance, many post-clustering queries can
@@ -280,9 +244,9 @@ you still want to run swarm, you can easily add fake abundance values:
sed '/^>/ s/$/_1/' amplicons.fasta > amplicons_with_abundances.fasta
```
-Alternatively, you may specify a default abundance value with the
-`--append-abundance` (`-a`) option to be used when abundance information
-is missing from a sequence.
+Alternatively, you may specify a default abundance value with
+**swarm**'s `--append-abundance` (`-a`) option to be used when
+abundance information is missing from a sequence.
<a name="launch"/>
### Launch swarm ###
@@ -293,11 +257,11 @@ Here is a typical way to use **swarm**:
./swarm -f -t 4 -w OTU_representatives.fasta amplicons.fasta > /dev/null
```
-Swarm will partition your dataset with the finest resolution (local
-number of differences *d* = 1 by default, built-in elimination of
-potential chained OTUs, fastidious processing) using 4 CPU-cores. OTU
-representatives will be written to a new fasta file, other results
-will be discarded (`/dev/null`).
+**swarm** will partition your dataset with the finest resolution
+(local number of differences *d* = 1 by default, built-in elimination
+of potential chained OTUs, fastidious processing) using 4
+CPU-cores. OTU representatives will be written to a new fasta file,
+other results will be discarded (`/dev/null`).
See the
[user manual](https://github.com/torognes/swarm/blob/master/man/swarm_manual.pdf)
@@ -317,12 +281,12 @@ that the amplicon fasta file was prepared as describe above
### Refine swarm OTUs ###
The chain-breaking, which used to be performed in a second step in
-swarm 1.0, is now built-in and performed by default. It is possible to
-deactivate it with the `--no-otu-breaking` option, but it is not
-recommended. The fastidious option is recommended when using *d* = 1,
-as it will reduce the number of small OTUs while maintaining a high
-clustering resolution. The principle of the fastidious option is
-described in the figure below:
+**swarm** 1.0, is now built-in and performed by default. It is
+possible to deactivate it with the `--no-otu-breaking` option, but it
+is not recommended. The fastidious option is recommended when using
+*d* = 1, as it will reduce the number of small OTUs while maintaining
+a high clustering resolution. The principle of the fastidious option
+is described in the figure below:
![](https://github.com/frederic-mahe/swarm/blob/master/figures/swarm_2.0_fastidious_reduced.png)
@@ -433,8 +397,14 @@ methods, here are some links:
* [Sumaclust](http://metabarcoding.org/sumatra)
* [Crunchclust](https://code.google.com/p/crunchclust/)
-<a name="features"/>
-## New features##
+
+<a name="history"/>
+## Version history##
+
+<a name="version219"/>
+### version 2.1.9 ###
+
+**swarm** 2.1.9 fixes a problem when compiling with GCC version 6.
<a name="version218"/>
### version 2.1.8 ###
diff --git a/man/swarm.1 b/man/swarm.1
index b2af08d..a504f7d 100644
--- a/man/swarm.1
+++ b/man/swarm.1
@@ -1,5 +1,5 @@
.\" ============================================================================
-.TH swarm 1 "March 11, 2016" "version 2.1.8" "USER COMMANDS"
+.TH swarm 1 "July 6, 2016" "version 2.1.9" "USER COMMANDS"
.\" ============================================================================
.SH NAME
swarm \(em find clusters of nearly-identical nucleotide amplicons
@@ -20,8 +20,8 @@ algorithms, with arbitrary selection of global cluster size and
cluster centroids. To address that problem, we developed \fBswarm\fR,
a fast and robust method that recursively groups amplicons with
\fId\fR or less differences. \fBswarm\fR produces natural and stable
-clusters centered on local peaks of abundance, free from centroid
-selection induced input-order dependency.
+clusters centered on local peaks of abundance, mostly free from
+input-order dependency induced by centroid selection.
.PP
Exact clustering is impractical on large data sets when using a naïve
all-vs-all approach (more precisely a 2-combination without
@@ -60,22 +60,20 @@ other symbol is present.
.\" ----------------------------------------------------------------------------
.SS General options
.TP 9
-.BI \-b\fP,\fB\ \-\-boundary\~ "positive integer"
-when using the option \-\-fastidious (\-f), define the minimum mass of
-a large OTU as the number given with this option. The default value is
-3, indicating that any OTU with mass 3 or more is considered "large".
-By default, an OTU is "small" if it has a mass of 2 or less, meaning
-that it is composed of either one amplicon of abundance 2, or two
-amplicons of abundance 1. Any positive value greater than 1 can be
-specified. Using higher boundary values will speed up the second pass,
-but also reduce the taxonomical resolution of \fBswarm\fR results.
+.B \-h\fP,\fB\ \-\-help
+display this help and exit.
.TP
-.BI \-c\fP,\fB\ \-\-ceiling\~ "positive integer"
-when using the option \-\-fastidious (\-f), define \fBswarm\fR's
-maximum memory footprint (in megabytes). \fBswarm\fR will adjust the
-\-\-bloom\-bits (\-y) value of the Bloom filter to fit within the
-specified amount of memory. That option is not active by default.
+.BI \-t\fP,\fB\ \-\-threads\~ "positive integer"
+number of computation threads to use. Values between 1 and 256 are
+accepted, but we recommend to use a number of threads lesser or equal
+to the number of available CPU cores. Default number of threads is 1.
.TP
+.B \-v\fP,\fB\ \-\-version
+output version information and exit.
+.LP
+.\" ----------------------------------------------------------------------------
+.SS Clustering options
+.TP 9
.BI \-d\fP,\fB\ \-\-differences\~ "zero or positive integer"
maximum number of differences allowed between two amplicons, meaning
that two amplicons will be grouped if they have \fIinteger\fR (or
@@ -83,37 +81,15 @@ less) differences. This is \fBswarm\fR's most important parameter. The
number of differences is calculated as the number of mismatches
(substitutions, insertions or deletions) between the two amplicons
once the optimal pairwise global alignment has been found (see
-"pairwise alignment advanced options" to influencing that step). Any
+"pairwise alignment advanced options" to influence that step). Any
\fIinteger\fR between 0 and 256 can be used, but high \fId\fR values
will decrease the taxonomical resolution of \fBswarm\fR
results. Commonly used \fId\fR values are 1, 2 or 3, rarely
higher. When using \fId\fR = 0, \fBswarm\fR will output results
corresponding to a strict dereplication of the dataset, i.e. merging
-identical amplicons. Warning, \fBswarm\fR still requires fasta entries
-to present abundance values. Default number of differences is 1.
-.TP
-.B \-f\fP,\fB\ \-\-fastidious
-when working with \fId\fR = 1, perform a second clustering pass to
-reduce the number of small OTUs (recommended option). During the
-clustering process with \fId\fR = 1, an intermediate amplicon can be
-missing for purely stochastic reasons, interrupting the aggregation
-process. That option will create virtual amplicons, allowing to graft
-small OTUs upon bigger ones. By default, an OTU is "small" if it has a
-mass of 2 or less (see the \-\-boundary option to increase that
-value). To speed things up, \fBswarm\fR uses a Bloom filter to store
-intermediate results. Warning, that second pass can be 2 to 3 times
-slower than the first pass and requires much more memory. See the
-options \-\-bloom\-bits (\-y) or \-\-ceiling (\-c) to control the
-memory footprint of the Bloom filter. Warning, the fastidious option
-modifies clustering results. The output files produced by the options
-\-\-log (\-l), \-\-output\-file (\-o), \-\-mothur (\-r),
-\-\-uclust\-file, and \-\-seeds (\-w) are updated to reflect these
-modifications; the file \-\-statistics\-file (\-s) is partially
-updated (columns 6 and 7 are not updated); the output file
-\-\-internal\-structure (\-i) is not updated.
-.TP
-.B \-h\fP,\fB\ \-\-help
-display this help and exit.
+identical amplicons. Warning, whatever the \fId\fR value, \fBswarm\fR
+requires fasta entries to present abundance values. Default number of
+differences is 1.
.TP
.B \-n\fP,\fB\ \-\-no\-otu\-breaking
deactivate the built-in OTU refinement (not recommended). Amplicon
@@ -122,21 +98,53 @@ OTUs and to separate them, yielding higher-resolution clustering
results. That option prevents that separation, and in practice, allows
the creation of a link between amplicons A and B, even if the
abundance of B is higher than the abundance of A.
+.LP
+.\" ----------------------------------------------------------------------------
+.SS Fastidious options
+.TP 9
+.BI \-b\fP,\fB\ \-\-boundary\~ "positive integer"
+when using the option \-\-fastidious (\-f), define the minimum mass of
+a \fIlarge\fR OTU. By default, an OTU with a mass of 3 or more is
+considered large. Conversely, an OTU is small if it has a mass of less
+than 3, meaning that it is composed of either one amplicon of
+abundance 2, or two amplicons of abundance 1. Any positive value
+greater than 1 can be specified. Using higher boundary values will
+speed up the second pass, but also reduce the taxonomical resolution
+of \fBswarm\fR results. Default mass of a large OTU is 3.
.TP
-.BI \-t\fP,\fB\ \-\-threads\~ "positive integer"
-number of computation threads to use. The number of threads should be
-lesser or equal to the number of available CPU cores. Default number
-of threads is 1.
+.BI \-c\fP,\fB\ \-\-ceiling\~ "positive integer"
+when using the option \-\-fastidious (\-f), define \fBswarm\fR's
+maximum memory footprint (in megabytes). \fBswarm\fR will adjust the
+\-\-bloom\-bits (\-y) value of the Bloom filter to fit within the
+specified amount of memory.
.TP
-.B \-v\fP,\fB\ \-\-version
-output version information and exit.
+.B \-f\fP,\fB\ \-\-fastidious
+when working with \fId\fR = 1, perform a second clustering pass to
+reduce the number of small OTUs (recommended option). During the first
+clustering pass, an intermediate amplicon can be missing for purely
+stochastic reasons, interrupting the aggregation process. The
+fastidious option will create virtual amplicons, allowing to graft
+small OTUs upon bigger ones. By default, an OTU is small if it has a
+mass of 2 or less (see the \-\-boundary option to modify that
+value). To speed things up, \fBswarm\fR uses a Bloom filter to store
+intermediate results. Warning, the second clustering pass can be 2 to
+3 times slower than the first pass and requires much more memory to
+store the virtual amplicons in Bloom filters. See the options
+\-\-bloom\-bits (\-y) or \-\-ceiling (\-c) to control the memory
+footprint of the Bloom filter. The fastidious option modifies
+clustering results: the output files produced by the options \-\-log
+(\-l), \-\-output\-file (\-o), \-\-mothur (\-r), \-\-uclust\-file, and
+\-\-seeds (\-w) are updated to reflect these modifications; the file
+\-\-statistics\-file (\-s) is partially updated (columns 6 and 7 are
+not updated); the output file \-\-internal\-structure (\-i) is not
+updated.
.TP
.BI \-y\fP,\fB\ \-\-bloom\-bits\~ "positive integer"
when using the option \-\-fastidious (\-f), define the size (in bits)
of each entry in the Bloom filter. That option allows to balance the
efficiency (i.e. speed) and the memory footprint of the Bloom
filter. Large values will make the Bloom filter more efficient but
-will require more memory. Any value between 4 and 20 can be
+will require more memory. Any value between 2 and 64 can be
used. Default value is 16. See the \-\-ceiling (\-c) option for an
alternative way to control the memory footprint.
.LP
@@ -183,7 +191,8 @@ in situations where writing to \fIstandard error\fR is problematic
.BI \-o\fP,\fB\ \-\-output\-file \0filename
output clustering results to \fIfilename\fR. Results consist of a list
of OTUs, one OTU per line. An OTU is a list of amplicon identifiers
-separated by spaces. Default is to write to standard output.
+separated by spaces. That output format can be modified by the option
+\-\-mothur (\-r). Default is to write to standard output.
.TP
.B \-r\fP,\fB\ \-\-mothur
output clustering results in a format compatible with Mothur. That
@@ -237,22 +246,22 @@ options modifying the pairwise global alignment scoring parameters:
.RS
.TP 9
.BI \-m\fP,\fB\ \-\-match\-reward\~ "positive integer"
-set the reward for a nucleotide match. Default is 5.
+Default reward for a nucleotide match is 5.
.TP
.BI \-p\fP,\fB\ \-\-mismatch\-penalty\~ "positive integer"
-set the penalty for a nucleotide mismatch. Default is 4.
+Default penalty for a nucleotide mismatch is 4.
.TP
.BI \-g\fP,\fB\ \-\-gap\-opening\-penalty\~ "positive integer"
-set the gap open penalty. Default is 12.
+Default gap opening penalty is 12.
.TP
.BI \-e\fP,\fB\ \-\-gap\-extension\-penalty\~ "positive integer"
-set the gap extension penalty. Default is 4.
+Default gap extension penalty is 4.
.LP
.RE
-As \fBswarm\fR focuses on close relationships (i.e. \fId\fR = 2 or 3),
-clustering results are resilient to pairwise alignment model
-parameters modifications. Modifying model parameters has a stronger
-impact when clustering using a higher \fId\fR value.
+As \fBswarm\fR focuses on close relationships (e.g., \fId\fR = 2 or
+3), clustering results are resilient to pairwise alignment model
+parameters modifications. When clustering using a higher \fId\fR
+value, modifying model parameters has a stronger impact.
.\" classic parameters are +5/-4/-12/-1
.\" ============================================================================
.SH EXAMPLES
@@ -329,15 +338,18 @@ New features and important modifications of \fBswarm\fR (short lived
or minor bug releases are not mentioned):
.RS
.TP
+.BR v2.1.9\~ "released July 6, 2016"
+Version 2.1.9 fixes errors when compiling with GCC version 6.
+.TP
.BR v2.1.8\~ "released March 11, 2016"
Version 2.1.8 fixes a rare bug triggered when clustering extremely
short undereplicated sequences. Also, alignment parameters are not
-shown when \fId\rR=1.
+shown when \fId\fR = 1.
.TP
.BR v2.1.7\~ "released February 24, 2016"
Version 2.1.7 fixes a bug in the output of seeds with the \-w option
when \fId\fR > 1 that was not properly fixed in version 2.1.6. It also
-handles ascii character no 13 (CR) in FASTA files better. Swarm will
+handles ascii character n°13 (CR) in FASTA files better. Swarm will
now exit with status 0 if the \-h or the \-v option is specified. The
help text and some error messages have been improved.
.TP
diff --git a/man/swarm_manual.pdf b/man/swarm_manual.pdf
index c9d0ba4..2e67208 100644
Binary files a/man/swarm_manual.pdf and b/man/swarm_manual.pdf differ
diff --git a/scripts/amplicon_contingency_table.py b/scripts/amplicon_contingency_table.py
index c9ed774..dc40bac 100644
--- a/scripts/amplicon_contingency_table.py
+++ b/scripts/amplicon_contingency_table.py
@@ -8,8 +8,8 @@
from __future__ import print_function
__author__ = "Frédéric Mahé <mahe at rhrk.uni-kl.fr>"
-__date__ = "2015/03/15"
-__version__ = "$Revision: 2.0"
+__date__ = "2016/03/12"
+__version__ = "$Revision: 2.1"
import os
import sys
@@ -38,7 +38,7 @@ def fasta_parse():
with open(fasta_file, "rU") as fasta_file:
for line in fasta_file:
if line.startswith(">"):
- amplicon, abundance = line.strip(">\n").split(separator)
+ amplicon, abundance = line.strip(">;\n").split(separator)
abundance = int(abundance)
if amplicon not in amplicons2samples:
amplicons2samples[amplicon] = {sample: abundance}
diff --git a/src/search16.cc b/src/search16.cc
index 0129a8e..fffb411 100644
--- a/src/search16.cc
+++ b/src/search16.cc
@@ -155,31 +155,31 @@ inline void dprofile_fill16(WORD * dprofile_word,
" xorq %%r11, %%r11 \n"
#define ONESTEP(H, N, F, V, DIR) \
- " paddusw "V", "H" \n" \
- " movdqa "H", %%xmm13 \n" \
- " pcmpgtw "F", %%xmm13 \n" \
+ " paddusw " V ", " H " \n" \
+ " movdqa " H ", %%xmm13 \n" \
+ " pcmpgtw " F ", %%xmm13 \n" \
" pmovmskb %%xmm13, %%edx \n" \
- " movw %%dx, 0+"DIR" \n" \
- " pminsw "F", "H" \n" \
- " pminsw %%xmm12, "H" \n" \
- " movdqa "H", %%xmm13 \n" \
+ " movw %%dx, 0+" DIR " \n" \
+ " pminsw " F ", " H " \n" \
+ " pminsw %%xmm12, " H " \n" \
+ " movdqa " H ", %%xmm13 \n" \
" pcmpeqw %%xmm12, %%xmm13 \n" \
" pmovmskb %%xmm13, %%edx \n" \
- " movw %%dx, 2+"DIR" \n" \
- " movdqa "H", "N" \n" \
- " paddusw %%xmm14, "H" \n" \
- " paddusw %%xmm15, "F" \n" \
+ " movw %%dx, 2+" DIR " \n" \
+ " movdqa " H ", " N " \n" \
+ " paddusw %%xmm14, " H " \n" \
+ " paddusw %%xmm15, " F " \n" \
" paddusw %%xmm15, %%xmm12 \n" \
- " movdqa "H", %%xmm13 \n" \
- " pcmpgtw "F", %%xmm13 \n" \
+ " movdqa " H ", %%xmm13 \n" \
+ " pcmpgtw " F ", %%xmm13 \n" \
" pmovmskb %%xmm13, %%edx \n" \
- " movw %%dx, 4+"DIR" \n" \
- " movdqa "H", %%xmm13 \n" \
+ " movw %%dx, 4+" DIR " \n" \
+ " movdqa " H ", %%xmm13 \n" \
" pcmpgtw %%xmm12, %%xmm13 \n" \
" pmovmskb %%xmm13, %%edx \n" \
- " movw %%dx, 6+"DIR" \n" \
- " pminsw "H", %%xmm12 \n" \
- " pminsw "H", "F" \n"
+ " movw %%dx, 6+" DIR " \n" \
+ " pminsw " H ", %%xmm12 \n" \
+ " pminsw " H ", " F " \n"
inline void donormal16(__m128i * Sm,
diff --git a/src/search8.cc b/src/search8.cc
index e022940..25a52b5 100644
--- a/src/search8.cc
+++ b/src/search8.cc
@@ -443,31 +443,31 @@ inline void dprofile_fill8(BYTE * dprofile,
#define ONESTEP(H, N, F, V, DIR) \
- " paddusb "V", "H" \n" \
- " movdqa "H", %%xmm13 \n" \
- " pcmpgtb "F", %%xmm13 \n" \
+ " paddusb " V ", " H " \n" \
+ " movdqa " H ", %%xmm13 \n" \
+ " pcmpgtb " F ", %%xmm13 \n" \
" pmovmskb %%xmm13, %%edx \n" \
- " movw %%dx, 0+"DIR" \n" \
- " pminub "F", "H" \n" \
- " pminub %%xmm12, "H" \n" \
- " movdqa "H", %%xmm13 \n" \
+ " movw %%dx, 0+" DIR " \n" \
+ " pminub " F ", " H " \n" \
+ " pminub %%xmm12, " H " \n" \
+ " movdqa " H ", %%xmm13 \n" \
" pcmpeqb %%xmm12, %%xmm13 \n" \
" pmovmskb %%xmm13, %%edx \n" \
- " movw %%dx, 2+"DIR" \n" \
- " movdqa "H", "N" \n" \
- " paddusb %%xmm14, "H" \n" \
- " paddusb %%xmm15, "F" \n" \
+ " movw %%dx, 2+" DIR " \n" \
+ " movdqa " H ", " N " \n" \
+ " paddusb %%xmm14, " H " \n" \
+ " paddusb %%xmm15, " F " \n" \
" paddusb %%xmm15, %%xmm12 \n" \
- " movdqa "H", %%xmm13 \n" \
- " pcmpgtb "F", %%xmm13 \n" \
+ " movdqa " H ", %%xmm13 \n" \
+ " pcmpgtb " F ", %%xmm13 \n" \
" pmovmskb %%xmm13, %%edx \n" \
- " movw %%dx, 4+"DIR" \n" \
- " movdqa "H", %%xmm13 \n" \
+ " movw %%dx, 4+" DIR " \n" \
+ " movdqa " H ", %%xmm13 \n" \
" pcmpgtb %%xmm12, %%xmm13 \n" \
" pmovmskb %%xmm13, %%edx \n" \
- " movw %%dx, 6+"DIR" \n" \
- " pminub "H", %%xmm12 \n" \
- " pminub "H", "F" \n"
+ " movw %%dx, 6+" DIR " \n" \
+ " pminub " H ", %%xmm12 \n" \
+ " pminub " H ", " F " \n"
inline void donormal8(__m128i * Sm,
__m128i * hep,
diff --git a/src/swarm.h b/src/swarm.h
index e7eb55f..2d2dd51 100644
--- a/src/swarm.h
+++ b/src/swarm.h
@@ -52,7 +52,7 @@
#define LINE_MAX 2048
#endif
-#define SWARM_VERSION "2.1.8"
+#define SWARM_VERSION "2.1.9"
#define WIDTH 32
#define WIDTH_SHIFT 5
#define BLOCKWIDTH 32
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/swarm-cluster.git
More information about the debian-med-commit
mailing list