Permalink
Browse files

Use mmseqs modularization in plass

  • Loading branch information...
milot-mirdita committed Feb 14, 2018
1 parent 905f28d commit 5ab02eda6074b9570db4f279ee3c136882dceef3
Showing 359 changed files with 446 additions and 198,461 deletions.
@@ -5,16 +5,16 @@
## Steps to Reproduce (for bugs)
Please make sure to execute the reproduction steps with newly recreated and empty tmp folders.

## MMseqs Output (for bugs)
Please make sure to also post the complete output of MMseqs. You can use gist.github.com for large output.
## Plass Output (for bugs)
Please make sure to also post the complete output of Plass. You can use gist.github.com for large output.

## Context
Providing context helps us come up with a solution and improve our documentation for the future.

## Your Environment
Include as many relevant details about the environment you experienced the bug in.
* Git commit used (The string after "MMseqs Version:" when you execute MMseqs without any parameters):
* Which MMseqs version was used (Statically-compiled, self-compiled, Homebrew, etc.):
* Git commit used (The string after "Plass Version:" when you execute Plass without any parameters):
* Which Plass version was used (Statically-compiled, self-compiled, Homebrew, etc.):
* For self-compiled and Homebrew: Compiler and Cmake versions used and their invocation:
* Server specifications (especially CPU support for AVX2/SSE and amount of system memory):
* Operating system and version:
@@ -0,0 +1,3 @@
[submodule "lib/mmseqs"]
path = lib/mmseqs
url = https://github.com/soedinglab/MMseqs2.git
@@ -1,66 +1,12 @@
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
project(MMseqs CXX)
message("-- Source Directory: ${CMAKE_CURRENT_SOURCE_DIR}")
message("-- Project Directory: ${PROJECT_SOURCE_DIR}")
cmake_minimum_required(VERSION 2.8.9 FATAL_ERROR)
project(plass CXX)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/lib/mmseqs/cmake")

set(FRAMEWORK_ONLY 0 CACHE BOOL "Framework Mode")
set(HAVE_SANITIZER 0 CACHE BOOL "Have Sanitizers")
set(VERSION_OVERRIDE "" CACHE STRNG "Override version string in help and usage messages")

#Sanitizers
if (${HAVE_SANITIZER})
include(FindUBSan)
include(FindASan)
include(FindMSan)
include(FindTSan)
endif ()

if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif (NOT CMAKE_BUILD_TYPE)

# find compiler
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
# using Clang
message("-- Compiler is clang(++)")
set(CMAKE_COMPILER_IS_CLANG 1)
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
# using GCC
message("-- Compiler is GNU ")
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.6.0")
message(FATAL_ERROR "Insufficient gcc version")
endif ()
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
# using Intel C++
message("-- Compiler is icc(++)")
set(CMAKE_COMPILER_IS_ICC 1)
endif ()

# set flags
set(MMSEQS_CXX_FLAGS "-std=c++0x -m64")

# Compiler-specific features
if (CMAKE_COMPILER_IS_CLANG)
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11")
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
set(MMSEQS_CXX_FLAGS "${MMSEQS_CXX_FLAGS} -stdlib=libc++")
endif ()

set(FRAMEWORK_ONLY 1 CACHE INTERNAL "" FORCE)
include(MMseqsSetupDerivedTarget)
add_subdirectory(lib/mmseqs)
add_subdirectory(data)
include_directories(lib)
include_directories(lib/kseq)
include_directories(lib/simd)
include_directories(lib/gzstream)
include_directories(lib/alp)
include_directories(lib/cacode)
include_directories(lib/ksw2)
include_directories(lib/kerasify)
add_subdirectory(lib/kerasify)
add_subdirectory(lib/cacode)
add_subdirectory(lib/alp)
add_subdirectory(lib/ksw2)
add_subdirectory(data)
add_subdirectory(src)
if (NOT FRAMEWORK_ONLY)
add_subdirectory(util)
endif ()
@@ -1,24 +1,17 @@
FROM alpine:latest as mmseqs-builder
FROM alpine:latest AS plass-builder

RUN apk add --no-cache gcc g++ cmake musl-dev vim git ninja zlib-dev bzip2-dev
RUN apk add --no-cache gcc g++ cmake musl-dev git ninja

WORKDIR /opt/mmseqs
WORKDIR /opt/plass
ADD . .

RUN git submodule init && git submodule update

WORKDIR build_sse
RUN cmake -G Ninja -DHAVE_SSE4_1=1 -DHAVE_MPI=0 -DHAVE_TESTS=0 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=. ..
RUN cmake -G Ninja -DHAVE_SSE=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=. ..
RUN ninja && ninja install

WORKDIR ../build_avx
RUN cmake -G Ninja -DHAVE_AVX2=1 -DHAVE_MPI=0 -DHAVE_TESTS=0 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=. ..
RUN cmake -G Ninja -DHAVE_AVX=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=. ..
RUN ninja && ninja install

FROM alpine:latest
MAINTAINER Milot Mirdita <milot@mirdita.de>
RUN apk add --no-cache gawk bash grep libstdc++ libgomp zlib libbz2

COPY --from=mmseqs-builder /opt/mmseqs/build_sse/bin/mmseqs /usr/local/bin/mmseqs_sse42
COPY --from=mmseqs-builder /opt/mmseqs/build_avx/bin/mmseqs /usr/local/bin/mmseqs_avx2
ADD util/mmseqs_wrapper.sh /usr/local/bin/mmseqs

CMD ["mmseqs"]

This file was deleted.

Oops, something went wrong.

This file was deleted.

Oops, something went wrong.

This file was deleted.

Oops, something went wrong.

This file was deleted.

Oops, something went wrong.
Oops, something went wrong.

0 comments on commit 5ab02ed

Please sign in to comment.