Skip to content
Commits on Source (12)
......@@ -3,3 +3,9 @@
/_deps
/_rev_deps
/unyve
# Meson WrapDB stuff
subprojects/packagecache/
subprojects/googletest*
subprojects/pbbam*
subprojects/pbcopper*
[submodule "third-party/pbbam"]
path = third-party/pbbam
url = ../pbbam.git
branch = master
branch = develop
[submodule "third-party/seqan"]
path = third-party/seqan
url = ../seqan.git
branch = master
branch = develop
[submodule "third-party/pbcopper"]
path = third-party/pbcopper
url = ../pbcopper.git
branch = master
\ No newline at end of file
branch = develop
# UNANIMITY - CHANGELOG
## [3.1.0]
### Changed
- Per ZMW timings are default on in DIAGNOSTICS mode or available via hidden
option --zmwTimings. Output is BAM tag ms
## [3.0.0]
### Refactored
- MultiMolecularIntegrator renamed to just Integrator
- MonoMolecularIntegrator removed, all integrators now accept multiple molecules
- VirtualTemplate removed, as without MonoMolecular it is no longer needed
- MutatedTemplate added as a View object over some const template
- Template::Mutate() now returns a MutatedTemplate instead of modifying the Template
- Template was promoted from a member of Recursor to a member of EvaluatorImpl
- Recursor refactored to take a template as an argument in most functions
- Existing model files updated to match the new parent Recursor class
- s/PB_CHEMISTRY_BUNDLE_DIR/SMRT_CHEMISTRY_BUNDLE_DIR/g
## [2.1.0]
### Added
- Add Cleric, an alignment reference sequence replacer
- Add fuse, an alignment consensus caller
- Add juliet, a minimal minor variant caller
- Add Fisher's exact test
- Juliet JSON and HTMl output for HIV-1 pol region
- Call codon-wise
- Use pbcopper's q-gram index for sparse alignment
- Replaced seqan MSA in ChimeraLabeler
- support loading bundle models from PB_CHEMISTRY_BUNDLE_DIR
environment variable
## [2.0.4]
......
......@@ -2,9 +2,9 @@
# CMake build script for the UNANIMITY library
##############################################
cmake_policy(SET CMP0048 NEW)
project(UNANIMITY VERSION 2.1.0 LANGUAGES CXX C)
cmake_minimum_required(VERSION 3.2)
cmake_policy(SET CMP0048 NEW)
project(UNANIMITY VERSION 3.0.0 LANGUAGES CXX C)
set(ROOT_PROJECT_NAME ${PROJECT_NAME} CACHE STRING "root project name")
......@@ -16,6 +16,8 @@ ENDIF(NOT CMAKE_BUILD_TYPE)
# Build-time options
option(UNY_build_bin "Build binaries." ON)
option(UNY_build_tests "Build UNANIMITY's unit tests." ON)
option(UNY_build_chimera "Build UNANMITIY's stand-alone chimera labeler." OFF)
option(UNY_build_sim "Build UNANMITIY's (sub)read simulator." OFF)
option(UNY_inc_coverage "Include UNANIMITY's coverage script." OFF)
option(UNY_use_ccache "Build UNANIMITY using ccache, if available." ON)
......
Copyright (c) 2016, Pacific Biosciences of California, Inc.
Copyright (c) 2011-2018, Pacific Biosciences of California, Inc.
All rights reserved.
......
......@@ -5,51 +5,55 @@
<p align="center">C++ library and its applications to generate and process accurate consensus sequences</p>
***
## Documentation
- [Getting Started](doc/INSTALL.md)
- Projects
- Available
- Consensus Core
- [Circular Consensus Calling `ccs`](doc/PBCCS.md)
- [Minor Variant Calling `juliet`](doc/JULIET.md)
- [Reduce Alignment `fuse`](doc/FUSE.md)
- [Swap Alignment Reference `cleric`](doc/CLERIC.md)
- Planned
- Genomic Consensus Calling `gcpp`
- Viral Haplotype Phasing `eden`
- [Developer environment](doc/DEVELOPER.md)
- [PacBio open source license](LICENSE)
## Quick Tools Overview
### [Circular Consensus Calling](doc/PBCCS.md)
## Availability
The latest pre-release, developers-only linux binaries can be installed via [bioconda](https://bioconda.github.io/).
`ccs` takes multiple reads of the same SMRTbell sequence and combines
them, employing a statistical model, to produce one high quality consensus sequence.
conda install pbccs
### Genomic Consensus Calling
These binaries are not ISO compliant.
For research only.
Not for use in diagnostics procedures.
`gcpp` will replace the current python [GenomicConsensus](https://github.com/PacificBiosciences/GenomicConsensus), until then please use the existing solution.
Official support is only provided for official and stable
[SMRT Analysis builds](http://www.pacb.com/products-and-services/analytical-software/)
provided by PacBio.
No support for source builds.
No support via mail to developers.
### [Minor variant caller](doc/JULIET.md)
Binaries on bioconda are newer than GitHub source code.
`juliet` identifies minor variants from aligned ccs reads.
## [Circular Consensus Calling](doc/PBCCS.md)
### [Reduce alignment](doc/FUSE.md)
`ccs` takes multiple reads of the same SMRTbell sequence and combines
them, employing a statistical model, to produce one high quality consensus sequence.
More information available [here](doc/PBCCS.md).
`fuse` reduces an alignment into its closest representative sequence.
## FAQ
### [Swap BAM reference](doc/CLERIC.md)
### [Help! I am getting "Unsupported chemistries found: (...)"!](#model-data)
`cleric` swaps the reference of an alignment by transitive alignment.
Similar to [pbbam](https://github.com/PacificBiosciences/pbbam), Unanimity's consensus
models require chemistry-dependent parameters. As part of ongoing development efforts,
we might need to introduce new part numbers to identify novel reagents and/or SMRT Cells.
If your version of Unanimity significantly predates the chemistry you have used for
generating collections of data, you will run into issues with Unanimity not being able
to handle your data. In such cases, download the latest version of the model parameters
and place them in a subdirectory of `${SMRT_CHEMISTRY_BUNDLE_DIR}`:
### Viral Haplotype Phasing
```sh
cd <some persistent dir, preferably the same as used for pbbam>
export SMRT_CHEMISTRY_BUNDLE_DIR="${PWD}"
`eden` will leverage CCS reads to identify low-frequency haplotypes within polyploid samples.
mkdir -p arrow
cp /some/download/dir/model.json arrow/
```
## Help
This will cause Unanimity to try to load models from all files in `${SMRT_CHEMISTRY_BUNDLE_DIR}/arrow`
with a `.json` suffix.
Support is only provided for official and stable
[SMRT Analysis builds](http://www.pacb.com/products-and-services/analytical-software/)
provided by PacBio and not for source builds.
\ No newline at end of file
## License
[PacBio open source license](LICENSE)
DISCLAIMER
----------
THIS WEBSITE AND CONTENT AND ALL SITE-RELATED SERVICES, INCLUDING ANY DATA, ARE PROVIDED "AS IS," WITH ALL FAULTS, WITH NO REPRESENTATIONS OR WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT OR FITNESS FOR A PARTICULAR PURPOSE. YOU ASSUME TOTAL RESPONSIBILITY AND RISK FOR YOUR USE OF THIS SITE, ALL SITE-RELATED SERVICES, AND ANY THIRD PARTY WEBSITES OR APPLICATIONS. NO ORAL OR WRITTEN INFORMATION OR ADVICE SHALL CREATE A WARRANTY OF ANY KIND. ANY REFERENCES TO SPECIFIC PRODUCTS OR SERVICES ON THE WEBSITES DO NOT CONSTITUTE OR IMPLY A RECOMMENDATION OR ENDORSEMENT BY PACIFIC BIOSCIENCES.
#!/bin/bash
grep -v submodule scripts/ci/build.sh|bash -vex
......@@ -15,7 +15,7 @@ dependencies:
- pushd _deps ; if [ ! -f swig-3.0.8/bin/swig ] ; then rm -fr swig-3.0.8* ; mkdir dl ; pushd dl ; wget https://downloads.sourceforge.net/project/swig/swig/swig-3.0.8/swig-3.0.8.tar.gz ; tar xzf swig-3.0.8.tar.gz ; pushd swig-3.0.8 ; ./configure --prefix $(readlink -f ../../swig-3.0.8) ; make ; make install ; fi
- pushd _deps ; git clone https://github.com/PacificBiosciences/PacBioTestData.git
- pip install --upgrade pip
- pip install numpy cython h5py pysam cram nose
- pip install numpy cython h5py pysam cram nose jsonschema avro
- pip install --upgrade --no-deps git+https://github.com/PacificBiosciences/pbcommand.git
- pip install --upgrade --no-deps git+https://github.com/PacificBiosciences/pbcore.git
- pushd _deps/PacBioTestData ; git lfs pull && make python
......
......@@ -169,10 +169,6 @@ ENDFUNCTION() # SETUP_TARGET_FOR_COVERAGE
# Pass them in list form, e.g.: "-j;2" for -j 2
FUNCTION(SETUP_TARGET_FOR_COVERAGE_COBERTURA _targetname _testrunner _outputname)
IF(NOT PYTHON_EXECUTABLE)
MESSAGE(FATAL_ERROR "Python not found! Aborting...")
ENDIF() # NOT PYTHON_EXECUTABLE
IF(NOT GCOVR_PATH)
MESSAGE(FATAL_ERROR "gcovr not found! Aborting...")
ENDIF() # NOT GCOVR_PATH
......
include(CheckCXXCompilerFlag)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
# shared CXX flags for all source code & tests
set(UNY_FLAGS "-std=c++11 -Wall -Wextra -Wno-unused-parameter -Wno-unused-variable")
set(UNY_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-unused-variable")
# gperftools support
if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND APPLE)
......@@ -53,16 +57,3 @@ endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${UNY_FLAGS}")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${UNY_COV_FLAGS} ${UNY_SANITY_FLAGS}")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${UNY_LINKER_FLAGS}")
# Set additionally needed linker flags
if(APPLE)
set(PRE_LINK -force_load)
elseif(UNIX)
SET(PRE_LINK -Wl,-whole-archive)
SET(POST_LINK -Wl,-no-whole-archive)
endif()
if (JULIET_INHOUSE_PERFORMANCE)
add_definitions(-DJULIET_INHOUSE_PERFORMANCE)
endif()
\ No newline at end of file
......@@ -5,6 +5,10 @@ find_git_sha1(UNANIMITY_GIT_SHA1)
file (STRINGS "${UNY_RootDir}/CHANGELOG.md" UNANIMITY_CHANGELOG)
configure_file(
${UNY_IncludeDir}/pacbio/Version.h.in
${CMAKE_BINARY_DIR}/generated/pacbio/Version.h
${UNY_SourceDir}/UnanimityGitHash.cpp.in
${CMAKE_BINARY_DIR}/generated/UnanimityGitHash.cpp
)
configure_file(
${UNY_SourceDir}/UnanimityVersion.cpp.in
${CMAKE_BINARY_DIR}/generated/UnanimityVersion.cpp
)
......@@ -30,7 +30,10 @@ if (NOT PYTHON_SWIG)
# ZLIB
if (NOT ZLIB_INCLUDE_DIRS OR NOT ZLIB_LIBRARIES)
find_package(ZLIB REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(ZLIB zlib)
else()
set(ZLIB_LDFLAGS ${ZLIB_LIBRARIES})
endif()
# pbbam
......
unanimity (2.1.0~20160130+dfsg-1) UNRELEASED; urgency=medium
unanimity (3.1.0+dfsg-1) UNRELEASED; urgency=medium
* Initial release (Closes: #847310)
-- Afif Elghraoui <afif@debian.org> Fri, 23 Dec 2016 16:03:36 -0800
-- Andreas Tille <tille@debian.org> Wed, 10 Oct 2018 09:15:24 +0200
Source: unanimity
Section: science
Priority: optional
Maintainer: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
Uploaders: Afif Elghraoui <afif@debian.org>
Build-Depends:
debhelper (>= 10),
Section: science
Testsuite: autopkgtest-pkg-python
Priority: optional
Build-Depends: debhelper (>= 11~),
dh-python,
cmake,
swig,
......@@ -16,19 +16,18 @@ Build-Depends:
libpbbam-dev,
libpbcopper-dev,
libseqan2-dev,
pandoc,
Standards-Version: 3.9.8
Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/unanimity.git
Vcs-Git: https://anonscm.debian.org/git/debian-med/unanimity.git
pandoc
Standards-Version: 4.2.1
Vcs-Browser: https://salsa.debian.org/med-team/unanimity
Vcs-Git: https://salsa.debian.org/med-team/unanimity.git
Homepage: https://github.com/PacificBiosciences/unanimity
Package: unanimity
Architecture: any
Depends:
${shlibs:Depends},
Depends: ${shlibs:Depends},
${misc:Depends},
${python:Depends},
libpbbam,
libpbbam
Description: generate and process accurate consensus nucleotide sequences
Unanimity provides a set of tools for consensus sequences from Pacific
Biosciences sequencing data:
......@@ -44,12 +43,12 @@ Description: generate and process accurate consensus nucleotide sequences
cleric swaps the reference of an alignment by transitive alignment.
Package: python-consensuscore2
Section: python
Architecture: any
Depends:
${shlibs:Depends},
Section: python
Testsuite: autopkgtest-pkg-python
Depends: ${shlibs:Depends},
${misc:Depends},
${python:Depends},
${python:Depends}
Description: generate consensus sequences for PacBio data -- Python 2
ConsensusCore2 embodies core C++ routines underlying the Arrow HMM
algorithm for PacBio multi-sequence consensus. Arrow is the successor
......
doc/PBCCS.html
doc/JULIET.html
doc/JULIETFLOW.html
doc/FUSE.html
doc/CLERIC.html
doc/img
Description: Don't force -std-c++11
Otherwise we get:
error SeqAn requires C++14! You must compile your application with -std=c++14, -std=gnu++14 or -std=c++1y."
Author: Afif Elghraoui <afif@debian.org>
Forwarded: not-needed
Last-Update: 2016-12-18
--- unanimity.orig/cmake/uny-compilerflags.cmake
+++ unanimity/cmake/uny-compilerflags.cmake
@@ -2,7 +2,7 @@
include(CheckCXXCompilerFlag)
# shared CXX flags for all source code & tests
-set(UNY_FLAGS "-std=c++11 -Wall -Wextra -Wno-unused-parameter -Wno-unused-variable")
+set(UNY_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-unused-variable")
# gperftools support
if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND APPLE)
......@@ -2,9 +2,9 @@ Description: disable static linking to C libraries
Author: Afif Elghraoui <afif@debian.org>
Forwarded: not-needed
Last-Update: 2016-12-23
--- unanimity.orig/cmake/uny-compilerflags.cmake
+++ unanimity/cmake/uny-compilerflags.cmake
@@ -9,9 +9,8 @@
--- a/cmake/uny-compilerflags.cmake
+++ b/cmake/uny-compilerflags.cmake
@@ -13,9 +13,8 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND
set(UNY_LINKER_FLAGS "${UNY_LINKER_FLAGS} -Wl,-no_pie")
endif(CMAKE_BUILD_TYPE STREQUAL "Debug" AND APPLE)
......
git-version.patch
cxx-std.patch
no-static-linking.patch
......@@ -17,9 +17,6 @@ export PYBUILD_NAME=consensuscore2
export PYBUILD_SYSTEM=distutils
docs = $(addprefix doc/,\
CLERIC.html \
FUSE.html \
JULIETFLOW.html \
JULIET.html \
PBCCS.html \
)
......