Skip to content

Commit

Permalink
Merge pull request #836 from COMBINE-lab/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
rob-p authored Mar 12, 2023
2 parents 35558d5 + 74fe0ed commit c380f53
Show file tree
Hide file tree
Showing 10 changed files with 78 additions and 42 deletions.
19 changes: 9 additions & 10 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -224,10 +224,10 @@ if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
endif()

set(WARNING_IGNORE_FLAGS "${WARNING_IGNORE_FLAGS} -Wno-unused-local-typedefs")
set(BOOST_TOOLSET "${CC}")
set(BOOST_TOOLSET "gcc")
set(BOOST_CONFIGURE_TOOLSET "--with-toolset=gcc")
set(BCXX_FLAGS "${CXXSTDFLAG} ${SCHAR_FLAG}")
set(BOOST_EXTRA_FLAGS toolset=${CC} cxxflags=${BCXX_FLAGS})
set(BOOST_EXTRA_FLAGS toolset=gcc cxxflags=${BCXX_FLAGS})
# Tentatively, we support clang now
elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
set(CLANG TRUE)
Expand Down Expand Up @@ -580,22 +580,21 @@ set(EXTERNAL_LIBRARY_PATH $CMAKE_CURRENT_SOURCE_DIR/lib)
# set(SUFFARRAY_INCLUDE_DIRS ${SUFFARRAY_INCLUDE_DIR})
#endif()


find_package(Cereal)
find_package(cereal "1.3.2")
if (NOT CEREAL_FOUND)
message("Build system will fetch and build the Cereal serialization library")
message("Build system will fetch and build the cereal serialization library")
message("==================================================================")
include(ExternalProject)
externalproject_add(libcereal
DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external
DOWNLOAD_COMMAND curl -k -L https://github.com/USCiLab/cereal/archive/v1.3.0.tar.gz -o cereal-v1.3.0.tar.gz &&
${SHASUM} 329ea3e3130b026c03a4acc50e168e7daff4e6e661bc6a7dfec0d77b570851d5 cereal-v1.3.0.tar.gz &&
tar -xzvf cereal-v1.3.0.tar.gz
DOWNLOAD_COMMAND curl -k -L https://github.com/USCiLab/cereal/archive/refs/tags/v1.3.2.tar.gz -o cereal-v1.3.2.tar.gz &&
${SHASUM} 16a7ad9b31ba5880dac55d62b5d6f243c3ebc8d46a3514149e56b5e7ea81f85f cereal-v1.3.2.tar.gz &&
tar -xzvf cereal-v1.3.2.tar.gz

SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/cereal-1.3.0
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/cereal-1.3.2
INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/install
#UPDATE_COMMAND sh -c "mkdir -p <SOURCE_DIR>/build"
BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/cereal-1.3.0/build
BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/cereal-1.3.2/build
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND sh -c "mkdir -p <INSTALL_DIR>/include && cp -r <SOURCE_DIR>/include/cereal <INSTALL_DIR>/include"
Expand Down
21 changes: 0 additions & 21 deletions cmake/Modules/FindCereal.cmake

This file was deleted.

44 changes: 44 additions & 0 deletions cmake/Modules/Findcereal.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
###############################################################################
# Find Cereal
#
# This sets the following variables:
# CEREAL_FOUND - True if Cereal was found.
# CEREAL_INCLUDE_DIRS - Directories containing the Cereal include files.
# CEREAL_DEFINITIONS - Compiler flags for Cereal.

find_path(CEREAL_INCLUDE_DIR cereal
HINTS "${CEREAL_ROOT}/include" "$ENV{CEREAL_ROOT}/include" "/usr/include" "$ENV{PROGRAMFILES}/cereal/include")

set(CEREAL_INCLUDE_DIRS ${CEREAL_INCLUDE_DIR})

if(CEREAL_INCLUDE_DIR)
set(CEREAL_FOUND YES)
set(CEREAL_VERSION_MAJOR 0)
set(CEREAL_VERSION_MINOR 0)
set(CEREAL_VERSION_PATCH 0)
if(EXISTS "${CEREAL_INCLUDE_DIR}/cereal/version.hpp")
# Read and parse cereal version header file for version number
file(READ "${CEREAL_INCLUDE_DIR}/cereal/version.hpp"
_CEREAL_HEADER_CONTENTS)
string(REGEX REPLACE ".*#define CEREAL_VERSION_MAJOR ([0-9]+).*" "\\1"
CEREAL_VERSION_MAJOR "${_CEREAL_HEADER_CONTENTS}")
string(REGEX REPLACE ".*#define CEREAL_VERSION_MINOR ([0-9]+).*" "\\1"
CEREAL_VERSION_MINOR "${_CEREAL_HEADER_CONTENTS}")
string(REGEX REPLACE ".*#define CEREAL_VERSION_PATCH ([0-9]+).*" "\\1"
CEREAL_VERSION_PATCH "${_CEREAL_HEADER_CONTENTS}")
set(CEREAL_VERSION_STRING "${CEREAL_VERSION_MAJOR}.${CEREAL_VERSION_MINOR}.${CEREAL_VERSION_PATCH}")
else()
set(CEREAL_FOUND NO)
endif()
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(cereal
REQUIRED_VARS CEREAL_INCLUDE_DIR
VERSION_VAR CEREAL_VERSION_STRING)

mark_as_advanced(CEREAL_INCLUDE_DIR)

if(CEREAL_FOUND)
message(STATUS "cereal found (include: ${CEREAL_INCLUDE_DIRS})")
endif(CEREAL_FOUND)
2 changes: 1 addition & 1 deletion current_version.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
VERSION_MAJOR 1
VERSION_MINOR 10
VERSION_PATCH 0
VERSION_PATCH 1
2 changes: 1 addition & 1 deletion doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
# The short X.Y version.
version = '1.10'
# The full version, including alpha/beta/rc tags.
release = '1.10.0'
release = '1.10.1'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
18 changes: 16 additions & 2 deletions doc/source/salmon.rst
Original file line number Diff line number Diff line change
Expand Up @@ -269,8 +269,8 @@ mode, and a description of each, run ``salmon quant --help-alignment``.
header sections must be identical).


Description of important options
--------------------------------
Description of some important options
-------------------------------------

Salmon exposes a number of useful optional command-line parameters to the user.
The particularly important ones are explained here, but you can always run
Expand All @@ -296,6 +296,20 @@ by RSEM), but using the default scoring scheme and allowing both mismatches and
indels in alignments. These setting essentially disallow indels in the resulting
alignments.

""""""""""""""""""""""""""""""
``--meta``
""""""""""""""""""""""""""""""

As with the flags described above, this is a "meta-flag" that simply enables some options
that may make more sense when quantifying metagenomic data. Specifically, the ``--meta``
flag sets the following options:

* The abundance optimization is initialized from the uniform distribution (compared to the default of using a weighted combination of the uniform intialization and the abundances learned during the online optimization)

* Rich equivalence classes are disabled. Using rich equivalence classes with metagenomic data should not be particularly problematic, but since they have been developed and tested most in the context of bulk RNA-seq quantification, they are currently disabled under this flag.

* The EM algorithm is used for abundance optimization instead of the default VBEM optimization. Neither is universally better than the other, but the parameters for the VBEM (e.g. the prior size and type) are set based on typical bulk RNA-seq transcriptome samples, and so may be less appropriate in the metagenomic context. Hence the ``--meta`` flags opts for the basic EM algorithm instead.

""""""""""""""""""""""""""""""
``--recoverOrphans``
""""""""""""""""""""""""""""""
Expand Down
2 changes: 1 addition & 1 deletion docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ MAINTAINER [email protected]

ENV PACKAGES git gcc make g++ libboost-all-dev liblzma-dev libbz2-dev \
ca-certificates zlib1g-dev libcurl4-openssl-dev curl unzip autoconf apt-transport-https ca-certificates gnupg software-properties-common wget
ENV SALMON_VERSION 1.10.0
ENV SALMON_VERSION 1.10.1

# salmon binary will be installed in /home/salmon/bin/salmon

Expand Down
4 changes: 2 additions & 2 deletions docker/build_test.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#! /bin/bash
SALMON_VERSION=1.10.0
docker build --no-cache -t combinelab/salmon:${SALMON_VERSION} -t combinelab/salmon:latest .
SALMON_VERSION=1.10.1
TMPDIR=/mnt/scratch2/DELETE_ME_TEMP docker build --no-cache -t combinelab/salmon:${SALMON_VERSION} -t combinelab/salmon:latest .
4 changes: 2 additions & 2 deletions include/SalmonConfig.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
namespace salmon {
constexpr char majorVersion[] = "1";
constexpr char minorVersion[] = "10";
constexpr char patchVersion[] = "0";
constexpr char version[] = "1.10.0";
constexpr char patchVersion[] = "1";
constexpr char version[] = "1.10.1";
constexpr uint32_t indexVersion = 5;
constexpr char requiredQuasiIndexVersion[] = "p7";
} // namespace salmon
Expand Down
4 changes: 2 additions & 2 deletions scripts/fetchPufferfish.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ if [ -d ${INSTALL_DIR}/src/pufferfish ] ; then
rm -fr ${INSTALL_DIR}/src/pufferfish
fi

SVER=salmon-v1.10.0
SVER=salmon-v1.10.1
#SVER=develop
#SVER=sketch-mode

EXPECTED_SHA256=c961b9c252856b53c6538d22103b711c924ea1e649516de81efb85870aa8b143
EXPECTED_SHA256=cf2a007f3817c1087abd4170db70e6b3c04aa24babecf92a2d9d2eb7784b6021

mkdir -p ${EXTERNAL_DIR}
curl -k -L https://github.com/COMBINE-lab/pufferfish/archive/${SVER}.zip -o ${EXTERNAL_DIR}/pufferfish.zip
Expand Down

0 comments on commit c380f53

Please sign in to comment.