Skip to content

Commit

Permalink
Merge pull request #37 from VeryAmazed/docs
Browse files Browse the repository at this point in the history
Docs
  • Loading branch information
ishmeals authored May 15, 2024
2 parents a8567a9 + 213a5d5 commit 7bd202b
Show file tree
Hide file tree
Showing 27 changed files with 5,173 additions and 5,037 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/clang-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ jobs:
- uses: actions/checkout@v4
- name: Run clang-format style check for C/C++/Protobuf programs.
uses: jidicula/[email protected]
with:
clang-format-version: '17'
28 changes: 6 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Digest
C++ library which supports various minimizer schemes for digestion of DNA sequences

# Implementation (Most of the documentation is in the code)
# Implementation
Supports Mod Minimizers, Window Minimizers, and Syncmers

Uses the cyclic or hash provided by [ntHash](https://github.com/bcgsc/ntHash). For now I just downloaded the essential files off their github and compiled it myself but I may change how I link in ntHash in the future.
Expand All @@ -28,11 +28,8 @@ This will generate `include` and `lib` folders.

# Usage
[Documentation](https://veryamazed.github.io/digest/)
* Headers at `#include <digest/___.hpp>`
* Classes are in `digest` namespace
* example compile: `g++ file.cpp -IPREFIX/include -LPREFIX/lib -ldigest`
* may need `std=c++17`
* ntHash does not support `large_window < 4`
* Digest objects require that the input string is kept in memory, unmodified.
* requires `c++17`

# Example
```cpp
Expand All @@ -44,28 +41,15 @@ Example snippet to collect up to 100000 indices of minimizers.
A vector must be passed in, which will be appended to.
Each WindowMin / Syncmer object is templated by the algorithm / data structure to find minimizers.
# Selecting the correct `data_structure`
our general guidelines:
* for `large_window` < 12, use Naive
* for 12 <= `large_window` <= 16 use SegmentTree
* for `large_window` > 16 use Naive2
adaptive performs at worst about 10% slower than best
adaptive64 performs at worst about 100% slower than best
A complete example and cli can be found [here](https://github.com/BenLangmead/gester/tree/main)
# Contributing
run
```bash
ninja clang-format
ninja clang-tidy
ninja docs
```
Use clang format version 17.
run `ninja clang-format` before submitting a PR.
# Benchmark / Tests
```bash
meson setup build
cd build && meson compile
```
this will generate proper executables for benchmark/testing

add to forked repo
8 changes: 4 additions & 4 deletions docs/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -588,7 +588,7 @@ RESOLVE_UNNAMED_PARAMS = YES
# section is generated. This option has no effect if EXTRACT_ALL is enabled.
# The default value is: NO.

HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_MEMBERS = YES

# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
# undocumented classes that are normally visible in the class hierarchy. If set
Expand Down Expand Up @@ -949,7 +949,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.

INPUT = include/digest
INPUT = README.md include/digest

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
Expand Down Expand Up @@ -1054,7 +1054,7 @@ RECURSIVE = NO
# Note that relative paths are relative to the directory from which doxygen is
# run.

EXCLUDE =
EXCLUDE = # ./include/digest/data_structure.hpp

# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
Expand Down Expand Up @@ -1165,7 +1165,7 @@ FILTER_SOURCE_PATTERNS =
# (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output.

USE_MDFILE_AS_MAINPAGE =
USE_MDFILE_AS_MAINPAGE = README.md

# The Fortran standard specifies that for fixed formatted Fortran code all
# characters from position 72 are to be considered as comment. A common
Expand Down
Loading

0 comments on commit 7bd202b

Please sign in to comment.