Skip to content
Commits on Source (12)
......@@ -12,7 +12,7 @@ find_package (JNI REQUIRED)
################################################################################
set (plast_VERSION_MAJOR 2)
set (plast_VERSION_MINOR 3)
set (plast_VERSION_PATCH 1)
set (plast_VERSION_PATCH 2)
set (plast-version ${plast_VERSION_MAJOR}.${plast_VERSION_MINOR}.${plast_VERSION_PATCH})
set (plast-date "xxxx-xx-xx")
......
PLAST - c++ project
===================
This project contains:
----------------------
1. C++/11 source code ('src' directory);
2. sample Fasta files to test software ('db' directory);
3. cmake file to compile the project.
Requirements
------------
1. cmake 2.6 or above;
2. gcc 4.4+ (Linux), gcc/Mingw64 (Windows) or clang (MacOSX) compiler.
Compiling PLAST
---------------
The PLAST library can be compiled in a terminal with the cmake tool.
As a result of source code compilation, one should get a dynamic library (in 'build/lib'
directory) and a commend-line tool (in 'build/bin' directory). You can test resulting
binary using the 'test-plast.sh' script provided in 'scripts' directory.
Requirements:
* Linux:
kernel 2.6+
gcc 4.4+
cmake 2.8+
* MacOS:
OS 10.7+
cmake 2.8+
XCode 4+ and its command-line development tools
* Windows:
Seven+
cmake 2.8+
MinGW-64 environment (since gcc is required to compile PLAST)
Be aware that the more recent OS version you use, the more faster PLAST will be.
Once the source archive has been retrieved and unzipped, one just has to do:
Linux:
mkdir build
cd build
cmake ..
make
MacOS:
set CC=gcc
set CXX=g++
mkdir build
cd build
cmake ..
make
Windows: (use MinGW-MSYS to run a real Unix shell)
mkdir build
cd build
cmake -G "MSYS Makefiles" ..
make
Developer documentation
-----------------------
See https://project.inria.fr/plast/developer-guide/
License
-------
PLAST is free software; you can redistribute it and/or modify it under the Affero GPL v3
license. See http://www.gnu.org/licenses/agpl-3.0.en.html
PLAST Library
=============
What is PLAST?
--------------
PLAST stands for Parallel Local Sequence Alignment Search Tool and is was published in [BMC Bioinformatics, 2009](http://www.biomedcentral.com/1471-2105/10/329).
PLAST is a fast, accurate and NGS scalable bank-to-bank sequence similarity search tool providing significant accelerations of seeds-based heuristic comparison methods, such as the Blast suite of algorithms.
Relying on unique software architecture, PLAST takes full advantage of recent multi-core personal computers without requiring any additional hardware devices.
PLAST is a general purpose sequence comparison tool providing the following benefits:
* PLAST is a high-performance sequence comparison tool designed to compare two sets of sequences (query vs. reference),
* Reduces the processing time of sequences comparisons while providing highest quality results; i.e. PLAST *is* faster than BLAST *and* provides its quality,
* Contains a fully integrated data filtering engine capable of selecting relevant hits with user-defined criteria (E-Value, identity, coverage, alignment length, etc.),
* Does not require any additional hardware, since it is a software solution. It is easy to install, cost-effective, takes full advantage of multi-core processors and uses a small RAM footprint,
* Ready to be used on desktop computer, cluster, cloud as well as within distributed system running Hadoop.
What is PLAST Library?
----------------------
PLAST Library is written in c++/11 and provides all the needed software components required for comparing two sequence databases with the PLAST algorithm.
As a library, it should not contain any 'main' function. However, to simplify the use of the library as a command-line tool the library provides:
1. an API to setup new softwares relying on PLAST;
2. a main class (tools::PlastCmd.cpp) to directly provide a ready-to-use PLAST command-line tool.
This project contains:
----------------------
1. C++/11 source code ('src' directory);
2. CMake file to compile the project on various 64bit OS, such as Linux, MacOSX and Windows;
3. API documentation ('doc' directory);
4. sample code snippets illustrating the use of the API ('examples' directory);
5. sample Fasta files to test the software ('test/db' directory);
Requirements
------------
The PLAST library can be compiled in a terminal with the [CMake tool](https://cmake.org/).
Requirements:
* **Hardware**: Intel/AMD 64bit processor provising SSE2+ instructions set
* **Linux**:
kernel 2.6+ ;
gcc 4.4+ ;
cmake 2.8+
* **MacOS**:
OS 10.9+ ;
cmake 2.8+ ;
XCode and its command-line development tools (clang)
* **Windows**:
Seven+ ;
cmake 2.8+ ;
MinGW-64 environment (since gcc is required to compile PLAST)
Be aware that the more recent OS version you use, the more faster PLAST will be. Same for gcc/clang.
Compiling PLAST binary
----------------------
Once the source has been retrieved, one just has to do:
*Linux:*
cd plast-library
git checkout stable #see comment [1] below
mkdir build ; cd build ; cmake .. ; make -j8
*MacOS:*
cd plast-library
git checkout stable #see comment [1] below
set CC=gcc
set CXX=g++
mkdir build ; cd build ; cmake .. ; make -j8
*Windows* (use MinGW-MSYS to run a real Unix shell):
cd plast-library
git checkout stable #see comment [1] below
mkdir build ; cd build ; cmake -G "MSYS Makefiles" .. ; make -j8
As a result of source code compilation, one should get a dynamic library (in 'build/lib' directory) and a command-line tool (in 'build/bin' directory).
PlastCmd is a self-contained command-line tool: you can move it anywhere you want, even renaming it; for instance, the PLAST team from Inria provide pre-compiled PLAST binary renamed as 'plast'.
**Comment [1]** - We *ALWAYS* advise you to compile PLAST from its stable release:
* Github users: after the "git clone", you should run "git checkout stable" before compiling the code. Indeed, compiling PLAST from the master branch is done at your own risk, since this is the development branch of PLAST. As a result, the software may be unstable. This is the reason why PLAST is always tagged with "stable", a tag corresponding to the latest available stable release.
* "tar.gz" users: if you retrieve PLAST from its [stable archive](https://plast.inria.fr/developer-guide/) from PLAST web site, you do not have to run 'git checkout stable', since we provide you with a stable archive.
Running PLAST cmdline tool
--------------------------
cd plast-library/build/bin
./PlastCmd -p plastp \
-i ../../test/db/query.fa \
-d ../../test/db/tursiops.fa \
-o result.txt
* -p: the comparison method
* -i: the query
* -d: the reference databank (can be a Fasta file or a Blast databank)
* -o: the result file
More options: see documentation...
User documentation
------------------
To get PlastCmd inline help:
./PlastCmd -h
PLAST user documentation is [here](https://plast.inria.fr/user-guide/).
Compiling PLAST c++ snippets
---------------------------------
Developers can see how to use the PLAST c++ API through snippets provided with this project.
Snippets compilation is done as follows:
cd plast-library/build
make examples
Snippet binaries will be located in 'build/bin'.
Snippets documentation: [http://plast.gforge.inria.fr/docs/cpp/snippets_page.html](http://plast.gforge.inria.fr/docs/cpp/snippets_page.html)
Compiling PLAST API documentation
---------------------------------
This documentation is available at [http://plast.gforge.inria.fr/docs/cpp/](http://plast.gforge.inria.fr/docs/cpp/).
However, you can prepare a local documentation as follows (we suppose you already have compiled PLAST binary, see above):
cd plast-library/build
make doc-api
Developer documentation
-----------------------
See [http://plast.gforge.inria.fr/docs/cpp/](http://plast.gforge.inria.fr/docs/cpp/).
More information and contact
-----------------------------
Please, visit [PLAST web site](https://plast.inria.fr/) for more information and contact (questions regarding the use of PLAST, bug report, feature request, etc.).
License
-------
PLAST is free software; you can redistribute it and/or modify it under the Affero GPL v3
license. See http://www.gnu.org/licenses/agpl-3.0.en.html
plast (2.3.2+dfsg-1) unstable; urgency=medium
* Point watch file to github
* New upstream version
* debhelper 11
* Point Vcs fields to salsa.debian.org
* Standards-Version: 4.1.5
* Regard DEB_BUILD_OPTIONS in override_dh_auto_test
* d/rules: Limit parsing d/changelog
-- Andreas Tille <tille@debian.org> Fri, 13 Jul 2018 19:20:45 +0200
plast (2.3.1+dfsg-4) unstable; urgency=medium
* Team upload.
......
......@@ -3,13 +3,13 @@ Maintainer: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.
Uploaders: Andreas Tille <tille@debian.org>
Section: science
Priority: optional
Build-Depends: debhelper (>= 9),
Build-Depends: debhelper (>= 11~),
cmake,
libpcre3-dev,
default-jdk
Standards-Version: 3.9.8
Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/plast.git
Vcs-Git: https://anonscm.debian.org/git/debian-med/plast.git
Standards-Version: 4.1.5
Vcs-Browser: https://salsa.debian.org/med-team/plast
Vcs-Git: https://salsa.debian.org/med-team/plast.git
Homepage: https://plast.inria.fr/
Package: plast
......
......@@ -4,18 +4,18 @@ Description: Adapt test script to Debian installation
--- a/scripts/test-plast.sh
+++ b/scripts/test-plast.sh
@@ -15,14 +15,17 @@
@@ -17,15 +17,17 @@
# *****************************************************************************/
# We get the directory of the script (absolute path)
-_scripts_dir=$( cd -P -- "$(dirname -- "$(command -v -- "$0")")" && pwd -P )
-_result=$_scripts_dir/out.txt
+#_scripts_dir=$( cd -P -- "$(dirname -- "$(command -v -- "$0")")" && pwd -P )
+BUILD_DIR=obj-$(dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DATA_DIR=$(pwd)/db
+_script=`find $(pwd)/obj-x86_64-linux-gnu/bin -name plast -executable`
+_result=`dirname $_script`/out.txt
echo
echo "Start PLAST..."
echo
......
Author: Andreas Tille <tille@debian.org>
Last-Update: Tue, 09 Feb 2016 10:20:36 +0100
Description: Fix for more picky gcc-5
--- a/src/tools/PlastCmd.cpp
+++ b/src/tools/PlastCmd.cpp
@@ -159,7 +159,7 @@ int main (int argc, char* argv[])
}
catch (...)
{
- fprintf (stderr, MSG_MAIN_MSG4);
+ fprintf (stderr, "%s", MSG_MAIN_MSG4);
}
return 0;
......@@ -2,9 +2,9 @@ Description: make build reproducible
Author: Sascha Steinbiss <sascha@steinbiss.name>
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,20 +14,20 @@
@@ -14,20 +14,20 @@ set (plast_VERSION_MAJOR 2)
set (plast_VERSION_MINOR 3)
set (plast_VERSION_PATCH 1)
set (plast_VERSION_PATCH 2)
set (plast-version ${plast_VERSION_MAJOR}.${plast_VERSION_MINOR}.${plast_VERSION_PATCH})
-set (plast-date "xxxx-xx-xx")
+set (plast-date $ENV{BDATE})
......@@ -31,7 +31,7 @@ Author: Sascha Steinbiss <sascha@steinbiss.name>
################################################################################
# set files
@@ -35,7 +35,9 @@
@@ -35,7 +35,9 @@ ENDIF (PERL_FOUND)
set (LIBRARY_OUTPUT_PATH lib/${CMAKE_BUILD_TYPE})
set (EXECUTABLE_OUTPUT_PATH bin/${CMAKE_BUILD_TYPE})
file (GLOB_RECURSE PlastLibraryFiles src/*)
......@@ -43,7 +43,7 @@ Author: Sascha Steinbiss <sascha@steinbiss.name>
# prepare targets
--- a/src/misc/api/version.hpp.in
+++ b/src/misc/api/version.hpp.in
@@ -37,7 +37,7 @@
@@ -37,7 +37,7 @@ namespace misc {
#define PLAST_BUILD_DATE "${plast-date}"
/** Os the library. */
......@@ -54,7 +54,7 @@ Author: Sascha Steinbiss <sascha@steinbiss.name>
#define PLAST_COMPILER "${CMAKE_C_COMPILER} (${CMAKE_CXX_COMPILER_VERSION})"
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -26,6 +26,7 @@
@@ -26,6 +26,7 @@ install (FILES ${PROJECT_BINARY_DIR}/inc
add_definitions (${plast-flags})
file (GLOB_RECURSE LibraryFiles ./*)
......
use_debian_packaged_pcre.patch
fix_format_string.patch
adapt_auto_test_script.sh
no_msse3.patch
spelling.patch
reproducible.patch
Author: Andreas Tille <tille@debian.org>
Last-Update: Tue, 09 Feb 2016 10:20:36 +0100
Description: Fix spelling
--- a/src/misc/api/PlastStrings.hpp
+++ b/src/misc/api/PlastStrings.hpp
@@ -90,7 +90,7 @@ namespace misc {
*/
#define STR_OPTION_SMALLGAP_THRESHOLD misc::StringRepository::m_STR_OPTION_SMALLGAP_THRESHOLD ()
-/** "-b" Command Line option giving the bandwith size used during the small gap algorithm.
+/** "-b" Command Line option giving the bandwidth size used during the small gap algorithm.
* Integer value.
*/
#define STR_OPTION_SMALLGAP_BAND_WITH misc::StringRepository::m_STR_OPTION_SMALLGAP_BAND_WITH ()
@@ -406,7 +406,7 @@ namespace misc {
#define STR_HELP_UNGAP_NEIGHBOUR_LENGTH misc::StringRepository::m_STR_HELP_UNGAP_NEIGHBOUR_LENGTH () // Size of neighbourhood peforming ungapped extension
#define STR_HELP_UNGAP_SCORE_THRESHOLD misc::StringRepository::m_STR_HELP_UNGAP_SCORE_THRESHOLD () // Ungapped threshold trigger a small gapped extension
#define STR_HELP_SMALLGAP_THRESHOLD misc::StringRepository::m_STR_HELP_SMALLGAP_THRESHOLD () // threshold for small gapped extension
-#define STR_HELP_SMALLGAP_BAND_WITH misc::StringRepository::m_STR_HELP_SMALLGAP_BAND_WITH () // bandwith for small gapped extension
+#define STR_HELP_SMALLGAP_BAND_WITH misc::StringRepository::m_STR_HELP_SMALLGAP_BAND_WITH () // bandwidth for small gapped extension
#define STR_HELP_NB_PROCESSORS misc::StringRepository::m_STR_HELP_NB_PROCESSORS () // Number of processors to use
#define STR_HELP_OPEN_GAP_COST misc::StringRepository::m_STR_HELP_OPEN_GAP_COST () // Cost to open a gap
#define STR_HELP_EXTEND_GAP_COST misc::StringRepository::m_STR_HELP_EXTEND_GAP_COST () // Cost to extend a gap
--- a/src/misc/api/PlastStringsRepository.hpp
+++ b/src/misc/api/PlastStringsRepository.hpp
@@ -127,7 +127,7 @@ public:
static const char* m_STR_HELP_UNGAP_NEIGHBOUR_LENGTH () { static misc::impl::ObsfucatedString s (1343394373, 2334675641764441681, 8462090425404900981, 7309377810959239186, 2334956330900738055, 7234312004409924891, 7598538378327304247, 2506435, 0) /* => "Size of neighbourhood peforming ungapped extension" */; return s.toString().c_str(); }
static const char* m_STR_HELP_UNGAP_SCORE_THRESHOLD () { static misc::impl::ObsfucatedString s (1343394373, 7234312004410632535, 8027793215337748283, 7451040048802563084, 7020393977047239940, 7309465758872215298, 8317697112708115827, 4734917, 0) /* => "Ungapped threshold trigger a small gapped extension" */; return s.toString().c_str(); }
static const char* m_STR_HELP_SMALLGAP_THRESHOLD () { static misc::impl::ObsfucatedString s (1343394373, 7813578723338776438, 7886683048323908479, 8102082825191820289, 7954892377262480132, 1849334301, 0) /* => "threshold for small gapped extension" */; return s.toString().c_str(); }
- static const char* m_STR_HELP_SMALLGAP_BAND_WITH () { static misc::impl::ObsfucatedString s (1343394373, 7526756838746121824, 7020393977337103675, 7309465758865951756, 8317697112711372549, 3906567, 0) /* => "bandwith for small gapped extension" */; return s.toString().c_str(); }
+ static const char* m_STR_HELP_SMALLGAP_BAND_WITH () { static misc::impl::ObsfucatedString s (1343394373, 7526756838746121824, 7020393977337103675, 7309465758865951756, 8317697112711372549, 3906567, 0) /* => "bandwidth for small gapped extension" */; return s.toString().c_str(); }
static const char* m_STR_HELP_NB_PROCESSORS () { static misc::impl::ObsfucatedString s (1343394373, 8007525917229806156, 8315161617321362301, 2337214414350192403, 7621652, 0) /* => "Number of processors to use" */; return s.toString().c_str(); }
static const char* m_STR_HELP_OPEN_GAP_COST () { static misc::impl::ObsfucatedString s (1343394373, 2337214414365222977, 7431046177081152372, 3543041, 0) /* => "Cost to open a gap" */; return s.toString().c_str(); }
static const char* m_STR_HELP_EXTEND_GAP_COST () { static misc::impl::ObsfucatedString s (1343394373, 2337214414365222977, 6998704246243941246, 1884751680, 0) /* => "Cost to extend a gap" */; return s.toString().c_str(); }
@@ -312,7 +312,7 @@ public:
static const char* m_STR_HELP_UNGAP_NEIGHBOUR_LENGTH () { return "Size of neighbourhood peforming ungapped extension"; }
static const char* m_STR_HELP_UNGAP_SCORE_THRESHOLD () { return "Ungapped threshold trigger a small gapped extension"; }
static const char* m_STR_HELP_SMALLGAP_THRESHOLD () { return "threshold for small gapped extension"; }
- static const char* m_STR_HELP_SMALLGAP_BAND_WITH () { return "bandwith for small gapped extension"; }
+ static const char* m_STR_HELP_SMALLGAP_BAND_WITH () { return "bandwidth for small gapped extension"; }
static const char* m_STR_HELP_NB_PROCESSORS () { return "Number of processors to use"; }
static const char* m_STR_HELP_OPEN_GAP_COST () { return "Cost to open a gap"; }
static const char* m_STR_HELP_EXTEND_GAP_COST () { return "Cost to extend a gap"; }
debian/README.test
README
README*
......@@ -2,7 +2,8 @@
# DH_VERBOSE := 1
DEBPKGNAME := $(shell dpkg-parsechangelog | awk '/^Source:/ {print $$2}')
include /usr/share/dpkg/default.mk
BUILD_DIR := obj-$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
BUILD_DATE := $(shell TZ=UTC LC_ALL=C dpkg-parsechangelog | grep Date: | cut -d' ' -f2-7)
export BDATE=$(shell TZ=UTC LC_ALL=C date -d"$(BUILD_DATE)" +'%Y-%m-%d')
......@@ -14,10 +15,11 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all
override_dh_install-arch:
dh_install -a
# install binary
cp -a $(BUILD_DIR)/bin/*/plast debian/$(DEBPKGNAME)/usr/lib/$(DEBPKGNAME)/bin
cp -a $(BUILD_DIR)/bin/*/plast debian/$(DEB_SOURCE)/usr/lib/$(DEB_SOURCE)/bin
# no need for the includes
rm -rf debian/*/usr/include
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
scripts/test-plast.sh
endif
version=3
version=4
opts="repacksuffix=+dfsg,dversionmangle=s/\+dfsg//g,repack,compression=xz" \
https://plast.inria.fr/developer-guide/ .*/files/plast_source_v(\d[\d.]+)\.tar\.gz
https://github.com/PLAST-software/plast-library/releases .*/download/v.*/plast_source_v@ANY_VERSION@@ARCHIVE_EXT@
#!/bin/sh
#!/bin/bash
#/*****************************************************************************
# * *
# * PLAST : Parallel Local Alignment Search Tool *
# * Copyright (c) 2009-2015 Inria *
# * Version 2.3, released November 2015 *
# * Copyright (c) 2009-2015 Inria-Cnrs-Ens *
# * *
# * PLAST is free software; you can redistribute it and/or modify it under *
# * the Affero GPL v3 License *
# * the Affero GPL ver 3 License, that is compatible with the GNU General *
# * Public License *
# * *
# * This program is distributed in the hope that it will be useful, *
# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
# * CECILL version 2 License for more details. *
# * Affero GPL ver 3 License for more details. *
# *****************************************************************************/
# start plast execution: you can adapt _scripts_dir as needed if you install
......
#!/bin/sh
#!/bin/bash
#/*****************************************************************************
# * *
# * PLAST : Parallel Local Alignment Search Tool *
# * Copyright (c) 2009-2015 Inria *
# * Version 2.3, released November 2015 *
# * Copyright (c) 2009-2015 Inria-Cnrs-Ens *
# * *
# * PLAST is free software; you can redistribute it and/or modify it under *
# * the Affero GPL v3 License *
# * the Affero GPL ver 3 License, that is compatible with the GNU General *
# * Public License *
# * *
# * This program is distributed in the hope that it will be useful, *
# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
# * CECILL version 2 License for more details. *
# * Affero GPL ver 3 License for more details. *
# *****************************************************************************/
# We get the directory of the script (absolute path)
_scripts_dir=$( cd -P -- "$(dirname -- "$(command -v -- "$0")")" && pwd -P )
_result=$_scripts_dir/out.txt
echo
echo "Start PLAST..."
echo
......@@ -28,10 +31,17 @@ echo $_cmdline
eval $_cmdline
if [ ! -e $_result ] ; then
echo "/!\ Error: PLAST fails on your system: result file does not exist: $_result"
exit 1
fi
if [ ! -s $_result ]; then
echo "/!\ Error: PLAST fails on your system: result file is empty: $_result"
exit 1
fi
echo
echo " done!"
echo
echo "Read:" $_result
echo
echo "*** SUCCESS: result file is: $_result"
echo
......@@ -25,6 +25,15 @@
#include <stdio.h>
#define DEBUG(a) //printf a
/* 2512 = 2*1024+256.
* Why? See FastaSequenceIterator.hpp::commentMaxSize, FileLineIterator.hpp
* where header size is limited to 2048 chars. Then add 256 char for formatting purpose. As a
* reminder, Plast does not store sequences: the limit of the buffer is ok, since the largest
* string comes from Hit_definition, aka Fasta header or Blast sequence header.
*/
#define MAX_HEADER_SIZE 2048
#define BUFFER_SIZE 2512
using namespace std;
using namespace database;
using namespace alignment;
......@@ -119,16 +128,24 @@ void XmlOutputVisitor::visitQuerySequence (
PLAST_BUILD_DATE);
printline (1, "<BlastOutput_reference>%s</BlastOutput_reference>",
STR_PLAST_REFERENCE);
printline (1, "<BlastOutput_db>%s</BlastOutput_db>",
_properties->getProperty (STR_OPTION_SUBJECT_URI)->getValue().c_str());
/* DB like NCBI nr are made of so many volumes that we have a too long string.
*/
std::string dbName = _properties->getProperty (STR_OPTION_SUBJECT_URI)->getValue();
if (dbName.size()>=MAX_HEADER_SIZE){
dbName = dbName.substr(0, MAX_HEADER_SIZE);
dbName[MAX_HEADER_SIZE-1]='.';
dbName[MAX_HEADER_SIZE-2]='.';
dbName[MAX_HEADER_SIZE-3]='.';
}
printline (1, "<BlastOutput_db>%s</BlastOutput_db>", dbName.c_str());
printline (1, "<BlastOutput_query-ID>Query_1</BlastOutput_query-ID>");
printline (1, "<BlastOutput_query-def>%s</BlastOutput_query-def>", seq->getDefinition().c_str());
printline (1, "<BlastOutput_query-len>%d</BlastOutput_query-len>", seq->getLength());
printline (1, "<BlastOutput_query-seq>not specified</BlastOutput_query-seq>");
printline (1, "<BlastOutput_param>");
printline (2, "<Parameters>");
printParameter(STR_OPTION_EVALUE, "expect");
printParameter(STR_OPTION_SCORE_MATRIX, "matrix");
printParameter(STR_OPTION_EVALUE, "expect");
printParameter(STR_OPTION_OPEN_GAP_COST, "gap-open");
printParameter(STR_OPTION_EXTEND_GAP_COST, "gap-extend");
printParameter(STR_OPTION_FILTER_QUERY, "filter");
......@@ -243,13 +260,12 @@ void XmlOutputVisitor::printline (size_t depth, const char* format, ...)
/** We dump the indentation. */
for (size_t i=0; i<depth; i++) { getStream() << " "; }
char buffer[1024];
char buffer[BUFFER_SIZE];
va_list va;
va_start (va, format);
vsprintf (buffer, format, va);
va_end (va);
getStream() << buffer << endl;
}
......
......@@ -90,7 +90,7 @@ namespace misc {
*/
#define STR_OPTION_SMALLGAP_THRESHOLD misc::StringRepository::m_STR_OPTION_SMALLGAP_THRESHOLD ()
/** "-b" Command Line option giving the bandwith size used during the small gap algorithm.
/** "-b" Command Line option giving the bandwidth size used during the small gap algorithm.
* Integer value.
*/
#define STR_OPTION_SMALLGAP_BAND_WITH misc::StringRepository::m_STR_OPTION_SMALLGAP_BAND_WITH ()
......@@ -406,7 +406,7 @@ namespace misc {
#define STR_HELP_UNGAP_NEIGHBOUR_LENGTH misc::StringRepository::m_STR_HELP_UNGAP_NEIGHBOUR_LENGTH () // Size of neighbourhood peforming ungapped extension
#define STR_HELP_UNGAP_SCORE_THRESHOLD misc::StringRepository::m_STR_HELP_UNGAP_SCORE_THRESHOLD () // Ungapped threshold trigger a small gapped extension
#define STR_HELP_SMALLGAP_THRESHOLD misc::StringRepository::m_STR_HELP_SMALLGAP_THRESHOLD () // threshold for small gapped extension
#define STR_HELP_SMALLGAP_BAND_WITH misc::StringRepository::m_STR_HELP_SMALLGAP_BAND_WITH () // bandwith for small gapped extension
#define STR_HELP_SMALLGAP_BAND_WITH misc::StringRepository::m_STR_HELP_SMALLGAP_BAND_WITH () // bandwidth for small gapped extension
#define STR_HELP_NB_PROCESSORS misc::StringRepository::m_STR_HELP_NB_PROCESSORS () // Number of processors to use
#define STR_HELP_OPEN_GAP_COST misc::StringRepository::m_STR_HELP_OPEN_GAP_COST () // Cost to open a gap
#define STR_HELP_EXTEND_GAP_COST misc::StringRepository::m_STR_HELP_EXTEND_GAP_COST () // Cost to extend a gap
......
......@@ -127,7 +127,7 @@ public:
static const char* m_STR_HELP_UNGAP_NEIGHBOUR_LENGTH () { static misc::impl::ObsfucatedString s (1343394373, 2334675641764441681, 8462090425404900981, 7309377810959239186, 2334956330900738055, 7234312004409924891, 7598538378327304247, 2506435, 0) /* => "Size of neighbourhood peforming ungapped extension" */; return s.toString().c_str(); }
static const char* m_STR_HELP_UNGAP_SCORE_THRESHOLD () { static misc::impl::ObsfucatedString s (1343394373, 7234312004410632535, 8027793215337748283, 7451040048802563084, 7020393977047239940, 7309465758872215298, 8317697112708115827, 4734917, 0) /* => "Ungapped threshold trigger a small gapped extension" */; return s.toString().c_str(); }
static const char* m_STR_HELP_SMALLGAP_THRESHOLD () { static misc::impl::ObsfucatedString s (1343394373, 7813578723338776438, 7886683048323908479, 8102082825191820289, 7954892377262480132, 1849334301, 0) /* => "threshold for small gapped extension" */; return s.toString().c_str(); }
static const char* m_STR_HELP_SMALLGAP_BAND_WITH () { static misc::impl::ObsfucatedString s (1343394373, 7526756838746121824, 7020393977337103675, 7309465758865951756, 8317697112711372549, 3906567, 0) /* => "bandwith for small gapped extension" */; return s.toString().c_str(); }
static const char* m_STR_HELP_SMALLGAP_BAND_WITH () { static misc::impl::ObsfucatedString s (1343394373, 7526756838746121824, 7020393977337103675, 7309465758865951756, 8317697112711372549, 3906567, 0) /* => "bandwidth for small gapped extension" */; return s.toString().c_str(); }
static const char* m_STR_HELP_NB_PROCESSORS () { static misc::impl::ObsfucatedString s (1343394373, 8007525917229806156, 8315161617321362301, 2337214414350192403, 7621652, 0) /* => "Number of processors to use" */; return s.toString().c_str(); }
static const char* m_STR_HELP_OPEN_GAP_COST () { static misc::impl::ObsfucatedString s (1343394373, 2337214414365222977, 7431046177081152372, 3543041, 0) /* => "Cost to open a gap" */; return s.toString().c_str(); }
static const char* m_STR_HELP_EXTEND_GAP_COST () { static misc::impl::ObsfucatedString s (1343394373, 2337214414365222977, 6998704246243941246, 1884751680, 0) /* => "Cost to extend a gap" */; return s.toString().c_str(); }
......@@ -312,7 +312,7 @@ public:
static const char* m_STR_HELP_UNGAP_NEIGHBOUR_LENGTH () { return "Size of neighbourhood peforming ungapped extension"; }
static const char* m_STR_HELP_UNGAP_SCORE_THRESHOLD () { return "Ungapped threshold trigger a small gapped extension"; }
static const char* m_STR_HELP_SMALLGAP_THRESHOLD () { return "threshold for small gapped extension"; }
static const char* m_STR_HELP_SMALLGAP_BAND_WITH () { return "bandwith for small gapped extension"; }
static const char* m_STR_HELP_SMALLGAP_BAND_WITH () { return "bandwidth for small gapped extension"; }
static const char* m_STR_HELP_NB_PROCESSORS () { return "Number of processors to use"; }
static const char* m_STR_HELP_OPEN_GAP_COST () { return "Cost to open a gap"; }
static const char* m_STR_HELP_EXTEND_GAP_COST () { return "Cost to extend a gap"; }
......
......@@ -31,7 +31,7 @@ namespace misc {
#define PLAST_NAME "plast"
/** Version of the library. */
#define PLAST_VERSION "V2.3.0"
#define PLAST_VERSION "unstable-master"
/** Date of the library. */
#define PLAST_BUILD_DATE "xxxx-xx-xx"
......