The SWPS3 is not the only Smith-Waterman implementation for the Cell Broadband Engine (Cell BE). While this implementations does handle longer sequences, greater than 3000, which other implementations were not able to handle [1][2][3], it is not the fastest reported. Two papers report a faster implementation.
This first is a paper [2] describing an Alpern implementation running on a PS3. This paper reports speeds approaching 9 GCUPS while able to handle sequences of 3000 residues in length. For optimal performance, the sequence database first needs to be sorted by sequence length.
Another paper [4] describes the port of the Striped Smith-Waterman to the Cell BE. This port achieves speeds of 12 GCUPS on a PS3 and is able to handle sequences of 32,000 residues.
[1] Sachdeva, V., Kistler, M., Speight, E. and Tzeng, T. K. (2007) Exploring the Viability of the Cell Broadband Engine for Bioinformatics Applications. In Proceedings of the 21st IEEE International Parallel and Distributed processing Symposium: Long Beach, California, March 26-30, 2007.
[2] Rudnicki, W. R., Jankowski, A., Modzelewski, A., Piotrowski, A. and Zadrozny, A. (2008) Efficient implementation of the Smith Waterman algorithm on Cell processor. In Bioinformatics 2008 Conference: Warsaw, Poland, April 24-27, 2008.
Author of "Optimizing Smith-Waterman for the Cell Broadband Engine" and "Striped Smith–Waterman speeds database searches six times over other SIMD implementations"
SWPS3 algorithm is buggy
Erik Sjölund, Stockholm University
8 May 2012
A drawback of SWPS3 is that its algorithm is buggy. It sometimes gives the wrong result. For details see
The bug was reported In 2009 to Adam Szalkowski who acknowledged that the bug was reproducible.
As of March 2012 the SWPS3 software still contains the same bug.
Competing interests
I am coauthor of the software diagonalsw, an implementation of Smith-Waterman.
http://diagonalsw.sourceforge.net/
Diagonalsw has not been published in a scientific journal.
Not a bug
Adam Szalkowski, ETH Zürich
24 May 2012
Dear Erik,
thank you for your comment but I still do not consider your use case being a bug as you probably swapped the gap opening and gap extension penalties in your command line. The gap opening penalty (-i) is the penalty that is subtracted from the score when a gap is opened and should be at least as large as the extension penalty (-e).
Depending of you definition of opening/extension penalty you probably should have said:
/tmp/swps3 /tmp/matrices/blosum50.mat /tmp/test/query0100.fa /tmp/test/udb1000.fa -j 1 -i -10 -e -3
or
/tmp/swps3 /tmp/matrices/blosum50.mat /tmp/test/query0100.fa /tmp/test/udb1000.fa -j 1 -i -13 -e -3
Other Smith-Waterman implementations on Cell/BE
19 January 2009
The SWPS3 is not the only Smith-Waterman implementation for the Cell Broadband Engine (Cell BE). While this implementations does handle longer sequences, greater than 3000, which other implementations were not able to handle [1][2][3], it is not the fastest reported. Two papers report a faster implementation.
This first is a paper [2] describing an Alpern implementation running on a PS3. This paper reports speeds approaching 9 GCUPS while able to handle sequences of 3000 residues in length. For optimal performance, the sequence database first needs to be sorted by sequence length.
Another paper [4] describes the port of the Striped Smith-Waterman to the Cell BE. This port achieves speeds of 12 GCUPS on a PS3 and is able to handle sequences of 32,000 residues.
[1] Sachdeva, V., Kistler, M., Speight, E. and Tzeng, T. K. (2007) Exploring the Viability of the Cell Broadband Engine for Bioinformatics Applications. In Proceedings of the 21st IEEE International Parallel and Distributed processing Symposium: Long Beach, California, March 26-30, 2007.
http://www.hicomb.org/HiCOMB2007/proceedings.html. Accessed 2008 Sep 18.
[2] Rudnicki, W. R., Jankowski, A., Modzelewski, A., Piotrowski, A. and Zadrozny, A. (2008) Efficient implementation of the Smith Waterman algorithm on Cell processor. In Bioinformatics 2008 Conference: Warsaw, Poland, April 24-27, 2008.
https://bioinformatics2008.icm.edu.pl/web/guest/abstracts. Accessed 2008 Sep 18.
[3] Wirawan, A., Kwoh, C. K., Hieu, N. T., and Schmidt, B. (2008) CBESW: Sequence Alignment on the Playstation 3. BMC Bioinformatics 9, 377.
http://www.biomedcentral.com/1471-2105/9/377. Accessed 2008 Nov 2.
[4] Farrar, M. S. (2008) Optimizing Smith-Waterman for the Cell Broadband Engine.
http://farrar.michael.googlepages.com/smith-watermanfortheibmcellbe. Accessed 2008 Sep 18.
Competing interests
Competing interests:
Author of "Optimizing Smith-Waterman for the Cell Broadband Engine" and "Striped Smith–Waterman speeds database searches six times over other SIMD implementations"
SWPS3 algorithm is buggy
8 May 2012
A drawback of SWPS3 is that its algorithm is buggy. It sometimes gives the wrong result. For details see
http://diagonalsw.sourceforge.net/#swps3
http://www.sbc.su.se/~esjolund/swps3-bug-report-from-2009-07-26-shellsession.txt
The bug was reported In 2009 to Adam Szalkowski who acknowledged that the bug was reproducible.
As of March 2012 the SWPS3 software still contains the same bug.
Competing interests
I am coauthor of the software diagonalsw, an implementation of Smith-Waterman.
http://diagonalsw.sourceforge.net/
Diagonalsw has not been published in a scientific journal.
Not a bug
24 May 2012
Dear Erik,
thank you for your comment but I still do not consider your use case being a bug as you probably swapped the gap opening and gap extension penalties in your command line. The gap opening penalty (-i) is the penalty that is subtracted from the score when a gap is opened and should be at least as large as the extension penalty (-e).
Depending of you definition of opening/extension penalty you probably should have said:
/tmp/swps3 /tmp/matrices/blosum50.mat /tmp/test/query0100.fa /tmp/test/udb1000.fa -j 1 -i -10 -e -3
or
/tmp/swps3 /tmp/matrices/blosum50.mat /tmp/test/query0100.fa /tmp/test/udb1000.fa -j 1 -i -13 -e -3
Best regards,
Adam
Competing interests
None declared