Skip to content

Commit

Permalink
swarm 3.1.0: improved code and documentation, bugfix, and macOS on ARM64
Browse files Browse the repository at this point in the history
  • Loading branch information
torognes committed Mar 1, 2021
1 parent 0420591 commit 5a3bd71
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 12 deletions.
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -403,6 +403,15 @@ methods, here are some links:

## Version history ##


### version 3.1 ###

**swarm** 3.1 includes a fix for a bug in the 16-bit SIMD alignment
code that was exposed with a combination of d>1, long sequences, and
very high gap penalties. The code has also been been cleaned up,
tested and improved substantially, and it is now fully C++11
compliant. Support for macOS on Apple Silicon (ARM64) has been added.

### version 3.0 ###

**swarm** 3.0 is much faster when _d_ = 1, and consumes less memory.
Expand Down
6 changes: 1 addition & 5 deletions man/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,7 @@ all : swarm_manual.pdf

swarm_manual.pdf : swarm.1
sed -e 's/\\-/-/g' $< | \
if [ $$(uname) == "Darwin" ] ; then \
iconv -f UTF-8 -t ISO-8859-1 ; \
else \
cat ; \
fi | \
iconv -f UTF-8 -t ISO-8859-1 | \
groff -t -m mandoc -T ps -P -pa4 | ps2pdf - $@

clean : swarm_manual.pdf
Expand Down
19 changes: 13 additions & 6 deletions man/swarm.1
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.\" ============================================================================
.TH swarm 1 "October 24, 2019" "version 3.0.0" "USER COMMANDS"
.TH swarm 1 "March 1, 2021" "version 3.1.0" "USER COMMANDS"
.\" ============================================================================
.SH NAME
swarm \(em find clusters of nearly-identical nucleotide amplicons
Expand Down Expand Up @@ -110,9 +110,9 @@ results obtained during the clustering process allows \fBswarm\fR to
avoid most of the amplicon comparisons needed in a naïve approach. To
speed up the remaining amplicon comparisons, \fBswarm\fR implements an
extremely fast Needleman-Wunsch algorithm making use of the Streaming
SIMD Extensions (SSE2) of modern x86-64 CPUs, or NEON instructions of
ARM-64 CPUs. If SSE2 instructions are not available, \fBswarm\fR exits
with an error message.
SIMD Extensions (SSE2) of x86-64 CPUs, NEON instructions of ARM64
CPUs, or Altivec/VMX instructions of POWER8 CPUs. If SSE2 instructions
are not available, \fBswarm\fR exits with an error message.
.PP
\fBswarm\fR can read nucleotide amplicons in fasta format from a
normal file or from the standard input (using a pipe or a
Expand Down Expand Up @@ -462,7 +462,7 @@ Submit suggestions and bug-reports at
.UR https://github.com/torognes/swarm/issues
.UE ,
send a pull request at
.UR https://github.com/torognes/swarm
.UR https://github.com/torognes/swarm/pulls
.UE ,
or compose a friendly or curmudgeonly e-mail to
.MT frederic.mahe@cirad.fr
Expand Down Expand Up @@ -493,7 +493,7 @@ Affero General Public License for more details.
.PP
You should have received a copy of the GNU Affero General Public
License along with this program. If not, see
.UR http://www.gnu.org/licenses/
.UR https://www.gnu.org/licenses/
.UE .
.PP
.\" ============================================================================
Expand All @@ -516,6 +516,13 @@ New features and important modifications of \fBswarm\fR (short lived
or minor bug releases are not mentioned):
.RS
.TP
.BR v3.1.0\~ "released March 1, 2021"
Version 3.1.0 includes a fix for a bug in the 16-bit SIMD alignment
code that was exposed with a combination of d>1, long sequences, and
very high gap penalties. The code has also been been cleaned up,
tested and improved substantially, and it is now fully C++11
compliant. Support for macOS on Apple Silicon (ARM64) has been added.
.TP
.BR v3.0.0\~ "released October 24, 2019"
Version 3.0.0 introduces a faster algorithm for \fId\fR = 1, and a
reduced memory footprint. Swarm has been ported to Windows x86-64,
Expand Down
Binary file modified man/swarm_manual.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion src/swarm.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ static_assert(INT_MAX > INT16_MAX, "Your compiler uses very short integers.");

/* constants */

const std::string swarm_version = {"Swarm 3.0.0"};
const std::string swarm_version = {"Swarm 3.1.0"};
constexpr char sepchar {' '};
constexpr unsigned int bloom_bits_default {16};
constexpr unsigned int qgramlength {5};
Expand Down

0 comments on commit 5a3bd71

Please sign in to comment.