Skip to content

Commit

Permalink
Merge commit 'a3686deab294cb1baa8c544024a5d65dcad90846'
Browse files Browse the repository at this point in the history
  • Loading branch information
elileka committed May 30, 2024
2 parents 528cddc + a3686de commit afa738b
Show file tree
Hide file tree
Showing 79 changed files with 829 additions and 334 deletions.
2 changes: 1 addition & 1 deletion lib/mmseqs/.cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ env:
task:
name: FreeBSD-13
freebsd_instance:
image_family: freebsd-13-0
image_family: freebsd-13-2-snap
install_script: pkg install -y cmake git samtools
compile_script: |
mkdir build && cd build
Expand Down
14 changes: 9 additions & 5 deletions lib/mmseqs/cmake/MMseqsSetupDerivedTarget.cmake
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
include(AppendTargetProperty)

function (mmseqs_setup_derived_target TARGET)
get_target_property(COMPILE_TMP mmseqs-framework COMPILE_FLAGS)
get_target_property(LINK_TMP mmseqs-framework LINK_FLAGS)
get_target_property(DEF_TMP mmseqs-framework COMPILE_DEFINITIONS)
get_target_property(INCL_TMP mmseqs-framework INCLUDE_DIRECTORIES)
set(SOURCE "${ARGN}")
if(NOT SOURCE)
set(SOURCE "mmseqs-framework")
endif()
get_target_property(COMPILE_TMP ${SOURCE} COMPILE_FLAGS)
get_target_property(LINK_TMP ${SOURCE} LINK_FLAGS)
get_target_property(DEF_TMP ${SOURCE} COMPILE_DEFINITIONS)
get_target_property(INCL_TMP ${SOURCE} INCLUDE_DIRECTORIES)

target_link_libraries(${TARGET} mmseqs-framework)
target_link_libraries(${TARGET} ${SOURCE})
append_target_property(${TARGET} COMPILE_FLAGS ${COMPILE_TMP})
append_target_property(${TARGET} LINK_FLAGS ${LINK_TMP})
set_property(TARGET ${TARGET} APPEND PROPERTY COMPILE_DEFINITIONS ${DEF_TMP})
Expand Down
46 changes: 41 additions & 5 deletions lib/mmseqs/data/workflow/blastp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,33 @@ fail() {
exit 1
}

abspath() {
if [ -d "$1" ]; then
(cd "$1"; pwd)
elif [ -f "$1" ]; then
if [ -z "${1##*/*}" ]; then
echo "$(cd "${1%/*}"; pwd)/${1##*/}"
else
echo "$(pwd)/$1"
fi
elif [ -d "$(dirname "$1")" ]; then
echo "$(cd "$(dirname "$1")"; pwd)/$(basename "$1")"
fi
}

fake_pref() {
QDB="$1"
TDB="$2"
RES="$3"
# create link to data file which contains a list of all targets that should be aligned
ln -s "$(abspath "${TDB}.index")" "${RES}"
# create new index repeatedly pointing to same entry
INDEX_SIZE="$(wc -c < "${TDB}.index")"
awk -v size="$INDEX_SIZE" '{ print $1"\t0\t"size; }' "${QDB}.index" > "${RES}.index"
# create dbtype (7)
awk 'BEGIN { printf("%c%c%c%c",7,0,0,0); exit; }' > "${RES}.dbtype"
}

notExists() {
[ ! -f "$1" ]
}
Expand All @@ -27,14 +54,23 @@ ALN_RES_MERGE="$TMP_PATH/aln_0"
while [ "$STEP" -lt "$STEPS" ]; do
SENS_PARAM=SENSE_${STEP}
eval SENS="\$$SENS_PARAM"
# call prefilter module

# 1. Prefilter hits
if notExists "$TMP_PATH/pref_$STEP.dbtype"; then
# shellcheck disable=SC2086
$RUNNER "$MMSEQS" prefilter "$INPUT" "$TARGET" "$TMP_PATH/pref_$STEP" $PREFILTER_PAR -s "$SENS" \
|| fail "Prefilter died"
if [ "$PREFMODE" = "EXHAUSTIVE" ]; then
fake_pref "${INPUT}" "${TARGET}" "$TMP_PATH/pref_$STEP"
elif [ "$PREFMODE" = "UNGAPPED" ]; then
# shellcheck disable=SC2086
$RUNNER "$MMSEQS" ungappedprefilter "$INPUT" "$TARGET" "$TMP_PATH/pref_$STEP" $UNGAPPEDPREFILTER_PAR \
|| fail "Ungapped prefilter died"
else
# shellcheck disable=SC2086
$RUNNER "$MMSEQS" prefilter "$INPUT" "$TARGET" "$TMP_PATH/pref_$STEP" $PREFILTER_PAR -s "$SENS" \
|| fail "Prefilter died"
fi
fi

# call alignment module
# 2. alignment module
if [ "$STEPS" -eq 1 ]; then
if notExists "$3.dbtype"; then
# shellcheck disable=SC2086
Expand Down
46 changes: 42 additions & 4 deletions lib/mmseqs/data/workflow/blastpgp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,33 @@ fail() {
exit 1
}

abspath() {
if [ -d "$1" ]; then
(cd "$1"; pwd)
elif [ -f "$1" ]; then
if [ -z "${1##*/*}" ]; then
echo "$(cd "${1%/*}"; pwd)/${1##*/}"
else
echo "$(pwd)/$1"
fi
elif [ -d "$(dirname "$1")" ]; then
echo "$(cd "$(dirname "$1")"; pwd)/$(basename "$1")"
fi
}

fake_pref() {
QDB="$1"
TDB="$2"
RES="$3"
# create link to data file which contains a list of all targets that should be aligned
ln -s "$(abspath "${TDB}.index")" "${RES}"
# create new index repeatedly pointing to same entry
INDEX_SIZE="$(wc -c < "${TDB}.index")"
awk -v size="$INDEX_SIZE" '{ print $1"\t0\t"size; }' "${QDB}.index" > "${RES}.index"
# create dbtype (7)
awk 'BEGIN { printf("%c%c%c%c",7,0,0,0); exit; }' > "${RES}.dbtype"
}

notExists() {
[ ! -f "$1" ]
}
Expand All @@ -28,15 +55,26 @@ STEP=0
while [ "$STEP" -lt "$NUM_IT" ]; do
# call prefilter module
if notExists "$TMP_PATH/pref_tmp_${STEP}.done"; then
PARAM="PREFILTER_PAR_$STEP"
eval TMP="\$$PARAM"
if [ "$PREFMODE" = "EXHAUSTIVE" ]; then
TMP=""
PREF="fake_pref"
elif [ "$PREFMODE" = "UNGAPPED" ]; then
PARAM="UNGAPPEDPREFILTER_PAR_$STEP"
eval TMP="\$$PARAM"
PREF="${MMSEQS} ungappedprefilter"
else
PARAM="PREFILTER_PAR_$STEP"
eval TMP="\$$PARAM"
PREF="${MMSEQS} prefilter"
fi

if [ "$STEP" -eq 0 ]; then
# shellcheck disable=SC2086
$RUNNER "$MMSEQS" prefilter "$QUERYDB" "$2" "$TMP_PATH/pref_$STEP" ${TMP} \
$RUNNER $PREF "$QUERYDB" "$2" "$TMP_PATH/pref_$STEP" ${TMP} \
|| fail "Prefilter died"
else
# shellcheck disable=SC2086
$RUNNER "$MMSEQS" prefilter "$QUERYDB" "$2" "$TMP_PATH/pref_tmp_$STEP" ${TMP} \
$RUNNER $PREF "$QUERYDB" "$2" "$TMP_PATH/pref_tmp_$STEP" ${TMP} \
|| fail "Prefilter died"
fi
touch "$TMP_PATH/pref_tmp_${STEP}.done"
Expand Down
2 changes: 1 addition & 1 deletion lib/mmseqs/data/workflow/createtaxdb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ if { [ "${DBMODE}" = "1" ] && notExists "${TAXDBNAME}_taxonomy"; } || { [ "${DBM
# Download NCBI taxon information
if notExists "${TMP_PATH}/ncbi_download.complete"; then
echo "Download taxdump.tar.gz"
downloadFile "https://ftp.ncbi.nih.gov/pub/taxonomy/taxdump.tar.gz" "${TMP_PATH}/taxdump.tar.gz"
downloadFile "https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/taxdump.tar.gz" "${TMP_PATH}/taxdump.tar.gz"
tar -C "${TMP_PATH}" -xzf "${TMP_PATH}/taxdump.tar.gz" names.dmp nodes.dmp merged.dmp delnodes.dmp
touch "${TMP_PATH}/ncbi_download.complete"
rm -f "${TMP_PATH}/taxdump.tar.gz"
Expand Down
10 changes: 5 additions & 5 deletions lib/mmseqs/data/workflow/databases.sh
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,9 @@ case "${SELECTION}" in
if notExists "${TMP_PATH}/nr.gz"; then
date "+%s" > "${TMP_PATH}/version"
downloadFile "https://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/nr.gz" "${TMP_PATH}/nr.gz"
downloadFile "https://ftp.ncbi.nih.gov/pub/taxonomy/accession2taxid/prot.accession2taxid.gz" "${TMP_PATH}/prot.accession2taxid.gz"
downloadFile "https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/accession2taxid/prot.accession2taxid.gz" "${TMP_PATH}/prot.accession2taxid.gz"
gunzip "${TMP_PATH}/prot.accession2taxid.gz"
downloadFile "https://ftp.ncbi.nih.gov/pub/taxonomy/accession2taxid/pdb.accession2taxid.gz" "${TMP_PATH}/pdb.accession2taxid.gz"
downloadFile "https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/accession2taxid/pdb.accession2taxid.gz" "${TMP_PATH}/pdb.accession2taxid.gz"
gunzip "${TMP_PATH}/pdb.accession2taxid.gz"
fi
push_back "${TMP_PATH}/nr.gz"
Expand All @@ -147,7 +147,7 @@ case "${SELECTION}" in
"PDB")
if notExists "${TMP_PATH}/pdb_seqres.txt.gz"; then
date "+%s" > "${TMP_PATH}/version"
downloadFile "https://ftp.wwpdb.org/pub/pdb/derived_data/pdb_seqres.txt.gz" "${TMP_PATH}/pdb_seqres.txt.gz"
downloadFile "https://files.wwpdb.org/pub/pdb/derived_data/pdb_seqres.txt.gz" "${TMP_PATH}/pdb_seqres.txt.gz"
fi
push_back "${TMP_PATH}/pdb_seqres.txt.gz"
INPUT_TYPE="FASTA_LIST"
Expand Down Expand Up @@ -212,8 +212,8 @@ case "${SELECTION}" in
;;
"CDD")
if notExists "${TMP_PATH}/msa.msa.gz"; then
downloadFile "https://ftp.ncbi.nih.gov/pub/mmdb/cdd/cdd.info" "${TMP_PATH}/version"
downloadFile "https://ftp.ncbi.nih.gov/pub/mmdb/cdd/fasta.tar.gz" "${TMP_PATH}/msa.tar.gz"
downloadFile "https://ftp.ncbi.nlm.nih.gov/pub/mmdb/cdd/cdd.info" "${TMP_PATH}/version"
downloadFile "https://ftp.ncbi.nlm.nih.gov/pub/mmdb/cdd/fasta.tar.gz" "${TMP_PATH}/msa.tar.gz"
fi
INPUT_TYPE="FASTA_MSA"
SED_FIX_LOOKUP='s|\.FASTA||g'
Expand Down
6 changes: 5 additions & 1 deletion lib/mmseqs/data/workflow/taxpercontig.sh
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,11 @@ if [ -n "${ORF_FILTER}" ]; then
fi

if notExists "${TMP_PATH}/orfs_aln.list"; then
awk '$3 > 1 { print $1 }' "${TMP_PATH}/orfs_aln.index" > "${TMP_PATH}/orfs_aln.list"
# shellcheck disable=SC2086
"$MMSEQS" recoverlongestorf "${ORFS_DB}" "${TMP_PATH}/orfs_aln" "${TMP_PATH}/orfs_aln_recovered.list" ${THREADS_PAR} \
|| fail "recoverlongestorf died"
awk '$3 > 1 { print $1 }' "${TMP_PATH}/orfs_aln.index" > "${TMP_PATH}/orfs_aln_remain.list"
cat "${TMP_PATH}/orfs_aln_recovered.list" "${TMP_PATH}/orfs_aln_remain.list" > "${TMP_PATH}/orfs_aln.list"
fi

if notExists "${TMP_PATH}/orfs_filter.dbtype"; then
Expand Down
6 changes: 3 additions & 3 deletions lib/mmseqs/data/workflow/tsv2exprofiledb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,19 @@ fi

if notExists "${OUT}.dbtype"; then
"$MMSEQS" tsv2db "${IN}.tsv" "${OUT}_tmp" --output-dbtype 0 ${VERBOSITY}
MMSEQS_FOCE_MERGE=1 "$MMSEQS" compress "${OUT}_tmp" "${OUT}" ${VERBOSITY}
MMSEQS_FORCE_MERGE=1 "$MMSEQS" compress "${OUT}_tmp" "${OUT}" ${VERBOSITY}
"$MMSEQS" rmdb "${OUT}_tmp" ${VERBOSITY}
fi

if notExists "${OUT}_seq.dbtype"; then
"$MMSEQS" tsv2db "${IN}_seq.tsv" "${OUT}_seq_tmp" --output-dbtype 0 ${VERBOSITY}
MMSEQS_FOCE_MERGE=1 "$MMSEQS" compress "${OUT}_seq_tmp" "${OUT}_seq" ${VERBOSITY}
MMSEQS_FORCE_MERGE=1 "$MMSEQS" compress "${OUT}_seq_tmp" "${OUT}_seq" ${VERBOSITY}
"$MMSEQS" rmdb "${OUT}_seq_tmp" ${VERBOSITY}
fi

if notExists "${OUT}_aln.dbtype"; then
"$MMSEQS" tsv2db "${IN}_aln.tsv" "${OUT}_aln_tmp" --output-dbtype 5 ${VERBOSITY}
MMSEQS_FOCE_MERGE=1 "$MMSEQS" compress "${OUT}_aln_tmp" "${OUT}_aln" ${VERBOSITY}
MMSEQS_FORCE_MERGE=1 "$MMSEQS" compress "${OUT}_aln_tmp" "${OUT}_aln" ${VERBOSITY}
"$MMSEQS" rmdb "${OUT}_aln_tmp" ${VERBOSITY}
fi

Expand Down
2 changes: 1 addition & 1 deletion lib/mmseqs/lib/alp/sls_pvalues.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ namespace Sls {
return rand_C;
};

static inline double standard_normal()//generates standard normal random value using the BoxMuller transform
static inline double standard_normal()//generates standard normal random value using the Box-Muller transform
{
double r1=0;
while(r1==0)
Expand Down
7 changes: 4 additions & 3 deletions lib/mmseqs/lib/ksw2/kseq.h
Original file line number Diff line number Diff line change
Expand Up @@ -113,9 +113,10 @@ typedef struct __kstring_t {
if (ks->end == -1) { ks->is_eof = 1; return -3; } \
} else break; \
} \
if (delimiter == KS_SEP_LINE) { \
for (i = ks->begin; i < ks->end; ++i) \
if (ks->buf[i] == '\n') { ks->newline+=(append == 1); break; } \
if (delimiter == KS_SEP_LINE) { \
unsigned char *sep = (unsigned char*)memchr(ks->buf + ks->begin, '\n', ks->end - ks->begin); \
i = sep != NULL ? sep - (unsigned char*)ks->buf : ks->end; \
ks->newline += (sep != NULL && append == 1); \
} else if (delimiter > KS_SEP_MAX) { \
for (i = ks->begin; i < ks->end; ++i) \
if (ks->buf[i] == delimiter) break; \
Expand Down
5 changes: 3 additions & 2 deletions lib/mmseqs/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ if (NOT EMSCRIPTEN)
endif()

if (ENABLE_WERROR)
append_target_property(mmseqs-framework COMPILE_FLAGS -Werror)
append_target_property(mmseqs-framework LINK_FLAGS -Werror)
append_target_property(mmseqs-framework COMPILE_FLAGS -Werror -Wno-unused-command-line-argument)
append_target_property(mmseqs-framework LINK_FLAGS -Werror -Wno-unused-command-line-argument)
endif()

# needed for concat.h
Expand Down Expand Up @@ -222,6 +222,7 @@ if (OPENMP_FOUND)
if (NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
target_link_libraries(mmseqs-framework ${OpenMP_CXX_LIBRARIES})
endif()
target_include_directories(mmseqs-framework PUBLIC ${OpenMP_CXX_INCLUDE_DIRS})
append_target_property(mmseqs-framework COMPILE_FLAGS ${OpenMP_CXX_FLAGS})
append_target_property(mmseqs-framework LINK_FLAGS ${OpenMP_CXX_FLAGS})
elseif (REQUIRE_OPENMP)
Expand Down
2 changes: 2 additions & 0 deletions lib/mmseqs/src/CommandDeclarations.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ extern int convertkb(int argc, const char **argv, const Command& command);
extern int convertmsa(int argc, const char **argv, const Command& command);
extern int convertprofiledb(int argc, const char **argv, const Command& command);
extern int createdb(int argc, const char **argv, const Command& command);
extern int makepaddedseqdb(int argc, const char **argv, const Command& command);
extern int createindex(int argc, const char **argv, const Command& command);
extern int createlinindex(int argc, const char **argv, const Command& command);
extern int createseqfiledb(int argc, const char **argv, const Command& command);
Expand Down Expand Up @@ -97,6 +98,7 @@ extern int ungappedprefilter(int argc, const char **argv, const Command& command
extern int gappedprefilter(int argc, const char **argv, const Command& command);
extern int unpackdb(int argc, const char **argv, const Command& command);
extern int rbh(int argc, const char **argv, const Command& command);
extern int recoverlongestorf(int argc, const char **argv, const Command& command);
extern int result2flat(int argc, const char **argv, const Command& command);
extern int result2msa(int argc, const char **argv, const Command& command);
extern int result2dnamsa(int argc, const char **argv, const Command& command);
Expand Down
31 changes: 23 additions & 8 deletions lib/mmseqs/src/MMseqsBase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ std::vector<Command> baseCommands = {
"Slower, sensitive clustering",
"mmseqs easy-cluster examples/DB.fasta result tmp\n"
"# Cluster output\n"
"# - result_rep_seq.fasta: Representatives\n"
"# - result_all_seq.fasta: FASTA-like per cluster\n"
"# - result_cluster.tsv: Adjacency list\n\n"
"# - result_rep_seq.fasta: Representatives\n"
"# - result_all_seqs.fasta: FASTA-like per cluster\n"
"# - result_cluster.tsv: Adjacency list\n\n"
"# Important parameter: --min-seq-id, --cov-mode and -c \n"
"# --cov-mode \n"
"# 0 1 2\n"
Expand All @@ -62,9 +62,9 @@ std::vector<Command> baseCommands = {
"Fast linear time cluster, less sensitive clustering",
"mmseqs easy-linclust examples/DB.fasta result tmp\n\n"
"# Linclust output\n"
"# - result_rep_seq.fasta: Representatives\n"
"# - result_all_seq.fasta: FASTA-like per cluster\n"
"# - result_cluster.tsv: Adjecency list\n\n"
"# - result_rep_seq.fasta: Representatives\n"
"# - result_all_seqs.fasta: FASTA-like per cluster\n"
"# - result_cluster.tsv: Adjecency list\n\n"
"# Important parameter: --min-seq-id, --cov-mode and -c \n"
"# --cov-mode \n"
"# 0 1 2\n"
Expand Down Expand Up @@ -130,14 +130,21 @@ std::vector<Command> baseCommands = {
"<i:fastaFile1[.gz|.bz2]> ... <i:fastaFileN[.gz|.bz2]>|<i:stdin> <o:sequenceDB>",
CITATION_MMSEQS2, {{"fast[a|q]File[.gz|bz2]|stdin", DbType::ACCESS_MODE_INPUT, DbType::NEED_DATA | DbType::VARIADIC, &DbValidator::flatfileStdinAndGeneric },
{"sequenceDB", DbType::ACCESS_MODE_OUTPUT, DbType::NEED_DATA, &DbValidator::flatfile }}},
{"makepaddedseqdb", makepaddedseqdb, &par.onlyverbosity, COMMAND_HIDDEN,
"Generate a padded sequence DB",
"Generate a padded sequence DB",
"Martin Steinegger <[email protected]>",
"<i:sequenceDB> <o:sequenceDB>",
CITATION_MMSEQS2, {{"sequenceDB", DbType::ACCESS_MODE_INPUT, DbType::NEED_DATA|DbType::NEED_HEADER, &DbValidator::sequenceDb },
{"sequenceIndexDB", DbType::ACCESS_MODE_OUTPUT, DbType::NEED_DATA, &DbValidator::sequenceDb }}},
{"appenddbtoindex", appenddbtoindex, &par.appenddbtoindex, COMMAND_HIDDEN,
NULL,
NULL,
"Milot Mirdita <[email protected]>",
"<i:DB1> ... <i:DBN> <o:DB>",
CITATION_MMSEQS2, {{"DB", DbType::ACCESS_MODE_INPUT, DbType::NEED_DATA | DbType::VARIADIC, &DbValidator::allDb },
{"DB", DbType::ACCESS_MODE_INPUT, DbType::NEED_DATA, &DbValidator::allDb }}},
{"indexdb", indexdb, &par.indexdb, COMMAND_HIDDEN,
{"indexdb", indexdb, &par.indexdb, COMMAND_HIDDEN,
NULL,
NULL,
"Martin Steinegger <[email protected]>",
Expand Down Expand Up @@ -555,7 +562,7 @@ std::vector<Command> baseCommands = {
{"resultDB", DbType::ACCESS_MODE_INPUT, DbType::NEED_DATA, &DbValidator::resultDb },
{"pvalDB", DbType::ACCESS_MODE_OUTPUT, DbType::NEED_DATA, &DbValidator::resultDb },
{"tmpDir", DbType::ACCESS_MODE_OUTPUT, DbType::NEED_DATA, &DbValidator::directory }}},
{"mergeresultsbyset", mergeresultsbyset, &par.threadsandcompression,COMMAND_MULTIHIT,
{"mergeresultsbyset", mergeresultsbyset, &par.mergeresultsbyset, COMMAND_MULTIHIT,
"Merge results from multiple ORFs back to their respective contig",
NULL,
"Ruoshi Zhang, Clovis Norroy & Milot Mirdita <[email protected]>",
Expand Down Expand Up @@ -900,6 +907,14 @@ std::vector<Command> baseCommands = {
"Eli Levy Karin <[email protected]> ",
"<i:contigsSequenceDB> <i:extractedOrfsHeadersDB> <o:orfsAlignedToContigDB>",
CITATION_MMSEQS2, {{"",DbType::ACCESS_MODE_INPUT, DbType::NEED_DATA, NULL}}},
{"recoverlongestorf", recoverlongestorf, &par.onlythreads, COMMAND_EXPERT,
"Recover longest ORF for taxonomy annotation after elimination",
NULL,
"Sung-eun Jang",
"<i:orfDB> <i:resultDB> <o:tsvFile>",
CITATION_MMSEQS2, {{"orfDB", DbType::ACCESS_MODE_INPUT, DbType::NEED_DATA, &DbValidator::sequenceDb},
{"resultDB", DbType::ACCESS_MODE_INPUT, DbType::NEED_DATA, &DbValidator::resultDb},
{"tsvFile", DbType::ACCESS_MODE_OUTPUT, DbType::NEED_DATA, &DbValidator::flatfile}}},
{"reverseseq", reverseseq, &par.reverseseq, COMMAND_SEQUENCE,
"Reverse (without complement) sequences",
NULL,
Expand Down
2 changes: 1 addition & 1 deletion lib/mmseqs/src/alignment/Matcher.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ size_t Matcher::resultToBuffer(char * buff1, const result_t &result, bool addBac
*(tmpBuff-1) = '\t';
tmpBuff = Util::fastSeqIdToBuffer(result.seqId, tmpBuff);
*(tmpBuff-1) = '\t';
tmpBuff += sprintf(tmpBuff,"%.3E",result.eval);
tmpBuff += snprintf(tmpBuff, 32, "%.3E", result.eval);
tmpBuff++;
*(tmpBuff-1) = '\t';
tmpBuff = Itoa::i32toa_sse2(result.qStartPos, tmpBuff);
Expand Down
Loading

0 comments on commit afa738b

Please sign in to comment.