Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 7 additions & 33 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
# Copyright {#about_copyright}

| Summary | |
|---------------------------|--------------------------------------------------------------------------------------------|
| Copyright holders | Knut Reinert, [FU-Berlin](https://fu-berlin.de), [MPI MolGen](https://www.molgen.mpg.de/) |
| Library source code | ![](doc/about/copyright/bsdl_badge.svg) |
| Documentation | ![](doc/about/copyright/ccby_badge.svg) |
| Snippets and examples | ![](doc/about/copyright/cc0_badge.svg) |
| Dependencies | ![](doc/about/copyright/copyfree_badge.svg) |
In hibf, we have adopted the use of SPDX identifiers to specify the license under which each file is provided.

# Source code license
This approach simplifies the process of license declaration as it replaces the full license text with a single line
identifier. The SPDX identifier is a globally recognized standard that allows for easy identification and understanding
of the license. This means that each file in our project will have a license identifier at the top, making it clear
under which license the file is provided. For more information about the specific licenses, you can refer to the
[SPDX License List](https://spdx.org/licenses/).

The contents of this repository/directory, in particular the library
source code of HIBF, are licensed under the following terms:
For the purpose of referring to a singular license, hibf is licensed under BSD-3-Clause:

```
Copyright (c) 2006-2025, Knut Reinert & Freie Universität Berlin
Expand Down Expand Up @@ -42,26 +39,3 @@ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
```

# Documentation

The API documentation and manual are additionally provided under the
terms of the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/).
This includes
* doxygen-style comments within the library source code;
* Markdown files and images in the `doc`-subfolder;
* HTML or other representation produced from the above.

The source code examples and snippets within the documentation are
additionally provided under the terms of the
[Creative Commons Public Domain Dedication 1.0](https://creativecommons.org/publicdomain/zero/1.0/deed).
This includes:
* source code files (`*.cpp`, `*.hpp`) in the `doc`-subfolder;
* the contents of `test/snippet`.

# Submodules

This repository/directory may contain other projects' content in the
`submodules`-subfolder. We try to ensure that all dependencies are
permissively licensed (BSD/MIT/X11/ISC/Boost…), but please verify the
respective license files yourself.
129 changes: 0 additions & 129 deletions doc/about/api/index.md

This file was deleted.

59 changes: 19 additions & 40 deletions doc/about/citing/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,43 +14,22 @@ on SeqAn. This will help us continue to acquire funding and improve the library.

# Publications

HIBF has not yet been published academically, for now cite SeqAn2:

| Publication | |
|---------------|---------------------------------------------------------------------------------------------------|
| Title | The SeqAn C++ template library for efficient sequence analysis: A resource for programmers. |
| Year | 2017 |
| Authors | Reinert, K., Dadi, T. H., Ehrhardt, M., Hauswedell, H., Mehringer, S., Rahn, R., ... & Urgese, G. |
| Journal | Journal of biotechnology, 261, 157-168 |
| Links | [original](https://doi.org/10.1016/j.jbiotec.2017.07.017) |

Certain compontents of SeqAn are published separately. If you make strong use of
one of those compononts and/or specifically compare to that component, please
cite the respective publication **additionally**.

## Alignment module

| Publication | |
|---------------|---------------------------------------------------------------------------------------------------|
| Title | Generic accelerated sequence alignment in SeqAn using vectorization and multi-threading. |
| Year | 2018 |
| Authors | Rahn, R., Budach, S., Costanza, P., Ehrhardt, M., Hancox, J., & Reinert, K |
| Journal | Bioinformatics, 34(20), 3437-3445 |
| Links | [original](https://doi.org/10.1093/bioinformatics/bty380) |

Cite the above publication when you make strong use of the alignment module, in
particular if you rely on the high-performance computing capabilities.

## Search module

| Publication | |
|---------------|---------------------------------------------------------------------------------------------------|
| Title | From theory to practice: Plug and play with succinct data structures. |
| Year | 2014 |
| Authors | Gog, S., Beller, T., Moffat, A., & Petri, M. |
| Journal | International Symposium on Experimental Algorithms (pp. 326-337). Springer, Cham. |
| Links | [original](https://doi.org/10.1007/978-3-319-07959-2_28) |


Full text indexing in HIBF makes use of the Succint data structure library (SDSL).
Version 3 has not yet been published, for now cite SDSL-v2 (above).
## IBF

| Publication | |
|---------------|-----------------------------------------------------------------------------------------------------------|
| Title | Raptor: A fast and space-efficient pre-filter for querying very large collections of nucleotide sequences |
| Year | 2021 |
| Authors | Enrico Seiler, Svenja Mehringer, Mitra Darvish, Etienne Turc, and Knut Reinert |
| Journal | iScience 2021 24 (7): 102782 |
| Links | https://doi.org/10.1016/j.isci.2021.102782 |

## HIBF

| Publication | |
|---------------|----------------------------------------------------------------------------------------------------------|
| Title | Hierarchical Interleaved Bloom Filter: enabling ultrafast, approximate sequence queries |
| Year | 2023 |
| Authors | Svenja Mehringer, Enrico Seiler, Felix Droop, Mitra Darvish, René Rahn, Martin Vingron, and Knut Reinert |
| Journal | Genome Biol 24, 131 (2023) |
| Links | https://doi.org/10.1186/s13059-023-02971-4 |
6 changes: 4 additions & 2 deletions doc/cookbook/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,18 @@ Search for keywords with `Strg + F`.
\include test/snippet/hibf/config_number_of_user_bins.cpp
\include test/snippet/hibf/hibf_construction.cpp
\include test/snippet/hibf/hierarchical_interleaved_bloom_filter.cpp
\include test/snippet/ibf/counting_agent.cpp
\include test/snippet/ibf/containment_agent_bulk_contains.cpp
\include test/snippet/ibf/containment_agent_construction.cpp
\include test/snippet/ibf/counting_agent_construction.cpp
\include test/snippet/ibf/counting_agent.cpp
\include test/snippet/ibf/counting_vector.cpp
\include test/snippet/ibf/interleaved_bloom_filter_clear.cpp
\include test/snippet/ibf/interleaved_bloom_filter_constructor.cpp
\include test/snippet/ibf/interleaved_bloom_filter_emplace.cpp
\include test/snippet/ibf/interleaved_bloom_filter_increase_bin_number_to.cpp
\include test/snippet/ibf/interleaved_bloom_filter_try_increase_bin_number_to.cpp
\include test/snippet/ibf/membership_agent_bulk_contains.cpp
\include test/snippet/ibf/membership_agent_construction.cpp
\include test/snippet/ibf/membership_agent_membership_for.cpp
\include test/snippet/readme.cpp
\include test/snippet/snippet_main.cpp
\include test/snippet/test/tmp_directory.cpp
Expand Down
4 changes: 2 additions & 2 deletions include/hibf/all.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
*/

/*!\defgroup ibf IBF
* \brief The Interleaved Bloom Filter.
* \brief The Interleaved Bloom Filter: seqan::hibf::interleaved_bloom_filter
*/

/*!\defgroup hibf HIBF
* \brief The HIBF: seqan::hibf::hierarchical_interleaved_bloom_filter
* \brief The Hierarchical Interleaved Bloom Filter: seqan::hibf::hierarchical_interleaved_bloom_filter
*
* The Hierarchical Interleaved Bloom Filter is a data structure that provides fast answers to set-membership queries
* for multiple samples/set/user-bins.
Expand Down
6 changes: 2 additions & 4 deletions include/hibf/hierarchical_interleaved_bloom_filter.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -438,8 +438,7 @@ class hierarchical_interleaved_bloom_filter::membership_agent_type
return result_buffer;
}

// `membership_for` cannot be called on a temporary, since the object the returned reference points to
// is immediately destroyed.
//!\brief Deleted. Calling this function on a temporary would result in a dangling reference.
template <std::ranges::range value_range_t>
[[nodiscard]] std::vector<uint64_t> const & membership_for(value_range_t && values,
uint16_t const threshold) && noexcept = delete;
Expand Down Expand Up @@ -566,8 +565,7 @@ class hierarchical_interleaved_bloom_filter::counting_agent_type
return result_buffer;
}

// `bulk_count` cannot be called on a temporary, since the object the returned reference points to
// is immediately destroyed.
//!\brief Deleted. Calling this function on a temporary would result in a dangling reference.
template <std::ranges::range value_range_t>
[[nodiscard]] counting_vector<value_t> const & bulk_count(value_range_t && values,
size_t const threshold) && noexcept = delete;
Expand Down
Loading