[med-svn] [Git][med-team/seqan2][upstream] New upstream version 2.5.0~rc3+dfsg
Michael R. Crusoe (@crusoe)
gitlab at salsa.debian.org
Fri Nov 22 23:21:56 GMT 2024
Michael R. Crusoe pushed to branch upstream at Debian Med / seqan2
Commits:
b2c20078 by Michael R. Crusoe at 2024-11-23T00:18:12+01:00
New upstream version 2.5.0~rc3+dfsg
- - - - -
23 changed files:
- CMakeLists.txt
- README.md
- apps/fiona/CMakeLists.txt
- apps/mason2/CMakeLists.txt
- apps/ngs_roi/png_canvas.h
- apps/razers3/CMakeLists.txt
- apps/samcat/CMakeLists.txt
- apps/searchjoin/CMakeLists.txt
- apps/yara/CMakeLists.txt
- include/seqan/modifier/modifier_reverse.h
- include/seqan/sequence/string_packed.h
- manual/environment.yml
- manual/requirements.txt
- manual/source/Infrastructure/Use/FindSeqAnCMake.rst
- manual/source/conf.py
- tests/index/CMakeLists.txt
- tests/journaled_string_tree/CMakeLists.txt
- tests/parallel/CMakeLists.txt
- tests/sequence/test_sequence.h
- tests/sequence/test_sequence_std_adaptions.h
- tests/translation/CMakeLists.txt
- util/cmake/seqan-config.cmake
- util/raw_cmake_project/src/CMakeLists.txt
Changes:
=====================================
CMakeLists.txt
=====================================
@@ -127,6 +127,16 @@ seqan_get_repository_info ()
# Include Subdirectories
# ===========================================================================
+if ("${SEQAN_BUILD_SYSTEM}" STREQUAL "DOCUMENTATION")
+ message (STATUS "Configuring dox")
+ add_subdirectory (dox)
+
+ message (STATUS "Configuring manual")
+ add_subdirectory (manual)
+
+ return ()
+endif ()
+
# Tests, demos and manual are only built when building in DEVELOP mode.
if ("${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
message (STATUS "Configuring tests")
=====================================
README.md
=====================================
@@ -40,9 +40,9 @@ The licenses for the applications themselves can be found in the LICENSE files.
Older compiler versions might work but are neither supported nor tested.
### Linux, macOS, FreeBSD
- * GCC ≥ 11
- * Clang/LLVM ≥ 15
- * Intel oneAPI C++ Compiler 2024.0.2 (IntelLLVM)
+ * GCC ≥ 12
+ * Clang/LLVM ≥ 17
+ * Intel oneAPI C++ Compiler 2025.0 (IntelLLVM)
### Windows
* Visual C++ ≥ 17.0 / Visual Studio ≥ 2022
=====================================
apps/fiona/CMakeLists.txt
=====================================
@@ -18,7 +18,7 @@ set (SEQAN_APP_VERSION "0.2.11")
# Search SeqAn and select dependencies.
if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
- find_package (OpenMP)
+ find_package (OpenMP COMPONENTS CXX)
find_package (ZLIB)
find_package (Boost)
find_package (SeqAn CONFIG REQUIRED)
=====================================
apps/mason2/CMakeLists.txt
=====================================
@@ -18,7 +18,7 @@ set (SEQAN_APP_VERSION "2.0.10")
# Search SeqAn and select dependencies.
if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
- find_package (OpenMP)
+ find_package (OpenMP COMPONENTS CXX)
find_package (ZLIB)
find_package (SeqAn CONFIG REQUIRED)
endif ()
=====================================
apps/ngs_roi/png_canvas.h
=====================================
@@ -152,7 +152,7 @@ struct PngIhdrChunk
struct PngIdatChunk
{
- std::basic_string<unsigned char> data;
+ std::vector<unsigned char> data;
// Returns pointer to the payload.
unsigned char const * payload() const
=====================================
apps/razers3/CMakeLists.txt
=====================================
@@ -18,7 +18,7 @@ set (SEQAN_APP_VERSION "3.5.9")
# Search SeqAn and select dependencies.
if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
- find_package (OpenMP)
+ find_package (OpenMP COMPONENTS CXX)
find_package (ZLIB)
find_package (BZip2)
find_package (SeqAn CONFIG REQUIRED)
=====================================
apps/samcat/CMakeLists.txt
=====================================
@@ -18,7 +18,7 @@ set (SEQAN_APP_VERSION "0.3.9")
# Search SeqAn and select dependencies.
if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
- find_package (OpenMP)
+ find_package (OpenMP COMPONENTS CXX)
find_package (ZLIB)
find_package (SeqAn CONFIG REQUIRED)
endif ()
=====================================
apps/searchjoin/CMakeLists.txt
=====================================
@@ -18,7 +18,7 @@ set (SEQAN_APP_VERSION "0.5.9")
# Search SeqAn and select dependencies.
if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
- find_package (OpenMP)
+ find_package (OpenMP COMPONENTS CXX)
find_package (SeqAn CONFIG REQUIRED)
endif ()
=====================================
apps/yara/CMakeLists.txt
=====================================
@@ -16,7 +16,7 @@ message (STATUS "Configuring apps/yara")
# Search SeqAn and select dependencies.
if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
- find_package (OpenMP)
+ find_package (OpenMP COMPONENTS CXX)
find_package (ZLIB)
find_package (BZip2)
find_package (SeqAn CONFIG REQUIRED)
=====================================
include/seqan/modifier/modifier_reverse.h
=====================================
@@ -559,6 +559,8 @@ reverse(TSequence & sequence, Tag<TParallelTag> parallelTag)
TIter itBeg = begin(sequence, Standard());
TIter itEnd = end(sequence, Standard());
+ if (itBeg == itEnd)
+ return;
Splitter<TPos> splitter(0, length(sequence) / 2, parallelTag);
// disable multi-threading if sequence is too small
=====================================
include/seqan/sequence/string_packed.h
=====================================
@@ -295,15 +295,23 @@ public:
}
Iter(TPackedString &container):
- data_iterator(begin(host(container), Standard()) + 1),
+ data_iterator(begin(host(container), Standard())),
localPos(0)
{
+ // If begin(host(container)) is not a nullptr:
+ // data_iterator(begin(host(container), Standard()) + 1;
+ // Otherwise, use nullptr.
+ data_iterator += (data_iterator != nullptr);
}
Iter(TPackedString &container, TPosition pos):
- data_iterator(begin(host(container), Standard()) + 1 + pos / TTraits::VALUES_PER_HOST_VALUE),
+ data_iterator(begin(host(container), Standard())),
localPos(pos % TTraits::VALUES_PER_HOST_VALUE)
{
+ // If begin(host(container)) is not a nullptr:
+ // data_iterator(begin(host(container), Standard()) + 1 + pos / TTraits::VALUES_PER_HOST_VALUE);
+ // Otherwise, use nullptr.
+ data_iterator += (data_iterator != nullptr) * (1 + pos / TTraits::VALUES_PER_HOST_VALUE);
}
// inline
=====================================
manual/environment.yml
=====================================
@@ -2,7 +2,7 @@ name: seqan
channels:
- conda-forge
dependencies:
- - sphinx=3.4.3
+ - sphinx=8.1.3
- sphinx_rtd_theme
- sphinxcontrib-bibtex
- nose2
=====================================
manual/requirements.txt
=====================================
@@ -1,4 +1,4 @@
-sphinx==5.3.0
+sphinx==8.1.3
seqansphinx>=0.4.0
sphinx_rtd_theme
sphinxcontrib-bibtex
=====================================
manual/source/Infrastructure/Use/FindSeqAnCMake.rst
=====================================
@@ -232,7 +232,7 @@ An example of where you only want ZLIB and OpenMP support, but not BZip2, would
.. code-block:: cmake
find_package (ZLIB)
- find_package (OpenMP)
+ find_package (OpenMP COMPONENTS CXX)
find_package (SeqAn)
From within CMake you can check the variables ``ZLIB_FOUND`` or ``OpenMP_FOUND`` to see the results of these dependency searches, but you can also use the following macros from within your source code to escape certain optional code paths:
=====================================
manual/source/conf.py
=====================================
@@ -1,31 +1,23 @@
+# Configuration file for the Sphinx documentation builder.
#
-# This file is execfile()d with the current directory set to its
-# containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
+# For the full list of built-in configuration values, see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
import sys
import os
import sphinx_rtd_theme
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-#sys.path.insert(0, os.path.abspath('.'))
+# -- Project information -----------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
-# -- General configuration ------------------------------------------------
+# General information about the project.
+project = u'SeqAn'
+copyright = u'2015, The SeqAn Team'
-# If your documentation needs a minimal Sphinx version, state it here.
-#needs_sphinx = '1.0'
+# -- General configuration ---------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
-# Add any Sphinx extension module names here, as strings. They can be
-# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
-# ones.
extensions = [
'sphinx.ext.todo',
'sphinx.ext.mathjax',
@@ -53,10 +45,6 @@ bibtex_bibfiles = ['seqan.bib']
# The master toctree document.
master_doc = 'index'
-# General information about the project.
-project = u'SeqAn'
-copyright = u'2015, The SeqAn Team'
-
# <-- SeqAn: Determine current branch ----------------------------------------------
# Get the current seqan-branch from the READTHEDOCS_VERSION enviornment variable.
@@ -75,219 +63,41 @@ seqan_branch = os.environ.get('READTHEDOCS_VERSION', 'main')
version = seqan_branch.replace('seqan-v','')
# The full version, including alpha/beta/rc tags.
release = version
-
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#today = ''
-# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-exclude_patterns = []
-
-# The reST default role (used for this markup: `text`) to use for all
-# documents.
-#default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#show_authors = False
-
-# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
-# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
-
-# If true, keep warnings as "system message" paragraphs in the built documents.
-#keep_warnings = False
-
-# -- Options for HTML output ----------------------------------------------
+# -- Options for HTML output -------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
-# The theme to use for HTML and HTML Help pages. See the documentation for
-# a list of builtin themes.
-#html_theme = 'default'
html_theme = 'sphinx_rtd_theme'
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further. For a list of options available for each theme, see the
-# documentation.
-#html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-#html_theme_path = []
-html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
-
-# The name for this set of Sphinx documents. If None, it defaults to
-# "<project> v<release> documentation".
-#html_title = None
-
-# A shorter title for the navigation bar. Default is the same as html_title.
-#html_short_title = None
-
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-#html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
-
-# Add any extra paths that contain custom files (such as robots.txt or
-# .htaccess) here, relative to this directory. These files are copied
-# directly to the root of the documentation.
-#html_extra_path = []
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-#html_last_updated_fmt = '%b %d, %Y'
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-#html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-#html_additional_pages = {}
-
-# If false, no module index is generated.
-#html_domain_indices = True
-
-# If false, no index is generated.
-#html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-#html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
-
-# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-#html_show_sphinx = True
-
-# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-#html_show_copyright = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it. The value of this option must be the
-# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
-
-# This is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = None
-
-# Output file base name for HTML help builder.
htmlhelp_basename = 'seqandoc'
-
# -- Options for LaTeX output ---------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-latex-output
-latex_elements = {
-# The paper size ('letterpaper' or 'a4paper').
-#'papersize': 'letterpaper',
-
-# The font size ('10pt', '11pt' or '12pt').
-#'pointsize': '10pt',
-
-# Additional stuff for the LaTeX preamble.
-#'preamble': '',
-}
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title,
-# author, documentclass [howto, manual, or own class]).
latex_documents = [
('index', 'SeqAn.tex', u'SeqAn Manual',
u'The SeqAn Team', 'manual'),
]
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-#latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-#latex_use_parts = False
-
-# If true, show page references after internal links.
-#latex_show_pagerefs = False
-
-# If true, show URL addresses after external links.
-#latex_show_urls = False
-
-# Documents to append as an appendix to all manuals.
-#latex_appendices = []
-
-# If false, no module index is generated.
-#latex_domain_indices = True
-
-
# -- Options for manual page output ---------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-manual-page-output
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'seqan', u'SeqAn Manual',
[u'The SeqAn Team'], 1)
]
-# If true, show URL addresses after external links.
-#man_show_urls = False
-
-
# -- Options for Texinfo output -------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-texinfo-output
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-# dir menu entry, description, category)
texinfo_documents = [
('index', 'SeqAn', u'SeqAn Manual',
u'The SeqAn Team', 'SeqAn', 'One line description of project.',
'Miscellaneous'),
]
-# Documents to append as an appendix to all manuals.
-#texinfo_appendices = []
-
-# If false, no module index is generated.
-#texinfo_domain_indices = True
-
-# How to display URL addresses: 'footnote', 'no', or 'inline'.
-#texinfo_show_urls = 'footnote'
-
-# If true, do not generate a @detailmenu in the "Top" node's menu.
-#texinfo_no_detailmenu = False
-
-# -- Options for the Disqus integration -------------------------------------
-
-#on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
-#if on_rtd:
-# html_context = {
-# 'disqus_shortname': 'seqan-manual',
-# }
-
# -- Options for SeqAn plugins ----------------------------------------------
# Configure the base URL for dox links. By default, we point to the main
=====================================
tests/index/CMakeLists.txt
=====================================
@@ -16,7 +16,7 @@ message (STATUS "Configuring tests/index")
# Search SeqAn and select dependencies.
if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
- find_package (OpenMP)
+ find_package (OpenMP COMPONENTS CXX)
find_package (SeqAn REQUIRED)
endif ()
=====================================
tests/journaled_string_tree/CMakeLists.txt
=====================================
@@ -16,7 +16,7 @@ message (STATUS "Configuring tests/journaled_string_tree")
# Search SeqAn and select dependencies.
if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
- find_package (OpenMP)
+ find_package (OpenMP COMPONENTS CXX)
find_package (SeqAn REQUIRED)
endif ()
=====================================
tests/parallel/CMakeLists.txt
=====================================
@@ -16,7 +16,7 @@ message (STATUS "Configuring tests/parallel")
# Search SeqAn and select dependencies.
if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
- find_package (OpenMP)
+ find_package (OpenMP COMPONENTS CXX)
find_package (SeqAn REQUIRED)
endif ()
=====================================
tests/sequence/test_sequence.h
=====================================
@@ -204,10 +204,7 @@ typedef
seqan2::TagList<String<char, Alloc<> >,
seqan2::TagList<String<int, Alloc<> >,
seqan2::TagList<String<CountingChar, Alloc<> >,
-// seqan2::TagList<std::basic_string<seqan2::Dna5>,
seqan2::TagList<std::basic_string<char>,
- seqan2::TagList<std::basic_string<int>,
-// seqan2::TagList<std::basic_string<CountingChar>
seqan2::TagList<std::vector<seqan2::Dna5>,
seqan2::TagList<std::vector<char>,
seqan2::TagList<std::vector<int>,
@@ -225,8 +222,8 @@ typedef
seqan2::TagList<std::list<int>,
seqan2::TagList<std::list<CountingChar>
> > > > > > > > > > > > > > > > > > > > > > > > >
- > > > > > > > > > > > > > > //> >
- > > > >
+ > > > > > > > > > > > > > >
+ > > >
StringTestCommonTypes;
SEQAN_TYPED_TEST_CASE(StringTestCommon, StringTestCommonTypes);
=====================================
tests/sequence/test_sequence_std_adaptions.h
=====================================
@@ -275,7 +275,7 @@ SEQAN_DEFINE_TEST(test_sequence_adaptions_metafunctions_std_string)
{
using namespace seqan2;
- typedef int TElement;
+ typedef char TElement;
typedef std::basic_string<TElement> TString;
typedef TString const TConstString;
=====================================
tests/translation/CMakeLists.txt
=====================================
@@ -16,7 +16,7 @@ message (STATUS "Configuring tests/translation")
# Search SeqAn and select dependencies.
if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
- find_package (OpenMP)
+ find_package (OpenMP COMPONENTS CXX)
find_package (SeqAn REQUIRED)
endif ()
=====================================
util/cmake/seqan-config.cmake
=====================================
@@ -358,7 +358,7 @@ endif ()
set (SEQAN_HAS_OPENMP FALSE)
if (NOT SEQAN_NO_OPENMP)
- find_package (OpenMP QUIET)
+ find_package (OpenMP QUIET COMPONENTS CXX)
endif ()
if (OPENMP_FOUND)
@@ -372,10 +372,8 @@ if (OPENMP_FOUND)
set (OPENMP_FOUND FALSE)
else ()
set (SEQAN_HAS_OPENMP TRUE) # deprecated: use OPENMP_FOUND instead
- set (SEQAN_LIBRARIES ${SEQAN_LIBRARIES} ${OpenMP_CXX_LIBRARIES})
- set (SEQAN_INCLUDE_DIRS_DEPS ${SEQAN_INCLUDE_DIRS_DEPS} ${OpenMP_CXX_INCLUDE_DIRS})
+ set (SEQAN_LIBRARIES ${SEQAN_LIBRARIES} OpenMP::OpenMP_CXX)
set (SEQAN_DEFINITIONS ${SEQAN_DEFINITIONS} "-DSEQAN_HAS_OPENMP=1")
- set (SEQAN_CXX_FLAGS "${SEQAN_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif ()
endif ()
=====================================
util/raw_cmake_project/src/CMakeLists.txt
=====================================
@@ -1,5 +1,5 @@
# Configure SeqAn, enabling features for libbz2 and zlib.
-find_package (OpenMP)
+find_package (OpenMP COMPONENTS CXX)
find_package (ZLIB)
find_package (BZip2)
find_package (SeqAn REQUIRED)
View it on GitLab: https://salsa.debian.org/med-team/seqan2/-/commit/b2c20078a7555fa067628fe1df07e4f3060ce779
--
View it on GitLab: https://salsa.debian.org/med-team/seqan2/-/commit/b2c20078a7555fa067628fe1df07e4f3060ce779
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20241122/171264bb/attachment-0001.htm>
More information about the debian-med-commit
mailing list