├── .github
├── apple.svg
├── example.png
├── example.tex
└── linux.svg
├── .gitignore
├── .gitmodules
├── .travis.yml
├── CHANGELOG.rst
├── CMakeLists.txt
├── LICENSE.rst
├── README.rst
├── benchmarks
├── CMakeLists.txt
├── bench.cpp
└── bench.sh
├── include
└── libdivsufsort
│ ├── LICENSE
│ └── divsufsort.hpp
├── src
├── CMakeLists.txt
├── algo.hpp
├── common.hpp
├── find2_index_approx.hpp
├── genmap.cpp
├── genmap_helper.hpp
├── indexing.hpp
├── mappability.hpp
├── output.hpp
└── seqan_libdivsufsort.h
└── tests
├── CMakeLists.txt
├── bowtie-test.sh
├── test_cases
├── README.rst
├── case_1a
│ ├── bed_freq16
│ │ └── genome.genmap.bedgraph
│ ├── bed_map
│ │ └── genome.genmap.bedgraph
│ ├── csv
│ │ └── genome.genmap.csv
│ ├── genome.fa
│ ├── raw_freq16
│ │ └── genome.genmap.freq16
│ ├── raw_freq8
│ │ └── genome.genmap.freq8
│ ├── raw_map
│ │ └── genome.genmap.map
│ ├── txt_freq16
│ │ └── genome.genmap.txt
│ ├── txt_freq8
│ │ └── genome.genmap.txt
│ ├── txt_map
│ │ └── genome.genmap.txt
│ ├── wig_freq16
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
│ └── wig_map
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
├── case_1b
│ ├── bed_freq16
│ │ └── genome.genmap.bedgraph
│ ├── bed_map
│ │ └── genome.genmap.bedgraph
│ ├── csv
│ │ └── genome.genmap.csv
│ ├── genome.fa
│ ├── raw_freq16
│ │ └── genome.genmap.freq16
│ ├── raw_freq8
│ │ └── genome.genmap.freq8
│ ├── raw_map
│ │ └── genome.genmap.map
│ ├── txt_freq16
│ │ └── genome.genmap.txt
│ ├── txt_map
│ │ └── genome.genmap.txt
│ ├── wig_freq16
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
│ └── wig_map
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
├── case_1c
│ ├── bed_freq16
│ │ └── genome.genmap.bedgraph
│ ├── bed_map
│ │ └── genome.genmap.bedgraph
│ ├── csv
│ │ └── genome.genmap.csv
│ ├── genome.fa
│ ├── raw_freq16
│ │ └── genome.genmap.freq16
│ ├── raw_freq8
│ │ └── genome.genmap.freq8
│ ├── raw_map
│ │ └── genome.genmap.map
│ ├── txt_freq16
│ │ └── genome.genmap.txt
│ ├── txt_map
│ │ └── genome.genmap.txt
│ ├── wig_freq16
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
│ └── wig_map
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
├── case_1d
│ ├── bed_freq16
│ │ └── genome.genmap.bedgraph
│ ├── bed_map
│ │ └── genome.genmap.bedgraph
│ ├── csv
│ │ └── genome.genmap.csv
│ ├── genome.fa
│ ├── raw_freq16
│ │ └── genome.genmap.freq16
│ ├── raw_freq8
│ │ └── genome.genmap.freq8
│ ├── raw_map
│ │ └── genome.genmap.map
│ ├── txt_freq16
│ │ └── genome.genmap.txt
│ ├── txt_map
│ │ └── genome.genmap.txt
│ ├── wig_freq16
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
│ └── wig_map
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
├── case_1e
│ ├── bed_freq16
│ │ └── genome.genmap.bedgraph
│ ├── bed_map
│ │ └── genome.genmap.bedgraph
│ ├── csv
│ │ └── genome.genmap.csv
│ ├── genome.fa
│ ├── raw_freq16
│ │ └── genome.genmap.freq16
│ ├── raw_freq8
│ │ └── genome.genmap.freq8
│ ├── raw_map
│ │ └── genome.genmap.map
│ ├── txt_freq16
│ │ └── genome.genmap.txt
│ ├── txt_map
│ │ └── genome.genmap.txt
│ ├── wig_freq16
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
│ └── wig_map
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
├── case_1f
│ ├── bed_freq16
│ │ └── genome.genmap.bedgraph
│ ├── bed_map
│ │ └── genome.genmap.bedgraph
│ ├── csv
│ │ └── genome.genmap.csv
│ ├── genome.fa
│ ├── raw_freq16
│ │ └── genome.genmap.freq16
│ ├── raw_freq8
│ │ └── genome.genmap.freq8
│ ├── raw_map
│ │ └── genome.genmap.map
│ ├── txt_freq16
│ │ └── genome.genmap.txt
│ ├── txt_map
│ │ └── genome.genmap.txt
│ ├── wig_freq16
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
│ └── wig_map
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
├── case_1g
│ ├── bed_freq16
│ │ └── genome.genmap.bedgraph
│ ├── bed_map
│ │ └── genome.genmap.bedgraph
│ ├── csv
│ │ └── genome.genmap.csv
│ ├── genome.fa
│ ├── raw_freq16
│ │ └── genome.genmap.freq16
│ ├── raw_freq8
│ │ └── genome.genmap.freq8
│ ├── raw_map
│ │ └── genome.genmap.map
│ ├── subset.bed
│ ├── txt_freq16
│ │ └── genome.genmap.txt
│ ├── txt_map
│ │ └── genome.genmap.txt
│ ├── wig_freq16
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
│ └── wig_map
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
├── case_2a
│ ├── bed_freq16
│ │ └── genome.genmap.bedgraph
│ ├── bed_map
│ │ └── genome.genmap.bedgraph
│ ├── csv
│ │ └── genome.genmap.csv
│ ├── genome.fa
│ ├── raw_freq16
│ │ └── genome.genmap.freq16
│ ├── raw_freq8
│ │ └── genome.genmap.freq8
│ ├── raw_map
│ │ └── genome.genmap.map
│ ├── txt_freq16
│ │ └── genome.genmap.txt
│ ├── txt_map
│ │ └── genome.genmap.txt
│ ├── wig_freq16
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
│ └── wig_map
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
├── case_2b
│ ├── bed_freq16
│ │ └── genome.genmap.bedgraph
│ ├── bed_map
│ │ └── genome.genmap.bedgraph
│ ├── csv
│ │ └── genome.genmap.csv
│ ├── genome.fa
│ ├── raw_freq16
│ │ └── genome.genmap.freq16
│ ├── raw_freq8
│ │ └── genome.genmap.freq8
│ ├── raw_map
│ │ └── genome.genmap.map
│ ├── txt_freq16
│ │ └── genome.genmap.txt
│ ├── txt_map
│ │ └── genome.genmap.txt
│ ├── wig_freq16
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
│ └── wig_map
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
├── case_2c
│ ├── bed_freq16
│ │ └── genome.genmap.bedgraph
│ ├── bed_map
│ │ └── genome.genmap.bedgraph
│ ├── csv
│ │ └── genome.genmap.csv
│ ├── genome.fa
│ ├── raw_freq16
│ │ └── genome.genmap.freq16
│ ├── raw_freq8
│ │ └── genome.genmap.freq8
│ ├── raw_map
│ │ └── genome.genmap.map
│ ├── txt_freq16
│ │ └── genome.genmap.txt
│ ├── txt_map
│ │ └── genome.genmap.txt
│ ├── wig_freq16
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
│ └── wig_map
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
├── case_2d
│ ├── bed_freq16
│ │ └── genome.genmap.bedgraph
│ ├── bed_map
│ │ └── genome.genmap.bedgraph
│ ├── csv
│ │ └── genome.genmap.csv
│ ├── genome.fa
│ ├── raw_freq16
│ │ └── genome.genmap.freq16
│ ├── raw_freq8
│ │ └── genome.genmap.freq8
│ ├── raw_map
│ │ └── genome.genmap.map
│ ├── txt_freq16
│ │ └── genome.genmap.txt
│ ├── txt_map
│ │ └── genome.genmap.txt
│ ├── wig_freq16
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
│ └── wig_map
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
├── case_2e
│ ├── bed_freq16
│ │ └── genome.genmap.bedgraph
│ ├── bed_map
│ │ └── genome.genmap.bedgraph
│ ├── csv
│ │ └── genome.genmap.csv
│ ├── genome.fa
│ ├── raw_freq16
│ │ └── genome.genmap.freq16
│ ├── raw_freq8
│ │ └── genome.genmap.freq8
│ ├── raw_map
│ │ └── genome.genmap.map
│ ├── subset.bed
│ ├── txt_freq16
│ │ └── genome.genmap.txt
│ ├── txt_map
│ │ └── genome.genmap.txt
│ ├── wig_freq16
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
│ └── wig_map
│ │ ├── genome.genmap.chrom.sizes
│ │ └── genome.genmap.wig
├── case_3a
│ ├── bed_freq16
│ │ ├── genome1.genmap.bedgraph
│ │ ├── genome2.genmap.bedgraph
│ │ └── genome3.genmap.bedgraph
│ ├── bed_map
│ │ ├── genome1.genmap.bedgraph
│ │ ├── genome2.genmap.bedgraph
│ │ └── genome3.genmap.bedgraph
│ ├── csv
│ │ ├── genome1.genmap.csv
│ │ ├── genome2.genmap.csv
│ │ └── genome3.genmap.csv
│ ├── genome1.fa
│ ├── genome2.fa
│ ├── genome3.fa
│ ├── raw_freq16
│ │ ├── genome1.genmap.freq16
│ │ ├── genome2.genmap.freq16
│ │ └── genome3.genmap.freq16
│ ├── raw_freq8
│ │ ├── genome1.genmap.freq8
│ │ ├── genome2.genmap.freq8
│ │ └── genome3.genmap.freq8
│ ├── raw_map
│ │ ├── genome1.genmap.map
│ │ ├── genome2.genmap.map
│ │ └── genome3.genmap.map
│ ├── txt_freq16
│ │ ├── genome1.genmap.txt
│ │ ├── genome2.genmap.txt
│ │ └── genome3.genmap.txt
│ ├── txt_map
│ │ ├── genome1.genmap.txt
│ │ ├── genome2.genmap.txt
│ │ └── genome3.genmap.txt
│ ├── wig_freq16
│ │ ├── genome1.genmap.chrom.sizes
│ │ ├── genome1.genmap.wig
│ │ ├── genome2.genmap.chrom.sizes
│ │ ├── genome2.genmap.wig
│ │ ├── genome3.genmap.chrom.sizes
│ │ └── genome3.genmap.wig
│ └── wig_map
│ │ ├── genome1.genmap.chrom.sizes
│ │ ├── genome1.genmap.wig
│ │ ├── genome2.genmap.chrom.sizes
│ │ ├── genome2.genmap.wig
│ │ ├── genome3.genmap.chrom.sizes
│ │ └── genome3.genmap.wig
├── case_3b
│ ├── bed_freq16
│ │ ├── genome1.genmap.bedgraph
│ │ ├── genome2.genmap.bedgraph
│ │ └── genome3.genmap.bedgraph
│ ├── bed_map
│ │ ├── genome1.genmap.bedgraph
│ │ ├── genome2.genmap.bedgraph
│ │ └── genome3.genmap.bedgraph
│ ├── csv
│ │ ├── genome1.genmap.csv
│ │ ├── genome2.genmap.csv
│ │ └── genome3.genmap.csv
│ ├── genome1.fa
│ ├── genome2.fa
│ ├── genome3.fa
│ ├── raw_freq16
│ │ ├── genome1.genmap.freq16
│ │ ├── genome2.genmap.freq16
│ │ └── genome3.genmap.freq16
│ ├── raw_freq8
│ │ ├── genome1.genmap.freq8
│ │ ├── genome2.genmap.freq8
│ │ └── genome3.genmap.freq8
│ ├── raw_map
│ │ ├── genome1.genmap.map
│ │ ├── genome2.genmap.map
│ │ └── genome3.genmap.map
│ ├── txt_freq16
│ │ ├── genome1.genmap.txt
│ │ ├── genome2.genmap.txt
│ │ └── genome3.genmap.txt
│ ├── txt_map
│ │ ├── genome1.genmap.txt
│ │ ├── genome2.genmap.txt
│ │ └── genome3.genmap.txt
│ ├── wig_freq16
│ │ ├── genome1.genmap.chrom.sizes
│ │ ├── genome1.genmap.wig
│ │ ├── genome2.genmap.chrom.sizes
│ │ ├── genome2.genmap.wig
│ │ ├── genome3.genmap.chrom.sizes
│ │ └── genome3.genmap.wig
│ └── wig_map
│ │ ├── genome1.genmap.chrom.sizes
│ │ ├── genome1.genmap.wig
│ │ ├── genome2.genmap.chrom.sizes
│ │ ├── genome2.genmap.wig
│ │ ├── genome3.genmap.chrom.sizes
│ │ └── genome3.genmap.wig
├── case_3c
│ ├── bed_freq16
│ │ ├── genome1.genmap.bedgraph
│ │ ├── genome2.genmap.bedgraph
│ │ └── genome3.genmap.bedgraph
│ ├── bed_map
│ │ ├── genome1.genmap.bedgraph
│ │ ├── genome2.genmap.bedgraph
│ │ └── genome3.genmap.bedgraph
│ ├── csv
│ │ ├── genome1.genmap.csv
│ │ ├── genome2.genmap.csv
│ │ └── genome3.genmap.csv
│ ├── genome1.fa
│ ├── genome2.fa
│ ├── genome3.fa
│ ├── raw_freq16
│ │ ├── genome1.genmap.freq16
│ │ ├── genome2.genmap.freq16
│ │ └── genome3.genmap.freq16
│ ├── raw_freq8
│ │ ├── genome1.genmap.freq8
│ │ ├── genome2.genmap.freq8
│ │ └── genome3.genmap.freq8
│ ├── raw_map
│ │ ├── genome1.genmap.map
│ │ ├── genome2.genmap.map
│ │ └── genome3.genmap.map
│ ├── txt_freq16
│ │ ├── genome1.genmap.txt
│ │ ├── genome2.genmap.txt
│ │ └── genome3.genmap.txt
│ ├── txt_map
│ │ ├── genome1.genmap.txt
│ │ ├── genome2.genmap.txt
│ │ └── genome3.genmap.txt
│ ├── wig_freq16
│ │ ├── genome1.genmap.chrom.sizes
│ │ ├── genome1.genmap.wig
│ │ ├── genome2.genmap.chrom.sizes
│ │ ├── genome2.genmap.wig
│ │ ├── genome3.genmap.chrom.sizes
│ │ └── genome3.genmap.wig
│ └── wig_map
│ │ ├── genome1.genmap.chrom.sizes
│ │ ├── genome1.genmap.wig
│ │ ├── genome2.genmap.chrom.sizes
│ │ ├── genome2.genmap.wig
│ │ ├── genome3.genmap.chrom.sizes
│ │ └── genome3.genmap.wig
├── case_3d
│ ├── bed_freq16
│ │ ├── genome1.genmap.bedgraph
│ │ ├── genome2.genmap.bedgraph
│ │ └── genome3.genmap.bedgraph
│ ├── bed_map
│ │ ├── genome1.genmap.bedgraph
│ │ ├── genome2.genmap.bedgraph
│ │ └── genome3.genmap.bedgraph
│ ├── csv
│ │ ├── genome1.genmap.csv
│ │ ├── genome2.genmap.csv
│ │ └── genome3.genmap.csv
│ ├── genome1.fa
│ ├── genome2.fa
│ ├── genome3.fa
│ ├── raw_freq16
│ │ ├── genome1.genmap.freq16
│ │ ├── genome2.genmap.freq16
│ │ └── genome3.genmap.freq16
│ ├── raw_freq8
│ │ ├── genome1.genmap.freq8
│ │ ├── genome2.genmap.freq8
│ │ └── genome3.genmap.freq8
│ ├── raw_map
│ │ ├── genome1.genmap.map
│ │ ├── genome2.genmap.map
│ │ └── genome3.genmap.map
│ ├── txt_freq16
│ │ ├── genome1.genmap.txt
│ │ ├── genome2.genmap.txt
│ │ └── genome3.genmap.txt
│ ├── txt_map
│ │ ├── genome1.genmap.txt
│ │ ├── genome2.genmap.txt
│ │ └── genome3.genmap.txt
│ ├── wig_freq16
│ │ ├── genome1.genmap.chrom.sizes
│ │ ├── genome1.genmap.wig
│ │ ├── genome2.genmap.chrom.sizes
│ │ ├── genome2.genmap.wig
│ │ ├── genome3.genmap.chrom.sizes
│ │ └── genome3.genmap.wig
│ └── wig_map
│ │ ├── genome1.genmap.chrom.sizes
│ │ ├── genome1.genmap.wig
│ │ ├── genome2.genmap.chrom.sizes
│ │ ├── genome2.genmap.wig
│ │ ├── genome3.genmap.chrom.sizes
│ │ └── genome3.genmap.wig
├── case_3e
│ ├── bed_freq16
│ │ ├── genome1.genmap.bedgraph
│ │ └── genome3.genmap.bedgraph
│ ├── bed_map
│ │ ├── genome1.genmap.bedgraph
│ │ └── genome3.genmap.bedgraph
│ ├── csv
│ │ ├── genome1.genmap.csv
│ │ └── genome3.genmap.csv
│ ├── genome1.fa
│ ├── genome2.fa
│ ├── genome3.fa
│ ├── raw_freq16
│ │ ├── genome1.genmap.freq16
│ │ └── genome3.genmap.freq16
│ ├── raw_freq8
│ │ ├── genome1.genmap.freq8
│ │ └── genome3.genmap.freq8
│ ├── raw_map
│ │ ├── genome1.genmap.map
│ │ └── genome3.genmap.map
│ ├── subset.bed
│ ├── txt_freq16
│ │ ├── genome1.genmap.txt
│ │ └── genome3.genmap.txt
│ ├── txt_map
│ │ ├── genome1.genmap.txt
│ │ └── genome3.genmap.txt
│ ├── wig_freq16
│ │ ├── genome1.genmap.chrom.sizes
│ │ ├── genome1.genmap.wig
│ │ ├── genome3.genmap.chrom.sizes
│ │ └── genome3.genmap.wig
│ └── wig_map
│ │ ├── genome1.genmap.chrom.sizes
│ │ ├── genome1.genmap.wig
│ │ ├── genome3.genmap.chrom.sizes
│ │ └── genome3.genmap.wig
└── case_3f
│ ├── bed_freq16
│ ├── genome1.genmap.bedgraph
│ └── genome3.genmap.bedgraph
│ ├── bed_map
│ ├── genome1.genmap.bedgraph
│ └── genome3.genmap.bedgraph
│ ├── csv
│ ├── genome1.genmap.csv
│ └── genome3.genmap.csv
│ ├── genome1.fa
│ ├── genome2.fa
│ ├── genome3.fa
│ ├── raw_freq16
│ ├── genome1.genmap.freq16
│ └── genome3.genmap.freq16
│ ├── raw_freq8
│ ├── genome1.genmap.freq8
│ └── genome3.genmap.freq8
│ ├── raw_map
│ ├── genome1.genmap.map
│ └── genome3.genmap.map
│ ├── subset.bed
│ ├── txt_freq16
│ ├── genome1.genmap.txt
│ └── genome3.genmap.txt
│ ├── txt_map
│ ├── genome1.genmap.txt
│ └── genome3.genmap.txt
│ ├── wig_freq16
│ ├── genome1.genmap.chrom.sizes
│ ├── genome1.genmap.wig
│ ├── genome3.genmap.chrom.sizes
│ └── genome3.genmap.wig
│ └── wig_map
│ ├── genome1.genmap.chrom.sizes
│ ├── genome1.genmap.wig
│ ├── genome3.genmap.chrom.sizes
│ └── genome3.genmap.wig
├── tests.cpp
└── tests.sh
/.github/apple.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
--------------------------------------------------------------------------------
/.github/example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/.github/example.png
--------------------------------------------------------------------------------
/.github/example.tex:
--------------------------------------------------------------------------------
1 | \documentclass[20pt,border=5pt,convert={true}]{standalone}
2 |
3 | \usepackage[table]{xcolor}
4 | \usepackage{tabu}
5 | \definecolor{myclr1}{HTML}{0366d6}
6 | \definecolor{mygrey}{gray}{0.75}
7 | \definecolor{mygrey2}{gray}{0.85}
8 | \definecolor{mygrey3}{gray}{0.92}
9 |
10 | \standaloneconfig{convert={convertexe={convert}}}
11 | \usepackage{xcolor}
12 | \newcommand{\redBit}[1]{\begingroup\color{myclr1}\textbf{#1}\endgroup}
13 |
14 | \newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
15 |
16 | \begin{document}
17 |
18 | \pagecolor[RGB]{255,255,255}% white = 255,255,255
19 | \LARGE
20 |
21 | \taburulecolor{mygrey}
22 | \def\arraystretch{1.3}
23 | % \setlength\tabcolsep{8.5pt}
24 | \begin{tabular}{|r|C{10mm}|C{10mm}|C{10mm}|C{10mm}|C{10mm}|C{10mm}|C{10mm}|C{10mm}|C{10mm}|C{10mm}|C{10mm}|C{10mm}|C{10mm}|C{10mm}|C{10mm}|}
25 | \hline
26 | $i\phantom{]}$ & 0 & \redBit{1} & 2 & 3 & 4 & 5 & \redBit{6} & 7 & 8 & 9 & 10 & \redBit{11} & 12 & 13 & 14 \\
27 | \hline
28 | $T[i]$ & A & \cellcolor{mygrey2}\redBit{T} & \cellcolor{mygrey2}\redBit{C} & \cellcolor{mygrey2}\redBit{T} & \cellcolor{mygrey2}\redBit{A} & G & \cellcolor{mygrey3}{G} & \cellcolor{mygrey3}{C} & \cellcolor{mygrey3}{T} & \cellcolor{mygrey3}{A} & A & \cellcolor{mygrey3}{T} & \cellcolor{mygrey3}{C} & \cellcolor{mygrey3}{T} & \cellcolor{mygrey3}{A} \\
29 | \hline
30 | $M[i]$ & .5 & \redBit{.33} & .5 & 1.0 & 1.0 & 1.0 & .33 & .5 & 1.0 & 1.0 & .5 & .33 & .0 & .0 & .0 \\
31 | \hline
32 | $F[i]$ & 2 & \redBit{3} & 2 & 1 & 1 & 1 & 3 & 2 & 1 & 1 & 2 & 3 & 0 & 0 & 0 \\
33 | \hline
34 | \end{tabular}
35 | \end{document}
36 |
--------------------------------------------------------------------------------
/.github/linux.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
65 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | build
3 | cmake-build-debug
4 | venv
5 | *.aux
6 | *.log
7 | *.pdf
8 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "include/seqan"]
2 | path = include/seqan
3 | url = https://github.com/seqan/seqan.git
4 | branch = develop
5 |
6 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | sudo: true
2 | language: cpp
3 | matrix:
4 | include:
5 |
6 | ##########################################################################
7 | # GCC on Linux
8 | ##########################################################################
9 |
10 | - os: linux
11 | compiler: gcc-4.9
12 | addons:
13 | apt:
14 | sources: ['ubuntu-toolchain-r-test']
15 | packages: ['cmake', 'g++-4.9']
16 | install: export CXX="g++-4.9"
17 |
18 | - os: linux
19 | compiler: gcc-5
20 | addons:
21 | apt:
22 | sources: ['ubuntu-toolchain-r-test']
23 | packages: ['cmake', 'g++-5']
24 | install: export CXX="g++-5"
25 |
26 | - os: linux
27 | compiler: gcc-6
28 | addons:
29 | apt:
30 | sources: ['ubuntu-toolchain-r-test']
31 | packages: ['cmake', 'g++-6']
32 | install: export CXX="g++-6"
33 |
34 | - os: linux
35 | compiler: gcc-7
36 | addons:
37 | apt:
38 | sources: ['ubuntu-toolchain-r-test']
39 | packages: ['cmake', 'g++-7']
40 | install: export CXX="g++-7"
41 |
42 | - os: linux
43 | compiler: gcc-8
44 | addons:
45 | apt:
46 | sources: ['ubuntu-toolchain-r-test']
47 | packages: ['cmake', 'g++-8']
48 | install: export CXX="g++-8"
49 |
50 | ##########################################################################
51 | # Clang on Linux
52 | ##########################################################################
53 |
54 | - os: linux
55 | dist: trusty
56 | compiler: clang-3.8
57 | addons:
58 | apt:
59 | sources: ['llvm-toolchain-precise-3.8', 'ubuntu-toolchain-r-test']
60 | packages: ['cmake', 'clang-3.8', 'g++-7'] # g++ required for newer libstdc++
61 | install: export CXX="clang++-3.8"
62 |
63 | - os: linux
64 | dist: trusty
65 | compiler: clang-3.9
66 | addons:
67 | apt:
68 | sources: ['llvm-toolchain-trusty-3.9', 'ubuntu-toolchain-r-test']
69 | packages: ['cmake', 'clang-3.9', 'g++-7'] # g++ required for newer libstdc++
70 | install: export CXX="clang++-3.9"
71 |
72 | - os: linux
73 | dist: trusty
74 | compiler: clang-4.0
75 | addons:
76 | apt:
77 | sources: ['llvm-toolchain-trusty-4.0', 'ubuntu-toolchain-r-test']
78 | packages: ['cmake', 'clang-4.0', 'g++-7'] # g++ required for newer libstdc++
79 | install: export CXX="clang++-4.0"
80 |
81 | - os: linux
82 | dist: trusty
83 | compiler: clang-5.0
84 | addons:
85 | apt:
86 | sources: ['llvm-toolchain-trusty-5.0', 'ubuntu-toolchain-r-test']
87 | packages: ['cmake', 'clang-5.0', 'g++-7'] # g++ required for newer libstdc++
88 | install: export CXX="clang++-5.0"
89 |
90 | - os: linux
91 | dist: trusty
92 | compiler: clang-6.0
93 | addons:
94 | apt:
95 | sources: ['llvm-toolchain-trusty-6.0', 'ubuntu-toolchain-r-test']
96 | packages: ['cmake', 'clang-6.0', 'g++-7'] # g++ required for newer libstdc++
97 | install: export CXX="clang++-6.0"
98 |
99 | - os: linux
100 | dist: trusty
101 | compiler: clang-7.0
102 | addons:
103 | apt:
104 | sources: ['llvm-toolchain-trusty-7', 'ubuntu-toolchain-r-test']
105 | packages: ['cmake', 'clang-7', 'g++-7'] # g++ required for newer libstdc++
106 | install: export CXX="clang++-7"
107 |
108 | ##########################################################################
109 | # Clang on OSX (with Xcode)
110 | ##########################################################################
111 |
112 | - os: osx
113 | osx_image: xcode7.3
114 | compiler: clang
115 |
116 | - os: osx
117 | osx_image: xcode8.3
118 | compiler: clang
119 |
120 | - os: osx
121 | osx_image: xcode9.4
122 | compiler: clang
123 |
124 | - os: osx
125 | osx_image: xcode10.1
126 | compiler: clang
127 |
128 | ##########################################################################
129 | # GCC on OSX
130 | ##########################################################################
131 |
132 | # Homebrew seems not to have the latest bugfixes :(
133 | # https://github.com/nest/nest-simulator/issues/486
134 | # - os: osx
135 | # osx_image: xcode8.3
136 | # compiler: gcc-4.9
137 | # before_install:
138 | # - brew update
139 | # - brew install gcc@4.9
140 | # - sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/
141 | # - sudo xcode-select -s /Library/Developer/CommandLineTools
142 | # install: export CXX="g++-4.9"
143 | #
144 | # - os: osx
145 | # osx_image: xcode8.3
146 | # compiler: gcc-5
147 | # before_install:
148 | # - brew update
149 | # - travis_wait 60 brew install gcc@5
150 | # - sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/
151 | # - sudo xcode-select -s /Library/Developer/CommandLineTools
152 | # install: export CXX="g++-5"
153 |
154 | # - os: osx
155 | # osx_image: xcode8.3
156 | # compiler: gcc-6
157 | # before_install:
158 | # - brew update
159 | # - travis_wait 60 brew install gcc@6
160 | # install: export CXX="g++-6"
161 | #
162 | # - os: osx
163 | # osx_image: xcode8.3
164 | # compiler: gcc-7
165 | # before_install:
166 | # - brew update
167 | # - travis_wait 60 brew install gcc@7
168 | # install: export CXX="g++-7"
169 | #
170 | # - os: osx
171 | # osx_image: xcode8.3
172 | # compiler: gcc-8
173 | # before_install:
174 | # - brew update
175 | # - travis_wait 60 brew install gcc@8
176 | # install: export CXX="g++-8"
177 |
178 | # Debug builds on linux (gcc) with sanitizer, TODO: add coverage
179 | - os: linux
180 | compiler: gcc-7
181 | addons:
182 | apt:
183 | sources: ['ubuntu-toolchain-r-test']
184 | packages: ['cmake', 'g++-7']
185 | install: export CXX="g++-7"
186 | # ubuntu toolchain does not contain the latest bugfixes for /usr/bin/ld
187 | env: CMAKE_ARGS="-DCMAKE_BUILD_TYPE=Debug" CMAKE_CXX_FLAGS="-fsanitize=address -fuse-ld=gold"
188 |
189 | # - os: linux
190 | # dist: trusty
191 | # compiler: clang-5.0
192 | # addons:
193 | # apt:
194 | # sources: ['llvm-toolchain-trusty-5.0', 'ubuntu-toolchain-r-test']
195 | # packages: ['cmake', 'clang-5.0', 'g++-7'] # g++ required for newer libstdc++
196 | # install: export CXX="clang++-5.0"
197 | # env: CMAKE_ARGS="-DCMAKE_BUILD_TYPE=Debug" CMAKE_CXX_FLAGS="-fsanitize=address"
198 |
199 | # TODO: native_build (4x OS+CXX)
200 |
201 | script:
202 | - mkdir -p build && cd build
203 | - cmake .. -DGENMAP_NATIVE_BUILD=0 -DGENMAP_COMPILE_THREADS=2 ${CMAKE_ARGS} -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS}"
204 | - travis_wait 60 make genmap genmap_algo_test -j2 VERBOSE=1
205 | - travis_wait 90 sleep infinity & ctest . -j2 --output-on-failure
206 |
--------------------------------------------------------------------------------
/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | Changelog
2 | ^^^^^^^^^
3 |
4 | 1.3.0 (2020-06-17)
5 | """"""""""""""""""
6 |
7 | Features
8 | --------
9 |
10 | * **Faster and more efficient index creation (libdivsufsort)**, requires about 6n main memory (for fasta files >2GB about 10n main memory). n is the size of the input fasta files. No additional secondary memory is needed (unlike for Skew)
11 | * slightly smaller indices (about 0.625n - 0.75n less space). Old indices are still compatible with GenMap 1.3.0, but indices built with 1.3.0 are not compatible with older versions of GenMap.
12 |
13 | Fixes
14 | -----
15 |
16 | * indexing will search for fasta files recursively (subfolders were not considered before)
17 | * updated paper information (replaced bioRxiv with OUP Bioinformatics)
18 |
19 | 1.2.0 (2020-02-21)
20 | """"""""""""""""""
21 |
22 | Features
23 | --------
24 |
25 | * **BREAKING CHANGE!** k-mers are searched on both strands by default. Can be turned off with ``--no-reverse-complement``
26 | * bedgraph output (``*.bg``) replaces bed output (``*.bed``) (bed output is still supported with ``--bed`` but deprecated and removed from the help string)
27 | * allow user to specify a filename with ``--output`` if only a single fasta file has been indexed (previously only the directory could be specified)
28 |
29 | Fixes
30 | -----
31 |
32 | * truncate fasta identifiers after first space
33 | * allow indexing fasta files with ``*.fas`` filename ending
34 | * runtime speedup when BED file is provided for computation on a subset of the input (``--selection``)
35 | * reduced progress output on terminal when processing multiple fasta files
36 |
37 | 1.1.0 (2019-11-17)
38 | """"""""""""""""""
39 |
40 | * compute mappability of selected regions using a bed file
41 | * suppress 0 values in BED and WIG files
42 | * change default algorithm for indexing to Skew
43 |
44 | 1.0.2 (2019-09-04)
45 | """"""""""""""""""
46 |
47 | * BED output format fixed (end position was off by one, i.e. closed interval instead of half-closed interval)
48 |
49 | 1.0.1 (2019-06-11)
50 | """"""""""""""""""
51 |
52 | * ``--frequency-small`` would output unreadable ascii characters in ``--txt`` format
53 | * some typo fixes
54 |
55 | 1.0.0 (2019-05-27)
56 | """"""""""""""""""
57 |
58 | * faster computation of mappability for 3 and 4 errors
59 | * included the reference to the paper (preprint)
60 | * minor fixes in documentation and error messages
61 |
62 | 0.9.0 (2019-03-23)
63 | """"""""""""""""""
64 |
65 | * preliminary version of GenMap released
66 |
--------------------------------------------------------------------------------
/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # ===========================================================================
2 | # GenMap
3 | # ===========================================================================
4 |
5 | cmake_minimum_required (VERSION 3.0.0)
6 | string (ASCII 27 Esc)
7 | set (ColourBold "${Esc}[1m")
8 | set (ColourReset "${Esc}[m")
9 | set (ColourRed "${Esc}[31m")
10 |
11 | message ("${ColourBold}Compiler Detection${ColourReset}") # This needs to go before "project ()".
12 |
13 | project (genmap CXX)
14 |
15 | # ----------------------------------------------------------------------------
16 | # App version
17 | # ----------------------------------------------------------------------------
18 |
19 | # change this after every release
20 | set (SEQAN_APP_VERSION_MAJOR "1")
21 | set (SEQAN_APP_VERSION_MINOR "3")
22 | set (SEQAN_APP_VERSION_PATCH "0")
23 | # don't change the following
24 | set (SEQAN_APP_VERSION "${SEQAN_APP_VERSION_MAJOR}.${SEQAN_APP_VERSION_MINOR}.${SEQAN_APP_VERSION_PATCH}")
25 | # adapt when necessary
26 | set (MINIMUM_SEQAN_VERSION "2.4.0")
27 |
28 | # ----------------------------------------------------------------------------
29 | # Compiler detection
30 | # ----------------------------------------------------------------------------
31 |
32 | if (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
33 | if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9.1)
34 | message (FATAL_ERROR "Your GCC version is too old. Minimum version is GCC-4.9.1!")
35 | return ()
36 | endif ()
37 | elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
38 | if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.6)
39 | message (FATAL_ERROR "Your Clang version is too old. Please upgrade to 3.8.0 or use GCC.")
40 | return ()
41 | elseif (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.8)
42 | message (WARNING "Your Clang version is too old, you will not have parallelism! Upgrade to 3.8.0 or newer.")
43 | endif ()
44 | elseif (CMAKE_CXX_COMPILER_ID MATCHES "Intel")
45 | if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17)
46 | message (WARNING "Your Intel Compiler version is too old. Please upgrade to 17.0.0 or newer!")
47 | endif ()
48 | else ()
49 | message (WARNING "Unknown compiler, you are own your own!")
50 | endif ()
51 |
52 | message (STATUS "Compiling with ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}.")
53 |
54 | message (STATUS "The requirements were met.")
55 |
56 | # ----------------------------------------------------------------------------
57 | # Compiler specifics
58 | # ----------------------------------------------------------------------------
59 |
60 | if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
61 | set (SEQAN_CXX_FLAGS "${SEQAN_CXX_FLAGS} -ftemplate-depth-1024")
62 | endif ()
63 |
64 | if (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
65 | # parallelize parts of build even for one translation unit
66 | if (NOT DEFINED GENMAP_COMPILE_THREADS)
67 | include (ProcessorCount)
68 | ProcessorCount (GENMAP_COMPILE_THREADS)
69 | endif ()
70 | if (GENMAP_COMPILE_THREADS GREATER 1)
71 | set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -flto=${GENMAP_COMPILE_THREADS}")
72 | endif()
73 |
74 | # required, otherwise #pragma clang diagnostics will trigger warnings
75 | set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-pragmas")
76 | else ()
77 | # TODO: parallelize for Clang (isn't this done by default by the default clang linker?)
78 | set (dummy_ignore "${GENMAP_COMPILE_THREADS}") # surpress warnings
79 | endif ()
80 |
81 | if (NOT CMAKE_CXX_COMPILER_ID MATCHES "Intel")
82 | # -Wextra not met by current SeqAn on intel
83 | set (SEQAN_CXX_FLAGS "${SEQAN_CXX_FLAGS} -Wextra")
84 | endif ()
85 |
86 | # ----------------------------------------------------------------------------
87 | # Dependency detection
88 | # ----------------------------------------------------------------------------
89 |
90 | message ("\n${ColourBold}Dependency detection${ColourReset}")
91 |
92 | if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/include/seqan/include/seqan/version.h")
93 | set (CMAKE_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/include/seqan/include
94 | ${CMAKE_INCLUDE_PATH})
95 | set (CMAKE_PREFIX_PATH ${CMAKE_CURRENT_SOURCE_DIR}/include/seqan/util/cmake
96 | ${CMAKE_PREFIX_PATH})
97 | set (CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/include/seqan/util/cmake
98 | ${CMAKE_MODULE_PATH})
99 | message (STATUS "Found a local SeqAn library provided with the GenMap source code.")
100 | message ( " This will be preferred over system global headers.")
101 | endif ()
102 |
103 | # Search SeqAn and select dependencies.
104 | find_package (OpenMP QUIET)
105 | find_package (SeqAn QUIET REQUIRED CONFIG)
106 |
107 | # Add include directories.
108 | include_directories (${SEQAN_INCLUDE_DIRS})
109 |
110 | # Add definitions set by find_package (SeqAn).
111 | add_definitions (${SEQAN_DEFINITIONS})
112 |
113 | message (STATUS "These dependencies where found:")
114 | message ( " OPENMP ${OPENMP_FOUND} ${OpenMP_CXX_FLAGS}")
115 | message ( " SEQAN ${SEQAN_FOUND} ${SEQAN_VERSION_STRING}")
116 |
117 | # Warn if OpenMP was not found.
118 | if (NOT OPENMP_FOUND)
119 | message (WARNING "WARNING WARNING WARNING\nWARNING: OpenMP not found. GenMap will be built without multi-threading! "
120 | "This is probably not what you want! Use GCC >= 4.9.1, Clang >= 3.8.0 or ICC >= 16.0.2\nWARNING WARNING WARNING")
121 | endif (NOT OPENMP_FOUND)
122 |
123 | if (SEQAN_VERSION_STRING VERSION_LESS "${MINIMUM_SEQAN_VERSION}")
124 | message (FATAL_ERROR "The minimum SeqAn verison required is ${MINIMUM_SEQAN_VERSION}!")
125 | return ()
126 | endif ()
127 |
128 | # deactivate the version check on broken seqan releases
129 | if (SEQAN_VERSION_STRING VERSION_LESS "2.3.2")
130 | add_definitions (-DSEQAN_DISABLE_VERSION_CHECK="YES")
131 | endif ()
132 |
133 | message (STATUS "The requirements were met.")
134 |
135 | # ----------------------------------------------------------------------------
136 | # Add targets
137 | # ----------------------------------------------------------------------------
138 |
139 | add_subdirectory (src)
140 |
141 | # ----------------------------------------------------------------------------
142 | # Add tests
143 | # ----------------------------------------------------------------------------
144 |
145 | message ("\n${ColourBold}Setting up unit tests${ColourReset}")
146 | enable_testing ()
147 | add_subdirectory (tests EXCLUDE_FROM_ALL)
148 |
149 | message (STATUS "Tests added.")
150 |
151 | # ----------------------------------------------------------------------------
152 | # Add benchmarks
153 | # ----------------------------------------------------------------------------
154 |
155 | message ("\n${ColourBold}Setting up benchmarks${ColourReset}")
156 | add_subdirectory (benchmarks EXCLUDE_FROM_ALL)
157 |
158 | message (STATUS "Benchmarks added.")
159 |
160 | message ("\n${ColourBold}Finishing up${ColourReset}")
161 |
--------------------------------------------------------------------------------
/LICENSE.rst:
--------------------------------------------------------------------------------
1 | GenMap copyright
2 | ================
3 | ::
4 |
5 | Copyright (c) 2019-2020, Christopher Pockrandt
6 | All rights reserved.
7 |
8 | GenMap is *free software*: you can redistribute it and/or modify
9 | it under the terms of the BSD-License (3-clause).
10 |
11 | GenMap is distributed in the hope that it will be useful,
12 | but **without any warranty**; without even the implied warranty of
13 | **merchantability** or **fitness for a particular purpose**.
14 |
15 | Some of the code are alternatively or additionally
16 | ::
17 |
18 |
19 | These are covered under the terms of the MIT License. See the file
20 | `include/libdivsufsort/LICENSE <./include/libdivsufsort/LICENSE>`__
21 | for a full text of the license and the rights and obligations implied.
22 | In cases of doubt the terms of both licenses apply.
23 |
24 | submodules
25 | ----------
26 |
27 | When GenMap is distributed in binary form or when GenMap is distributed
28 | in source form including its submodules the following additional
29 | license terms apply:
30 |
31 | libdivsufsort copyright
32 | ^^^^^^^^^^^^^^^^^^^^^^^
33 | ::
34 |
35 | Copyright (c) 2003 Yuta Mori All rights reserved.
36 |
37 | The MIT License (MIT)
38 | """""""""""""""""""""
39 |
40 | Permission is hereby granted, free of charge, to any person obtaining a copy
41 | of this software and associated documentation files (the "Software"), to deal
42 | in the Software without restriction, including without limitation the rights
43 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
44 | copies of the Software, and to permit persons to whom the Software is
45 | furnished to do so, subject to the following conditions:
46 |
47 | The above copyright notice and this permission notice shall be included in all
48 | copies or substantial portions of the Software.
49 |
50 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
51 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
52 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
53 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
54 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
55 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
56 | SOFTWARE.
57 |
58 |
59 | SeqAn copyright
60 | ^^^^^^^^^^^^^^^
61 | ::
62 |
63 | Copyright (c) 2006-2019, Knut Reinert and Freie Universität Berlin
64 |
65 | SeqAn is published under the terms of the three clause BSD license as can
66 | be found in the file `include/seqan/LICENSE <./include/seqan/LICENSE>`__
67 | or printed by the parameter ``--copyright``.
68 |
69 | BSD-License (3-clause)
70 | """"""""""""""""""""""
71 |
72 | | Copyright (c) 2016-2019, Knut Reinert, Freie Universität Berlin
73 | | All rights reserved.
74 |
75 | Redistribution and use in source and binary forms, with or without
76 | modification, are permitted provided that the following conditions are met:
77 |
78 | * Redistributions of source code must retain the above copyright
79 | notice, this list of conditions and the following disclaimer.
80 | * Redistributions in binary form must reproduce the above copyright
81 | notice, this list of conditions and the following disclaimer in the
82 | documentation and/or other materials provided with the distribution.
83 | * Neither the name of Knut Reinert or the FU Berlin nor the names of
84 | its contributors may be used to endorse or promote products derived
85 | from this software without specific prior written permission.
86 |
87 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
88 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
89 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
90 | ARE DISCLAIMED. IN NO EVENT SHALL KNUT REINERT OR THE FU BERLIN BE LIABLE
91 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
92 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
93 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
94 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
95 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
96 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
97 | DAMAGE.
98 |
--------------------------------------------------------------------------------
/benchmarks/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # ===========================================================================
2 | # GenMap benchmarks
3 | # ===========================================================================
4 |
5 | include (ExternalProject)
6 | ExternalProject_Add (googlebenchmark
7 | PREFIX googlebenchmark
8 | GIT_REPOSITORY "https://github.com/google/benchmark.git"
9 | GIT_TAG "v1.4.1"
10 | CMAKE_ARGS "-DBENCHMARK_ENABLE_TESTING=false;-DCMAKE_BUILD_TYPE=Release;-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR};-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}"
11 | UPDATE_DISCONNECTED yes)
12 |
13 | add_executable (genmap_algo_benchmark bench.cpp)
14 | add_dependencies (genmap_algo_benchmark googlebenchmark)
15 | set_source_files_properties (bench.cpp PROPERTIES COMPILE_FLAGS "-I${CMAKE_CURRENT_BINARY_DIR}/include")
16 | target_link_libraries (genmap_algo_benchmark "-L${CMAKE_CURRENT_BINARY_DIR}/lib -lbenchmark")
17 | target_link_libraries (genmap_algo_benchmark pthread) # required by google benchmark
18 |
--------------------------------------------------------------------------------
/benchmarks/bench.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | static constexpr bool outputProgress = false;
8 |
9 | // #include "../src/common.hpp"
10 | // #include "../src/algo.hpp"
11 |
12 | using namespace seqan;
13 |
14 | // template
15 | // unsigned GemMapFastFMIndexConfig::SAMPLING = 10;
16 |
17 | void BM_TTEST(benchmark::State& state, uint64_t y)
18 | {
19 | for (auto _ : state)
20 | {
21 | std::vector xx;
22 | xx.resize(10000);
23 | // TODO
24 | }
25 | }
26 |
27 | BENCHMARK_CAPTURE(BM_TTEST, bench_name, 3)->Unit(benchmark::kMillisecond);
28 |
29 | // BENCHMARK_MAIN();
30 | int main(int argc, char** argv)
31 | {
32 | // Argument parser
33 | // ArgumentParser parser("SearchSchemes - Benchmarking");
34 | // addDescription(parser,
35 | // "App for creating the benchmark of Optimum Search Schemes from the paper.");
36 | //
37 | // addOption(parser, ArgParseOption("G", "genome", "Path to the indexed genome", ArgParseArgument::INPUT_FILE, "IN"));
38 | // setRequired(parser, "genome");
39 | //
40 | // addOption(parser, ArgParseOption("R", "reads", "Path to the reads", ArgParseArgument::INPUT_FILE, "IN"));
41 | // setValidValues(parser, "reads", "fa fasta fastq");
42 | // setRequired(parser, "reads");
43 | //
44 | // ArgumentParser::ParseResult res = parse(parser, argc, argv);
45 | // if (res != ArgumentParser::PARSE_OK)
46 | // return res == ArgumentParser::PARSE_ERROR;
47 | //
48 | // // Retrieve input parameters
49 | // CharString indexPath, readsPath;
50 | // getOptionValue(indexPath, parser, "genome");
51 | // getOptionValue(readsPath, parser, "reads");
52 | //
53 | // open(fm_index, toCString(indexPath), OPEN_RDONLY);
54 | // StringSet ids;
55 | // SeqFileIn seqFileIn(toCString(readsPath));
56 | // readRecords(ids, reads, seqFileIn);
57 | //
58 | // for (unsigned i = 1; i < length(reads); ++i)
59 | // {
60 | // if (length(reads[i]) != length(reads[0]))
61 | // {
62 | // std::cerr << "ERROR: Not all reads have the same length." << std::endl;
63 | // return 1;
64 | // }
65 | // }
66 |
67 | ::benchmark::Initialize(&argc, argv);
68 | ::benchmark::RunSpecifiedBenchmarks();
69 | }
70 |
--------------------------------------------------------------------------------
/benchmarks/bench.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | #echo "Downloading an indexed version of GRCh38 (5.0 GB) with dna4 alphabet ..."
4 | #wget http://ftp.imp.fu-berlin.de/pub/cpockrandt/grch38-dna4.tar.gz
5 |
6 | #echo "Uncompressing grch38-dna4.tar.gz ..."
7 | #tar -zxvf grch38-dna4.tar.gz
8 |
9 | IFS=','
10 |
11 | if [ "$#" -ne 4 ]; then
12 | echo "USAGE:"
13 | echo "./bench.sh BIN_TO_GENMAP INDEX_DIRECTORY OUTPUT_DIRECTORY THREADS"
14 | exit 1
15 | fi
16 |
17 | BIN=$1
18 | INDEXDIR=$2
19 | OUTPUTDIR=$3
20 | THREADS=$4
21 |
22 | STATS=""
23 |
24 | runGenMap() {
25 | K=$1; E=$2
26 | echo "($K, $E)-frequency:"
27 | /usr/bin/time -f "%e" -o $OUTPUTDIR/timing $BIN map -I $INDEXDIR -O $OUTPUTDIR -E $E -K $K -fs -r -m -T $THREADS
28 | tput cuu 3
29 | echo -n "($K, $E)-frequency: "
30 | cat $OUTPUTDIR/timing
31 | #echo "----------------------"
32 | #STATS+="($K, $E)-frequency: 0.00s\n"
33 | }
34 |
35 | for i in 5,0 6,0; do # 36,0 24,1 36,2 50,2 75,3; do
36 | set -- $i
37 | runGenMap $1 $2
38 | done
39 |
40 | for i in 101,0 101,1 101,2 101,3 101,4; do
41 | set -- $i
42 | runGenMap $1 $2
43 | done
44 |
--------------------------------------------------------------------------------
/include/libdivsufsort/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2003 Yuta Mori All rights reserved.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/src/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # ----------------------------------------------------------------------------
2 | # Build configuration
3 | # ----------------------------------------------------------------------------
4 |
5 | message ("\n${ColourBold}Build configuration${ColourReset}")
6 |
7 | # ----------------------------------------------------------------------------
8 | # Make "Release" the default cmake build type
9 | # ----------------------------------------------------------------------------
10 |
11 | if (NOT CMAKE_BUILD_TYPE)
12 | set (CMAKE_BUILD_TYPE Release CACHE STRING
13 | "Choose the type of build, options are: Debug Release RelWithDebInfo"
14 | FORCE)
15 | endif ()
16 |
17 | # ----------------------------------------------------------------------------
18 | # Warn if cmake build type is not "Release"
19 | # ----------------------------------------------------------------------------
20 |
21 | if (NOT CMAKE_BUILD_TYPE STREQUAL Release)
22 | message (STATUS "${ColourRed}CMAKE_BUILD_TYPE is not \"Release\", your binaries will be slow.${ColourReset}")
23 | endif ()
24 |
25 | message (STATUS "GenMap version is: ${SEQAN_APP_VERSION}")
26 |
27 | # option (LAMBDA_MMAPPED_DB "Use mmapped access to the database." OFF)
28 | option (GENMAP_NATIVE_BUILD "Architecture-specific optimizations, i.e., g++ -march=native." ON)
29 | # option (LAMBDA_MULTIOPT_BUILD "Build and install multiple binaries with different optimisation levels + a dispatcher." OFF)
30 | option (GENMAP_STATIC_BUILD "Include all libraries in the binaries." OFF)
31 |
32 | if (GENMAP_NATIVE_BUILD)
33 | add_definitions (-DGENMAP_NATIVE_BUILD=1)
34 | set (SEQAN_CXX_FLAGS "${SEQAN_CXX_FLAGS} -march=native")
35 | if (CMAKE_CXX_COMPILER_ID MATCHES "Intel")
36 | set (SEQAN_CXX_FLAGS "${SEQAN_CXX_FLAGS} -xHOST -ipo -no-prec-div -fp-model fast=2")
37 | endif (CMAKE_CXX_COMPILER_ID MATCHES "Intel")
38 | endif (GENMAP_NATIVE_BUILD)
39 |
40 | if (GENMAP_STATIC_BUILD)
41 | add_definitions (-DGENMAP_STATIC_BUILD=1)
42 | set (CMAKE_FIND_LIBRARY_SUFFIXES ".a")
43 | # apple does not support fully static builds, but at least libgcc and libstdc++
44 | if (APPLE)
45 | set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++")
46 | message (WARNING "WARNING: Builds on Mac are never fully static.")
47 | else (APPLE)
48 | set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++")
49 | endif (APPLE)
50 | # on linux cmake adds -rdynamic automatically which clang can't handle in static builds
51 | if (CMAKE_SYSTEM_NAME MATCHES "Linux")
52 | set (CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
53 | endif (CMAKE_SYSTEM_NAME MATCHES "Linux")
54 | endif (GENMAP_STATIC_BUILD)
55 |
56 | # if (LAMBDA_MMAPPED_DB)
57 | # add_definitions (-DLAMBDA_MMAPPED_DB=1)
58 | # endif (LAMBDA_MMAPPED_DB)
59 |
60 | message (STATUS "The following options are selected for the build:")
61 | message ( " GENMAP_NATIVE_BUILD ${GENMAP_NATIVE_BUILD}")
62 | message ( " GENMAP_STATIC_BUILD ${GENMAP_STATIC_BUILD}")
63 | message (STATUS "Run 'cmake -LH' to get a comment on each option.")
64 | message (STATUS "Remove CMakeCache.txt and re-run cmake with -DOPTIONNAME=ON|OFF to change an option.")
65 |
66 | # strip binaries to make them smaller
67 | if (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
68 | set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
69 | endif ()
70 |
71 | # TODO: verify whether this works for Clang!
72 | if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
73 | set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wl,-s")
74 | endif ()
75 |
76 | # ----------------------------------------------------------------------------
77 | # Build Setup
78 | # ----------------------------------------------------------------------------
79 |
80 | # Enable global exception handler for all seqan apps.
81 | set (SEQAN_DEFINITIONS ${SEQAN_DEFINITIONS} -DSEQAN_GLOBAL_EXCEPTION_HANDLER=1)
82 |
83 | # Add definitions set by the build system.
84 | add_definitions (-DSEQAN_APP_VERSION="${SEQAN_APP_VERSION}")
85 | add_definitions (-DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}")
86 |
87 | # Set the right output directory
88 | set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
89 |
90 | # Add CXX flags found by find_package (SeqAn).
91 | set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SEQAN_CXX_FLAGS} -Wall -pedantic -Wno-deprecated-copy") # TODO: --coverage nur für debug auf travis!
92 |
93 | # Update the list of file names below if you add source files to your application.
94 | set (GENMAP_SOURCE_FILES genmap.cpp
95 | common.hpp
96 | indexing.hpp
97 | mappability.hpp
98 | algo.hpp
99 | output.hpp)
100 |
101 | add_executable (genmap ${GENMAP_SOURCE_FILES})
102 | target_link_libraries (genmap ${SEQAN_LIBRARIES})
103 | install(TARGETS genmap DESTINATION bin)
104 |
105 | # if (LAMBDA_MULTIOPT_BUILD)
106 | # add_executable (lambda2-sse4 ${LAMBDA_SOURCE_FILES})
107 | # target_link_libraries (lambda2-sse4 ${SEQAN_LIBRARIES})
108 | # set_target_properties (lambda2-sse4 PROPERTIES COMPILE_FLAGS "-mmmx -msse -msse2 -msse3 -mssse3 -msse4 -mpopcnt")
109 | # endif ()
110 |
111 | # ----------------------------------------------------------------------------
112 | # Man-pages
113 | # ----------------------------------------------------------------------------
114 |
115 | # Umbrella man-page
116 | # add_custom_command (OUTPUT lambda2.1
117 | # COMMAND lambda2 --export-help=man > lambda2.1
118 | # DEPENDS lambda2)
119 | # # searchn subcommand
120 | # add_custom_command (OUTPUT lambda2-searchn.1
121 | # COMMAND lambda2 searchn --export-help=man > lambda2-searchn.1
122 | # DEPENDS lambda2)
123 | # # searchp subcommand
124 | # add_custom_command (OUTPUT lambda2-searchp.1
125 | # COMMAND lambda2 searchp --export-help=man > lambda2-searchp.1
126 | # DEPENDS lambda2)
127 | # # mkindexn subcommand
128 | # add_custom_command (OUTPUT lambda2-mkindexn.1
129 | # COMMAND lambda2 mkindexn --export-help=man > lambda2-mkindexn.1
130 | # DEPENDS lambda2)
131 | # # mkindexp subcommand
132 | # add_custom_command (OUTPUT lambda2-mkindexp.1
133 | # COMMAND lambda2 mkindexp --export-help=man > lambda2-mkindexp.1
134 | # DEPENDS lambda2)
135 | #
136 | # add_custom_target (manual
137 | # ALL
138 | # DEPENDS lambda2.1 lambda2-searchn.1 lambda2-searchp.1 lambda2-mkindexn.1 lambda2-mkindexp.1)
139 |
140 | # ----------------------------------------------------------------------------
141 | # Installation
142 | # ----------------------------------------------------------------------------
143 |
144 | # # Adapt to system paths
145 | # include (GNUInstallDirs)
146 | #
147 | # # if (LAMBDA_MULTIOPT_BUILD)
148 | # # # Install lambda binaries into LIBEXECDIR
149 | # # install (TARGETS lambda2 lambda2-sse4
150 | # # DESTINATION ${CMAKE_INSTALL_LIBEXECDIR})
151 | # #
152 | # # # Install dispatcher script into BINDIR
153 | # # configure_file(../bin/lambda2.in
154 | # # ${CMAKE_CURRENT_BINARY_DIR}/lambda2-dispatch
155 | # # @ONLY)
156 | # # install (FILES ${CMAKE_CURRENT_BINARY_DIR}/lambda2-dispatch
157 | # # DESTINATION ${CMAKE_INSTALL_BINDIR}
158 | # # RENAME lambda2
159 | # # PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
160 | # # elseif ()
161 | # # Install lambda into BINDIR, usually ${PREFIX}/bin
162 | # install (TARGETS genmap
163 | # DESTINATION ${CMAKE_INSTALL_BINDIR})
164 | # # endif ()
165 | #
166 | # # Install non-binary files for the package to DOCDIR, usually ${PREFIX}/share/doc/lambda2
167 | # install (FILES ../LICENSE.rst
168 | # ../LICENSE-BSD.rst
169 | # ../LICENSE-AGPL3.rst
170 | # ../README.rst
171 | # DESTINATION ${CMAKE_INSTALL_DOCDIR})
172 | #
173 | # # Man pages into MANDIR, usually ${PREFIX}/share/man/man1 (or without share)
174 | # # install (FILES ${CMAKE_CURRENT_BINARY_DIR}/lambda2.1
175 | # # ${CMAKE_CURRENT_BINARY_DIR}/lambda2-searchn.1
176 | # # ${CMAKE_CURRENT_BINARY_DIR}/lambda2-searchp.1
177 | # # ${CMAKE_CURRENT_BINARY_DIR}/lambda2-mkindexn.1
178 | # # ${CMAKE_CURRENT_BINARY_DIR}/lambda2-mkindexp.1
179 | # # DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
180 |
181 | # ----------------------------------------------------------------------------
182 | # CPack Install
183 | # ----------------------------------------------------------------------------
184 |
185 | # Information
186 | # set (CPACK_PACKAGE_NAME "Genmap")
187 | # set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "GenMap -- Fast and Exact Computation of Genome Mappability")
188 | # set (CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/../README.rst")
189 | # set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/../LICENSE.rst")
190 | # set (CPACK_PACKAGE_VENDOR "Christopher Pockrandt ")
191 | # set (CPACK_PACKAGE_CONTACT "${CPACK_PACKAGE_VENDOR}")
192 | # set (CPACK_PACKAGE_VERSION_MAJOR "${SEQAN_APP_VERSION_MAJOR}")
193 | # set (CPACK_PACKAGE_VERSION_MINOR "${SEQAN_APP_VERSION_MINOR}")
194 | # set (CPACK_PACKAGE_VERSION_PATCH "${SEQAN_APP_VERSION_PATCH}")
195 | # set (CPACK_PACKAGE_VERSION "${SEQAN_APP_VERSION}")
196 | # set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION}")
197 | #
198 | # # Package format(s)
199 | # if (CMAKE_SYSTEM_NAME MATCHES "Windows")
200 | # set(CPACK_GENERATOR "ZIP;NSIS")
201 | # elseif (CMAKE_SYSTEM_NAME MATCHES "Darwin")
202 | # set(CPACK_GENERATOR "ZIP;DragNDrop")
203 | # elseif (CMAKE_VERSION VERSION_LESS "3.1") # TXZ support since 3.1
204 | # set(CPACK_GENERATOR "TBZ2")
205 | # else()
206 | # set(CPACK_GENERATOR "TXZ")
207 | # endif ()
208 | #
209 | # if (CMAKE_SYSTEM_NAME MATCHES "Linux")
210 | # set(CPACK_GENERATOR "${CPACK_GENERATOR};DEB;RPM")
211 | # endif ()
212 | #
213 | # # Package architecture
214 | # if (CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64")
215 | # set(CMAKE_SYSTEM_PROCESSOR "x86_64")
216 | # set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
217 | # endif ()
218 | # if (CMAKE_CXX_FLAGS MATCHES "avx2")
219 | # set (CMAKE_SYSTEM_PROCESSOR "${CMAKE_SYSTEM_PROCESSOR}_avx2")
220 | # elseif (CMAKE_CXX_FLAGS MATCHES "sse4")
221 | # set (CMAKE_SYSTEM_PROCESSOR "${CMAKE_SYSTEM_PROCESSOR}_sse4")
222 | # endif()
223 | #
224 | # # Include architecture in package name
225 | # if (NOT DEFINED CPACK_SYSTEM_NAME)
226 | # set(CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
227 | # endif (NOT DEFINED CPACK_SYSTEM_NAME)
228 | #
229 | # include (CPack)
230 |
--------------------------------------------------------------------------------
/src/common.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 |
6 | #include
7 |
8 | using namespace seqan;
9 |
10 | inline auto retrieveDirectoryInformationLine(CharString const & info)
11 | {
12 | std::string const row = toCString(info);
13 | auto const firstSeparator = row.find(';', 0);
14 | auto const secondSeparator = row.find(';', firstSeparator + 1);
15 | std::string const fastaFile = row.substr(0, firstSeparator);
16 | uint64_t const length = std::stoi(row.substr(firstSeparator + 1, secondSeparator - firstSeparator - 1));
17 | std::string const chromName = row.substr(secondSeparator + 1);
18 | return std::make_tuple(fastaFile, length, chromName);
19 | }
20 |
21 | template
22 | inline void myPosLocalize(TResult & result, TPosition const & pos, TLimits const & limits) {
23 | typedef typename Iterator::Type TIter;
24 | TIter _begin = begin(limits, Standard());
25 | TIter _upper = std::upper_bound(_begin, end(limits, Standard()), pos) - 1;
26 | result.i1 = difference(_begin, _upper);
27 | result.i2 = pos - *_upper;
28 | }
29 |
30 | inline double get_wall_time()
31 | {
32 | struct timeval time;
33 | if (gettimeofday(&time, NULL))
34 | return 0;
35 | return static_cast(time.tv_sec) + static_cast(time.tv_usec) * .000001;
36 | }
37 |
38 | template
39 | struct GemMapFastFMIndexConfig
40 | {
41 | typedef TLengthSum LengthSum;
42 | typedef Levels, LEVELS, WORDS_PER_BLOCK> > Bwt;
43 | typedef Levels, LEVELS, WORDS_PER_BLOCK> > Sentinels;
44 |
45 | static unsigned SAMPLING;
46 | };
47 |
48 | template
49 | using TGemMapFastFMIndexConfig = GemMapFastFMIndexConfig;
50 |
51 | template
52 | using TBiIndexConfig = BidirectionalIndex >;
53 |
54 | namespace seqan {
55 |
56 | template
57 | struct SizeSpec_ {};
58 |
59 | template
60 | struct SAValue > > > >
61 | {
62 | typedef Pair Type;
63 | };
64 |
65 | } // namespace seqan
66 |
67 | struct SearchParams
68 | {
69 | unsigned length;
70 | unsigned overlap;
71 | unsigned threads;
72 | bool revCompl;
73 | bool excludePseudo;
74 | };
75 |
76 | std::string mytime()
77 | {
78 | auto r = time(nullptr);
79 | auto c = ctime(&r);
80 | std::string buf(c);
81 | buf.insert(0, "[");
82 | buf.append("] ");
83 | buf.erase(remove(buf.begin(), buf.end(), '\n'), buf.end());
84 | return buf;
85 | }
86 |
87 | template
88 | inline void printProgress(uint64_t &, uint64_t const, uint64_t const, uint64_t const, uint64_t const);
89 |
90 | template <>
91 | inline void printProgress(uint64_t &, uint64_t const, uint64_t const, uint64_t const, uint64_t const)
92 | { }
93 |
94 | template <>
95 | inline void printProgress(uint64_t & progress_count, uint64_t const progress_step, uint64_t const progress_max,
96 | uint64_t const currentFileNo, uint64_t const totalFileNo)
97 | {
98 | #pragma omp atomic
99 | ++progress_count;
100 |
101 | if (omp_get_thread_num() == 0 && (progress_count & progress_step) == 0)
102 | {
103 | float progress = static_cast(progress_count)/progress_max;
104 |
105 | if (totalFileNo == 1)
106 | {
107 | std::cout << "\rProgress: " << (truncf(progress*10000)/100) << "%\x1b[K" << std::flush; // \e[K - clr_eol (remove anything after the cursor)
108 | }
109 | else
110 | {
111 | std::cout << "\r" // go up one line
112 | << "File " << currentFileNo << " / " << totalFileNo << ". Progress: " << (truncf(progress*10000)/100) << "%\x1b[K" << std::flush;
113 | }
114 | }
115 | }
116 |
117 | template
118 | inline void initProgress(uint64_t &, uint64_t &, uint64_t &, uint64_t const, uint64_t const);
119 |
120 | template <>
121 | inline void initProgress(uint64_t &, uint64_t &, uint64_t &, uint64_t const, uint64_t const)
122 | { }
123 |
124 | template <>
125 | inline void initProgress(uint64_t & progressCount, uint64_t & progressStep, uint64_t & progressMax,
126 | uint64_t const stepSize, uint64_t const numberOfKmers)
127 | {
128 | progressCount = 0;
129 | progressMax = (numberOfKmers + stepSize - 1) / stepSize; // = ceil(numberOfKmers / stepSize), i.e. loop iterations
130 | progressStep = 511; // Print every 512 loop iterators.
131 | }
132 |
--------------------------------------------------------------------------------
/src/genmap.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include
4 |
5 | #include "genmap_helper.hpp"
6 | #include "indexing.hpp"
7 | #include "mappability.hpp"
8 |
9 | template
10 | unsigned GemMapFastFMIndexConfig::SAMPLING = 10;
11 |
12 | using namespace seqan;
13 |
14 | ArgumentParser::ParseResult parseCommandLineMain(int const argc, char const ** argv);
15 |
16 | int main(int const argc, char const ** argv)
17 | {
18 | if (std::string(CMAKE_BUILD_TYPE) != "Release")
19 | {
20 | std::cerr << "WARNING: This binary was not built in Release mode"
21 | " and is expected to be much slower.\n";
22 | }
23 |
24 | // TODO: warning if no SSE4 and popcount support is used, that is might crash. use newer CPU
25 |
26 | // --version-check expects a parameter, the others (--copyright, --version) don't.
27 | int until = argc;
28 | bool skipNext = false;
29 | for (int i = 1; i < argc; ++i)
30 | {
31 | // version check expects a parameter
32 | if (std::string(argv[i]) == "--version-check")
33 | skipNext = true;
34 |
35 | if (argv[i][0] != '-')
36 | {
37 | if (skipNext)
38 | {
39 | skipNext = false;
40 | } else
41 | {
42 | until = i + 1;
43 | break;
44 | }
45 | }
46 | }
47 |
48 | ArgumentParser::ParseResult res = parseCommandLineMain(until, argv);
49 |
50 | if (res == ArgumentParser::PARSE_ERROR)
51 | return ArgumentParser::PARSE_ERROR;
52 | else if (res != ArgumentParser::PARSE_OK)
53 | return 0;
54 |
55 | --until; // undo the "+ 1" above
56 |
57 | if (std::string(argv[until]) == "map")
58 | {
59 | return mappabilityMain(argc - until, argv + until);
60 | }
61 | else if (std::string(argv[until]) == "index")
62 | {
63 | return indexMain(argc - until, argv + until);
64 | }
65 | else
66 | {
67 | // should not be reached
68 | std::cerr << "WRONG ARGUMENTS!\n";
69 | return -1;
70 | }
71 |
72 | return 0;
73 | }
74 |
75 | ArgumentParser::ParseResult parseCommandLineMain(int const argc, char const ** argv)
76 | {
77 | ArgumentParser parser("GenMap");
78 |
79 | setShortDescription(parser, "Fast and Exact Computation of Genome Mappability");
80 |
81 | addUsageLine(parser, "[\\fIOPTIONS\\fP] COMMAND [\\fICOMMAND-OPTIONS\\fP]");
82 | sharedSetup(parser);
83 |
84 | addArgument(parser, ArgParseArgument(ArgParseArgument::STRING, "COMMAND"));
85 | setHelpText(parser, 0, "The sub-program to execute. See below.");
86 | setValidValues(parser, 0, "index map");
87 |
88 | addTextSection(parser, "Available commands");
89 | addText(parser, "\\fBindex \\fP– Creates an index for mappability computation.");
90 | addText(parser, "\\fBmap \\fP– Computes the mappability (requires a pre-built index).");
91 | addText(parser, "To view the help page for a specific command, simply run 'genmap command --help'.");
92 |
93 | return parse(parser, argc, argv);
94 | }
95 |
--------------------------------------------------------------------------------
/src/genmap_helper.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | #include
6 | #include
7 |
8 | using namespace seqan;
9 |
10 | void sharedSetup(ArgumentParser & parser)
11 | {
12 | // Set short description, version, and date.
13 | std::string versionString = SEQAN_APP_VERSION;
14 | setVersion(parser, versionString);
15 | setDate(parser, __DATE__);
16 | setShortCopyright(parser, "2019-2020 Christopher Pockrandt, released under the 3-clause-BSD; "
17 | "2016-2019 Knut Reinert and Freie Universität Berlin, released under the 3-clause-BSD");
18 |
19 | setCitation(parser, "Pockrandt et al (2020). GenMap: Ultra-fast Computation of Genome Mappability.\n"
20 | "doi: https://doi.org/10.1093/bioinformatics/btaa222");
21 |
22 | setLongCopyright(parser,
23 | " Copyright (c) 2019-2020, Christopher Pockrandt\n"
24 | " All rights reserved.\n"
25 | "\n"
26 | " This program is free software: you can redistribute it and/or modify\n"
27 | " it under the terms of the BSD-License (3-clause).\n"
28 | "\n"
29 | " GenMap is distributed in the hope that it will be useful,\n"
30 | " but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
31 | " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
32 | "\n"
33 | " You should have received a copy of the 3-clause BSD-License along with this\n"
34 | " program. If not, see .\n"
35 | "\n"
36 | " libdivsufsort: Copyright (c) 2003 Yuta Mori All rights reserved.\n"
37 | " SeqAn: Copyright (c) 2016-2019 Knut Reinert and Freie Universität Berlin\n"
38 | " All rights reserved.\n"
39 | "\n"
40 | " Redistribution and use in source and binary forms, with or without\n"
41 | " modification, are permitted provided that the following conditions are met:\n"
42 | "\n"
43 | " * Redistributions of source code must retain the above copyright\n"
44 | " notice, this list of conditions and the following disclaimer.\n"
45 | " * Redistributions in binary form must reproduce the above copyright\n"
46 | " notice, this list of conditions and the following disclaimer in the\n"
47 | " documentation and/or other materials provided with the distribution.\n"
48 | " * Neither the name of Knut Reinert or the FU Berlin nor the names of\n"
49 | " its contributors may be used to endorse or promote products derived\n"
50 | " from this software without specific prior written permission.\n"
51 | "\n"
52 | " THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n"
53 | " AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n"
54 | " IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n"
55 | " ARE DISCLAIMED. IN NO EVENT SHALL KNUT REINERT OR THE FU BERLIN BE LIABLE\n"
56 | " FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n"
57 | " DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n"
58 | " SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n"
59 | " CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n"
60 | " LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n"
61 | " OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\n"
62 | " DAMAGE.\n");
63 |
64 | addDescription(parser, "GenMap is a tool for fast and exact computation of genome mappability"
65 | " and can also be used for multiple genomes, e.g., to search for marker sequences.");
66 |
67 | addDescription(parser, "Detailed information is available in the wiki: "
68 | "");
69 | }
70 |
71 | template
72 | inline bool open(Index > > & index, const char * fileName, int openMode)
73 | {
74 | String name;
75 |
76 | // fwd index
77 | name = fileName; append(name, ".txt");
78 | if (!open(getFibre(index.fwd, FibreText()), toCString(name), openMode)) return false;
79 |
80 | name = fileName; append(name, ".sa");
81 | if (!open(getFibre(index.fwd, FibreSA()), toCString(name), openMode)) return false;
82 |
83 | name = fileName; append(name, ".lf");
84 | if (!open(getFibre(index.fwd, FibreLF()), toCString(name), openMode)) return false;
85 |
86 | setFibre(getFibre(index.fwd, FibreSA()), getFibre(index.fwd, FibreLF()), FibreLF());
87 |
88 | // rev index (only requires the BWT)
89 | name = fileName; append(name, ".rev.lf");
90 | if (!open(getFibre(index.rev, FibreLF()), toCString(name), openMode)) return false;
91 |
92 | name = fileName; append(name, ".sa.len");
93 | if (!open(index.rev.sa.sparseString._length, toCString(name), openMode)) return false;
94 |
95 | setFibre(getFibre(index.rev, FibreSA()), getFibre(index.rev, FibreLF()), FibreLF());
96 |
97 | return true;
98 | }
99 |
100 | template
101 | inline bool saveFwd(Index > const & index, const char * fileName, int openMode = OPEN_RDWR | OPEN_CREATE | OPEN_APPEND)
102 | {
103 | String name;
104 |
105 | name = fileName; append(name, ".txt");
106 | if (!save(getFibre(index, FibreText()), toCString(name), openMode)) return false;
107 |
108 | name = fileName; append(name, ".sa");
109 | if (!save(getFibre(index, FibreSA()), toCString(name), openMode)) return false;
110 |
111 | name = fileName; append(name, ".lf");
112 | if (!save(getFibre(index, FibreLF()), toCString(name), openMode)) return false;
113 |
114 | return true;
115 | }
116 |
117 | template
118 | inline bool saveRev(Index > const & index, const char * fileName, int openMode = OPEN_RDWR | OPEN_CREATE | OPEN_APPEND)
119 | {
120 | String name;
121 |
122 | // rev index (only requires the BWT)
123 | name = fileName; append(name, ".lf");
124 | if (!save(getFibre(index, FibreLF()), toCString(name), openMode)) return false;
125 |
126 | return true;
127 | }
128 |
--------------------------------------------------------------------------------
/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # ===========================================================================
2 | # GenMap tests
3 | # ===========================================================================
4 |
5 | include (ExternalProject)
6 | ExternalProject_Add (googletest
7 | PREFIX "${CMAKE_CURRENT_BINARY_DIR}/googletest"
8 | GIT_REPOSITORY "https://github.com/google/googletest.git"
9 | INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}"
10 | CMAKE_ARGS "-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}"
11 | GIT_TAG release-1.10.0
12 | UPDATE_DISCONNECTED YES)
13 |
14 | set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") # TODO: --coverage
15 | add_executable (genmap_algo_test tests.cpp)
16 | add_dependencies (genmap_algo_test googletest)
17 |
18 | include_directories (${CMAKE_CURRENT_BINARY_DIR}/include)
19 | target_link_libraries (genmap_algo_test ${SEQAN_LIBRARIES})
20 | target_link_libraries (genmap_algo_test ${CMAKE_CURRENT_BINARY_DIR}/lib/libgtest.a)
21 | target_link_libraries (genmap_algo_test ${CMAKE_CURRENT_BINARY_DIR}/lib/libgtest_main.a)
22 | target_link_libraries (genmap_algo_test pthread)
23 |
24 | add_test(NAME algo_test COMMAND genmap_algo_test)
25 |
26 | # TODO: add dependencies
27 | function (add_test_suite TEST_NAME_PREFIX TEST_CASE_FOLDER INDEX_FLAGS MAP_FLAGS)
28 | #message("${CMAKE_CURRENT_SOURCE_DIR}/tests.sh ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${TEST_CASE_FOLDER} ${INDEX_FLAGS} ${MAP_FLAGS} -b -fl bed_freq16")
29 | add_test (NAME "${TEST_NAME_PREFIX}_raw_map"
30 | COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tests.sh "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${TEST_CASE_FOLDER}" "${INDEX_FLAGS}" "${MAP_FLAGS} -r" "raw_map")
31 | add_test (NAME "${TEST_NAME_PREFIX}_raw_freq8"
32 | COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tests.sh "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${TEST_CASE_FOLDER}" "${INDEX_FLAGS}" "${MAP_FLAGS} -r -fs" "raw_freq8")
33 | add_test (NAME "${TEST_NAME_PREFIX}_raw_freq16"
34 | COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tests.sh "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${TEST_CASE_FOLDER}" "${INDEX_FLAGS}" "${MAP_FLAGS} -r -fl" "raw_freq16")
35 | add_test (NAME "${TEST_NAME_PREFIX}_txt_map"
36 | COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tests.sh "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${TEST_CASE_FOLDER}" "${INDEX_FLAGS}" "${MAP_FLAGS} -t" "txt_map")
37 | add_test (NAME "${TEST_NAME_PREFIX}_txt_freq16"
38 | COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tests.sh "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${TEST_CASE_FOLDER}" "${INDEX_FLAGS}" "${MAP_FLAGS} -t -fl" "txt_freq16")
39 | add_test (NAME "${TEST_NAME_PREFIX}_wig_map"
40 | COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tests.sh "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${TEST_CASE_FOLDER}" "${INDEX_FLAGS}" "${MAP_FLAGS} -w" "wig_map")
41 | add_test (NAME "${TEST_NAME_PREFIX}_wig_freq16"
42 | COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tests.sh "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${TEST_CASE_FOLDER}" "${INDEX_FLAGS}" "${MAP_FLAGS} -w -fl" "wig_freq16")
43 | add_test (NAME "${TEST_NAME_PREFIX}_bed_map"
44 | COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tests.sh "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${TEST_CASE_FOLDER}" "${INDEX_FLAGS}" "${MAP_FLAGS} -bg" "bed_map")
45 | add_test (NAME "${TEST_NAME_PREFIX}_bed_freq16"
46 | COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tests.sh "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${TEST_CASE_FOLDER}" "${INDEX_FLAGS}" "${MAP_FLAGS} -bg -fl" "bed_freq16")
47 | add_test (NAME "${TEST_NAME_PREFIX}_csv"
48 | COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tests.sh "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${TEST_CASE_FOLDER}" "${INDEX_FLAGS}" "${MAP_FLAGS} -d" "csv")
49 |
50 | if (EXISTS "${CMAKE_SOURCE_DIR}/tests/test_cases/case_${TEST_CASE_FOLDER}/txt_freq8")
51 | add_test (NAME "${TEST_NAME_PREFIX}_txt_freq8"
52 | COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tests.sh "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${TEST_CASE_FOLDER}" "${INDEX_FLAGS}" "${MAP_FLAGS} -t -fs" "txt_freq8")
53 | endif ()
54 | endfunction (add_test_suite)
55 |
56 | add_test_suite ("single_fasta_single_sequence" "1a" "-F" "-E 0 -K 3 -nc")
57 | add_test_suite ("single_fasta_single_sequence_rc" "1b" "-F" "-E 0 -K 3")
58 | add_test_suite ("single_fasta_single_sequence_dna5" "1c" "-F" "-E 0 -K 3 -nc")
59 | add_test_suite ("single_fasta_single_sequence_dna5_rc" "1d" "-F" "-E 0 -K 3")
60 | add_test_suite ("single_fasta_single_sequence_dna5_error" "1e" "-F" "-E 1 -K 3 -nc")
61 | add_test_suite ("single_fasta_single_sequence_dna5_error_rc" "1f" "-F" "-E 1 -K 3")
62 | add_test_suite ("single_fasta_single_sequence_dna5_error_rc_selection" "1g" "-F" "-E 1 -K 3")
63 | add_test_suite ("single_fasta_multi_sequence" "2a" "-F" "-E 0 -K 4 -nc")
64 | add_test_suite ("single_fasta_multi_sequence_rc" "2b" "-F" "-E 0 -K 4")
65 | add_test_suite ("single_fasta_multi_sequence_hard_raw" "2c" "-F" "-E 0 -K 4 -nc")
66 | add_test_suite ("single_fasta_multi_sequence_hard_raw_rc" "2d" "-F" "-E 0 -K 4")
67 | add_test_suite ("single_fasta_multi_sequence_hard_raw_rc_selection" "2e" "-F" "-E 0 -K 4")
68 | add_test_suite ("multi_fasta_multi_sequence" "3a" "-FD" "-E 0 -K 4 -nc")
69 | add_test_suite ("multi_fasta_multi_sequence_rc" "3b" "-FD" "-E 0 -K 4")
70 | add_test_suite ("multi_fasta_multi_sequence_exclude_pseudo" "3c" "-FD" "-E 0 -K 4 -ep -nc")
71 | add_test_suite ("multi_fasta_multi_sequence_exclude_pseudo_rc" "3d" "-FD" "-E 0 -K 4 -ep")
72 | add_test_suite ("multi_fasta_multi_sequence_exclude_pseudo_rc_selection" "3e" "-FD" "-E 0 -K 4 -ep")
73 | add_test_suite ("multi_fasta_multi_sequence_exclude_pseudo_rc_bigger_selection" "3f" "-FD" "-E 0 -K 4 -ep")
74 |
--------------------------------------------------------------------------------
/tests/bowtie-test.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -xe
2 |
3 | ### NOTE: make sure that bowtie (v1) and genmap are up-to-date and installed in PATH.
4 |
5 | # download an ecoli reference and unzip
6 | curl -o - ftp://ftp.ensemblgenomes.org/pub/bacteria/release-46/fasta/bacteria_0_collection/escherichia_coli_str_k_12_substr_mg1655/dna/Escherichia_coli_str_k_12_substr_mg1655.ASM584v2.dna.toplevel.fa.gz | gunzip > ecoli.fa
7 | # create a bowtie1 index
8 | bowtie-build ecoli.fa ecoli.bowtie1
9 | # create a fasta file containing a k-mer for every position in the genomic (ordered)
10 | awk '!/^>/ { seq = seq $0 } END { for (i = 1; i <= length(seq) - 20 + 1; ++i) { print ">" i; print substr(seq, i, 20) } }' ecoli.fa > ecoli.kmers.fa
11 | # build index for genmap
12 | genmap index -F ecoli.fa -I ecoli.gm.index
13 | # use genmap to compute mappability
14 | genmap map -I ecoli.gm.index -O . -K 20 -E 1 -fl -bg
15 | # search kmers with bowtie1 (in its all-mapping mode)
16 | bowtie -f -n 1 -l 20 -a -S -p 24 --sam-nohead ecoli.bowtie1 ecoli.kmers.fa > ecoli.sam
17 | # sort sam and convert to bed file
18 | cut -f1 ecoli.sam | sort -k1,1 -n | uniq -c | awk -v OFS='\t' 'BEGIN{ startPos=1 } { if (lastPos && $1 != lastOccCount) { print "Chromosome", (startPos - 1), ($2 - 1), lastOccCount; startPos=$2 } lastOccCount=$1; lastPos=$2 } END { print "Chromosome", (startPos - 1), lastPos, lastOccCount }' > ecoli.bowtie.bedgraph
19 | # compare both mappability files
20 | diff -s ecoli.bowtie.bedgraph ecoli.genmap.bedgraph
21 |
22 | rm -r ecoli.bowtie.bedgraph ecoli.genmap.bedgraph ecoli.bowtie1* ecoli.fa ecoli.gm.index ecoli.sam ecoli.kmers.fa
23 |
--------------------------------------------------------------------------------
/tests/test_cases/README.rst:
--------------------------------------------------------------------------------
1 | GenMap - Fast and Exact Computation of Genome Mappability
2 | ---------------------------------------------------------
3 |
4 | Details on test cases
5 | ^^^^^^^^^^^^^^^^^^^^^
6 |
7 | There are a few hand-written test cases to check the output formats of GenMap and possible edge cases. If not stated otherwise, the alphabet is Dna4 (A, C, G, T).
8 |
9 | Single fasta file with a single sequence (i.e., only one chromosome)
10 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
11 |
12 | case 1a
13 | 3-mers with 0 errors without the reverse complement
14 |
15 | case 1b
16 | 3-mers with 0 errors with the reverse complement
17 |
18 | case 1c
19 | 3-mers with 0 errors without the reverse complement. **Dna5** alphabet (including Ns).
20 |
21 | case 1d
22 | 3-mers with 0 errors with the reverse complement. **Dna5** alphabet (including Ns).
23 |
24 | case 1e
25 | 3-mers with 1 error without the reverse complement. **Dna5** alphabet (including Ns).
26 |
27 | case 1f
28 | 3-mers with 1 error with the reverse complement. **Dna5** alphabet (including Ns).
29 |
30 | case 1g
31 | 3-mers with 1 error with the reverse complement. **Dna5** alphabet (including Ns). Computing a subset defined in a bed file.
32 |
33 | Single fasta file with multiple sequences
34 | """""""""""""""""""""""""""""""""""""""""
35 |
36 | case 2a
37 | 4-mers with 0 errors without the reverse complement. k-mers spanning two sequences occur within the sequence itself [1]_.
38 |
39 | case 2b
40 | case 2a with reverse complement
41 |
42 | case 2c
43 | 4-mers with 0 errors without the reverse complement. Contains sequences that are shorter or equal to k. The last sequence is also shorter than k. k-mers spanning two sequences occur within some sequence, as well as in some sequences reverse complement [1]_.
44 |
45 | case 2d
46 | case 2c with reverse complement
47 |
48 | case 2e
49 | case 2d but only computing a subset defined in a bed file.
50 |
51 | Multiple fasta files in directory with single and multiple sequences
52 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
53 |
54 | case 3a
55 | 4-mers with 0 errors without reverse complement. Multiple fasta files. Some only have one sequence (chromosome), some have multiple. There are k-mers that
56 | - occur once only in a single sequence in only one fasta file (TTTT)
57 | - occur multiple times only in a single sequence in only one fasta file (ACGT)
58 | - occur multiple times in different sequences of only one fasta file (CGTA)
59 | - occur multiple times in different sequences of multiple fasta files (at most one hit per fasta file) (AGGA)
60 | - occur multiple times in different sequences of multiple fasta files (multiple hits per fasta file) (ACCA, AAGG)
61 |
62 | case 3b
63 | case 3a with reverse complement
64 |
65 | case 3c
66 | case 3a with ``--exclude-pseudo``
67 |
68 | case 3d
69 | case 3c with reverse complement
70 |
71 | case 3e
72 | case 3d but only computing a subset defined in a bed file.
73 |
74 | case 3f
75 | case 3e but with a larger subset (i.e., uses additional optimizations).
76 |
77 | Single fasta file in directory with multiple sequences
78 | """"""""""""""""""""""""""""""""""""""""""""""""""""""
79 |
80 | Coming soon (including and exluding ``--exclude-pseudo``).
81 |
82 | .. [1] This is important due to the design of the algorithm. All sequences in a fasta file are concatenated and each k-mer in the concatenated string is searched. False positives are later filtered out, i.e., windows that spanned multiple sequences.
83 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1a/bed_freq16/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 2 2
2 | seq0 2 4 1
3 | seq0 4 6 5
4 | seq0 6 7 2
5 | seq0 7 12 1
6 | seq0 12 15 5
7 | seq0 15 16 2
8 | seq0 16 19 1
9 | seq0 19 21 2
10 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1a/bed_map/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 2 0.5
2 | seq0 2 4 1
3 | seq0 4 6 0.2
4 | seq0 6 7 0.5
5 | seq0 7 12 1
6 | seq0 12 15 0.2
7 | seq0 15 16 0.5
8 | seq0 16 19 1
9 | seq0 19 21 0.5
10 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1a/csv/genome.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome.fa"
2 | 0,0;0,0|0,19
3 | 0,1;0,1|0,20
4 | 0,2;0,2
5 | 0,3;0,3
6 | 0,4;0,4|0,5|0,12|0,13|0,14
7 | 0,5;0,4|0,5|0,12|0,13|0,14
8 | 0,6;0,6|0,15
9 | 0,7;0,7
10 | 0,8;0,8
11 | 0,9;0,9
12 | 0,10;0,10
13 | 0,11;0,11
14 | 0,12;0,4|0,5|0,12|0,13|0,14
15 | 0,13;0,4|0,5|0,12|0,13|0,14
16 | 0,14;0,4|0,5|0,12|0,13|0,14
17 | 0,15;0,6|0,15
18 | 0,16;0,16
19 | 0,17;0,17
20 | 0,18;0,18
21 | 0,19;0,0|0,19
22 | 0,20;0,1|0,20
23 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1a/genome.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTAAAAGGACAAAAAGCTGGT
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1a/raw_freq16/genome.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1a/raw_freq8/genome.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1a/raw_map/genome.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_1a/raw_map/genome.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_1a/txt_freq16/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 2 2 1 1 5 5 2 1 1 1 1 1 5 5 5 2 1 1 1 2 2 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1a/txt_freq8/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 2 2 1 1 5 5 2 1 1 1 1 1 5 5 5 2 1 1 1 2 2 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1a/txt_map/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.5 0.5 1 1 0.2 0.2 0.5 1 1 1 1 1 0.2 0.2 0.2 0.5 1 1 1 0.5 0.5 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1a/wig_freq16/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 23
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1a/wig_freq16/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=2
2 | 1 2
3 | 3 1
4 | 5 5
5 | variableStep chrom=seq0 span=1
6 | 7 2
7 | variableStep chrom=seq0 span=5
8 | 8 1
9 | variableStep chrom=seq0 span=3
10 | 13 5
11 | variableStep chrom=seq0 span=1
12 | 16 2
13 | variableStep chrom=seq0 span=3
14 | 17 1
15 | variableStep chrom=seq0 span=2
16 | 20 2
17 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1a/wig_map/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 23
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1a/wig_map/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=2
2 | 1 0.5
3 | 3 1
4 | 5 0.2
5 | variableStep chrom=seq0 span=1
6 | 7 0.5
7 | variableStep chrom=seq0 span=5
8 | 8 1
9 | variableStep chrom=seq0 span=3
10 | 13 0.2
11 | variableStep chrom=seq0 span=1
12 | 16 0.5
13 | variableStep chrom=seq0 span=3
14 | 17 1
15 | variableStep chrom=seq0 span=2
16 | 20 0.5
17 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1b/bed_freq16/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 2 3
2 | seq0 2 4 2
3 | seq0 4 5 3
4 | seq0 5 6 2
5 | seq0 6 8 4
6 | seq0 8 12 2
7 | seq0 12 14 3
8 | seq0 14 15 2
9 | seq0 15 17 4
10 | seq0 17 19 2
11 | seq0 19 20 3
12 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1b/bed_map/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 2 0.333333
2 | seq0 2 4 0.5
3 | seq0 4 5 0.333333
4 | seq0 5 6 0.5
5 | seq0 6 8 0.25
6 | seq0 8 12 0.5
7 | seq0 12 14 0.333333
8 | seq0 14 15 0.5
9 | seq0 15 17 0.25
10 | seq0 17 19 0.5
11 | seq0 19 20 0.333333
12 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1b/csv/genome.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome.fa";"- strand genome.fa"
2 | 0,0;0,0;0,4|0,13
3 | 0,1;0,1|0,19;0,12
4 | 0,2;0,2;0,11
5 | 0,3;0,3;0,10
6 | 0,4;0,4|0,13;0,0
7 | 0,5;0,5|0,14;
8 | 0,6;0,6|0,7|0,15|0,16;
9 | 0,7;0,6|0,7|0,15|0,16;
10 | 0,8;0,8|0,17;
11 | 0,9;0,9|0,18;
12 | 0,10;0,10;0,3
13 | 0,11;0,11;0,2
14 | 0,12;0,12;0,1|0,19
15 | 0,13;0,4|0,13;0,0
16 | 0,14;0,5|0,14;
17 | 0,15;0,6|0,7|0,15|0,16;
18 | 0,16;0,6|0,7|0,15|0,16;
19 | 0,17;0,8|0,17;
20 | 0,18;0,9|0,18;
21 | 0,19;0,1|0,19;0,12
22 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1b/genome.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGACCAAAAGGT
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1b/raw_freq16/genome.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1b/raw_freq8/genome.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1b/raw_map/genome.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_1b/raw_map/genome.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_1b/txt_freq16/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 3 3 2 2 3 2 4 4 2 2 2 2 3 3 2 4 4 2 2 3 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1b/txt_map/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.333333 0.333333 0.5 0.5 0.333333 0.5 0.25 0.25 0.5 0.5 0.5 0.5 0.333333 0.333333 0.5 0.25 0.25 0.5 0.5 0.333333 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1b/wig_freq16/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1b/wig_freq16/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=2
2 | 1 3
3 | 3 2
4 | variableStep chrom=seq0 span=1
5 | 5 3
6 | 6 2
7 | variableStep chrom=seq0 span=2
8 | 7 4
9 | variableStep chrom=seq0 span=4
10 | 9 2
11 | variableStep chrom=seq0 span=2
12 | 13 3
13 | variableStep chrom=seq0 span=1
14 | 15 2
15 | variableStep chrom=seq0 span=2
16 | 16 4
17 | 18 2
18 | variableStep chrom=seq0 span=1
19 | 20 3
20 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1b/wig_map/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1b/wig_map/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=2
2 | 1 0.333333
3 | 3 0.5
4 | variableStep chrom=seq0 span=1
5 | 5 0.333333
6 | 6 0.5
7 | variableStep chrom=seq0 span=2
8 | 7 0.25
9 | variableStep chrom=seq0 span=4
10 | 9 0.5
11 | variableStep chrom=seq0 span=2
12 | 13 0.333333
13 | variableStep chrom=seq0 span=1
14 | 15 0.5
15 | variableStep chrom=seq0 span=2
16 | 16 0.25
17 | 18 0.5
18 | variableStep chrom=seq0 span=1
19 | 20 0.333333
20 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1c/bed_freq16/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 6 1
2 | seq0 6 7 2
3 | seq0 11 12 2
4 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1c/bed_map/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 6 1
2 | seq0 6 7 0.5
3 | seq0 11 12 0.5
4 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1c/csv/genome.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome.fa"
2 | 0,0;0,0
3 | 0,1;0,1
4 | 0,2;0,2
5 | 0,3;0,3
6 | 0,4;0,4
7 | 0,5;0,5
8 | 0,6;0,6|0,11
9 | 0,11;0,6|0,11
10 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1c/genome.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCGAAANNAAANGGNNN
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1c/raw_freq16/genome.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1c/raw_freq8/genome.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1c/raw_map/genome.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_1c/raw_map/genome.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_1c/txt_freq16/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 1 1 1 1 1 1 2 0 0 0 0 2 0 0 0 0 0 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1c/txt_map/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 1 1 1 1 1 1 0.5 0 0 0 0 0.5 0 0 0 0 0 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1c/wig_freq16/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 20
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1c/wig_freq16/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=6
2 | 1 1
3 | variableStep chrom=seq0 span=1
4 | 7 2
5 | 12 2
6 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1c/wig_map/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 20
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1c/wig_map/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=6
2 | 1 1
3 | variableStep chrom=seq0 span=1
4 | 7 0.5
5 | 12 0.5
6 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1d/bed_freq16/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 3 1
2 | seq0 3 5 2
3 | seq0 5 6 1
4 | seq0 6 7 2
5 | seq0 11 12 2
6 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1d/bed_map/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 3 1
2 | seq0 3 5 0.5
3 | seq0 5 6 1
4 | seq0 6 7 0.5
5 | seq0 11 12 0.5
6 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1d/csv/genome.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome.fa";"- strand genome.fa"
2 | 0,0;0,0;
3 | 0,1;0,1;
4 | 0,2;0,2;
5 | 0,3;0,3;0,4
6 | 0,4;0,4;0,3
7 | 0,5;0,5;
8 | 0,6;0,6|0,11;
9 | 0,11;0,6|0,11;
10 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1d/genome.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCGAAANNAAANGGNNN
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1d/raw_freq16/genome.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1d/raw_freq8/genome.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1d/raw_map/genome.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_1d/raw_map/genome.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_1d/txt_freq16/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 1 1 1 2 2 1 2 0 0 0 0 2 0 0 0 0 0 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1d/txt_map/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 1 1 1 0.5 0.5 1 0.5 0 0 0 0 0.5 0 0 0 0 0 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1d/wig_freq16/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 20
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1d/wig_freq16/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=3
2 | 1 1
3 | variableStep chrom=seq0 span=2
4 | 4 2
5 | variableStep chrom=seq0 span=1
6 | 6 1
7 | 7 2
8 | 12 2
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1d/wig_map/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 20
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1d/wig_map/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=3
2 | 1 1
3 | variableStep chrom=seq0 span=2
4 | 4 0.5
5 | variableStep chrom=seq0 span=1
6 | 6 1
7 | 7 0.5
8 | 12 0.5
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1e/bed_freq16/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 3
2 | seq0 1 2 2
3 | seq0 2 3 1
4 | seq0 3 4 2
5 | seq0 4 5 1
6 | seq0 5 6 4
7 | seq0 6 7 6
8 | seq0 7 8 4
9 | seq0 10 11 4
10 | seq0 11 12 6
11 | seq0 12 13 4
12 | seq0 13 14 1
13 | seq0 14 16 2
14 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1e/bed_map/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 0.333333
2 | seq0 1 2 0.5
3 | seq0 2 3 1
4 | seq0 3 4 0.5
5 | seq0 4 5 1
6 | seq0 5 6 0.25
7 | seq0 6 7 0.166667
8 | seq0 7 8 0.25
9 | seq0 10 11 0.25
10 | seq0 11 12 0.166667
11 | seq0 12 13 0.25
12 | seq0 13 14 1
13 | seq0 14 16 0.5
14 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1e/csv/genome.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome.fa"
2 | 0,0;0,0|0,3|0,14
3 | 0,1;0,1|0,15
4 | 0,2;0,2
5 | 0,3;0,0|0,3
6 | 0,4;0,4
7 | 0,5;0,5|0,6|0,10|0,11
8 | 0,6;0,5|0,6|0,7|0,10|0,11|0,12
9 | 0,7;0,6|0,7|0,11|0,12
10 | 0,10;0,5|0,6|0,10|0,11
11 | 0,11;0,5|0,6|0,7|0,10|0,11|0,12
12 | 0,12;0,6|0,7|0,11|0,12
13 | 0,13;0,13
14 | 0,14;0,0|0,14
15 | 0,15;0,1|0,15
16 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1e/genome.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCGAAANNAAANGGNNN
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1e/raw_freq16/genome.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1e/raw_freq8/genome.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1e/raw_map/genome.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_1e/raw_map/genome.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_1e/txt_freq16/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 3 2 1 2 1 4 6 4 0 0 4 6 4 1 2 2 0 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1e/txt_map/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.333333 0.5 1 0.5 1 0.25 0.166667 0.25 0 0 0.25 0.166667 0.25 1 0.5 0.5 0 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1e/wig_freq16/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 20
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1e/wig_freq16/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 3
3 | 2 2
4 | 3 1
5 | 4 2
6 | 5 1
7 | 6 4
8 | 7 6
9 | 8 4
10 | 11 4
11 | 12 6
12 | 13 4
13 | 14 1
14 | variableStep chrom=seq0 span=2
15 | 15 2
16 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1e/wig_map/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 20
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1e/wig_map/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 0.333333
3 | 2 0.5
4 | 3 1
5 | 4 0.5
6 | 5 1
7 | 6 0.25
8 | 7 0.166667
9 | 8 0.25
10 | 11 0.25
11 | 12 0.166667
12 | 13 0.25
13 | 14 1
14 | variableStep chrom=seq0 span=2
15 | 15 0.5
16 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1f/bed_freq16/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 4
2 | seq0 1 2 2
3 | seq0 2 5 3
4 | seq0 5 6 5
5 | seq0 6 7 6
6 | seq0 7 8 4
7 | seq0 10 11 4
8 | seq0 11 12 6
9 | seq0 12 13 4
10 | seq0 13 14 1
11 | seq0 14 16 2
12 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1f/bed_map/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 0.25
2 | seq0 1 2 0.5
3 | seq0 2 5 0.333333
4 | seq0 5 6 0.2
5 | seq0 6 7 0.166667
6 | seq0 7 8 0.25
7 | seq0 10 11 0.25
8 | seq0 11 12 0.166667
9 | seq0 12 13 0.25
10 | seq0 13 14 1
11 | seq0 14 16 0.5
12 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1f/csv/genome.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome.fa";"- strand genome.fa"
2 | 0,0;0,0|0,3|0,14;0,4
3 | 0,1;0,1|0,15;
4 | 0,2;0,2;0,2|0,5
5 | 0,3;0,0|0,3;0,4
6 | 0,4;0,4;0,0|0,3
7 | 0,5;0,5|0,6|0,10|0,11;0,2
8 | 0,6;0,5|0,6|0,7|0,10|0,11|0,12;
9 | 0,7;0,6|0,7|0,11|0,12;
10 | 0,10;0,5|0,6|0,10|0,11;
11 | 0,11;0,5|0,6|0,7|0,10|0,11|0,12;
12 | 0,12;0,6|0,7|0,11|0,12;
13 | 0,13;0,13;
14 | 0,14;0,0|0,14;
15 | 0,15;0,1|0,15;
16 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1f/genome.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCGAAANNAAANGGNNN
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1f/raw_freq16/genome.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1f/raw_freq8/genome.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1f/raw_map/genome.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_1f/raw_map/genome.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_1f/txt_freq16/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 4 2 3 3 3 5 6 4 0 0 4 6 4 1 2 2 0 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1f/txt_map/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.25 0.5 0.333333 0.333333 0.333333 0.2 0.166667 0.25 0 0 0.25 0.166667 0.25 1 0.5 0.5 0 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1f/wig_freq16/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 20
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1f/wig_freq16/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 4
3 | 2 2
4 | variableStep chrom=seq0 span=3
5 | 3 3
6 | variableStep chrom=seq0 span=1
7 | 6 5
8 | 7 6
9 | 8 4
10 | 11 4
11 | 12 6
12 | 13 4
13 | 14 1
14 | variableStep chrom=seq0 span=2
15 | 15 2
16 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1f/wig_map/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 20
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1f/wig_map/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 0.25
3 | 2 0.5
4 | variableStep chrom=seq0 span=3
5 | 3 0.333333
6 | variableStep chrom=seq0 span=1
7 | 6 0.2
8 | 7 0.166667
9 | 8 0.25
10 | 11 0.25
11 | 12 0.166667
12 | 13 0.25
13 | 14 1
14 | variableStep chrom=seq0 span=2
15 | 15 0.5
16 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1g/bed_freq16/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 4
2 | seq0 1 2 2
3 | seq0 2 3 3
4 | seq0 6 7 6
5 | seq0 10 11 4
6 | seq0 11 12 6
7 | seq0 15 16 2
8 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1g/bed_map/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 0.25
2 | seq0 1 2 0.5
3 | seq0 2 3 0.333333
4 | seq0 6 7 0.166667
5 | seq0 10 11 0.25
6 | seq0 11 12 0.166667
7 | seq0 15 16 0.5
8 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1g/csv/genome.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome.fa";"- strand genome.fa"
2 | 0,0;0,0|0,3|0,14;0,4
3 | 0,1;0,1|0,15;
4 | 0,2;0,2;0,2|0,5
5 | 0,6;0,5|0,6|0,7|0,10|0,11|0,12;
6 | 0,10;0,5|0,6|0,10|0,11;
7 | 0,11;0,5|0,6|0,7|0,10|0,11|0,12;
8 | 0,15;0,1|0,15;
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1g/genome.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCGAAANNAAANGGNNN
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1g/raw_freq16/genome.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1g/raw_freq8/genome.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1g/raw_map/genome.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_1g/raw_map/genome.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_1g/subset.bed:
--------------------------------------------------------------------------------
1 | seq0 0 3
2 | seq0 6 7
3 | seq0 9 12
4 | seq0 15 16
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1g/txt_freq16/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 4 2 3 0 0 0 6 0 0 0 4 6 0 0 0 2 0 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1g/txt_map/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.25 0.5 0.333333 0 0 0 0.166667 0 0 0 0.25 0.166667 0 0 0 0.5 0 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1g/wig_freq16/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 20
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1g/wig_freq16/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 4
3 | 2 2
4 | 3 3
5 | 7 6
6 | 11 4
7 | 12 6
8 | 16 2
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1g/wig_map/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 20
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_1g/wig_map/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 0.25
3 | 2 0.5
4 | 3 0.333333
5 | 7 0.166667
6 | 11 0.25
7 | 12 0.166667
8 | 16 0.5
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2a/bed_freq16/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 4 1
2 | seq0 4 5 3
3 | seq0 5 8 2
4 | seq0 8 9 3
5 | seq0 9 12 1
6 | seq0 12 13 2
7 | seq0 13 14 3
8 | seq0 14 17 2
9 | seq0 17 18 3
10 | seq0 18 19 2
11 | seq1 0 1 3
12 | seq1 1 4 1
13 | seq2 0 1 1
14 | seq2 1 2 3
15 | seq2 2 3 2
16 | seq2 3 6 1
17 | seq2 6 7 2
18 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2a/bed_map/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 4 1
2 | seq0 4 5 0.333333
3 | seq0 5 8 0.5
4 | seq0 8 9 0.333333
5 | seq0 9 12 1
6 | seq0 12 13 0.5
7 | seq0 13 14 0.333333
8 | seq0 14 17 0.5
9 | seq0 17 18 0.333333
10 | seq0 18 19 0.5
11 | seq1 0 1 0.333333
12 | seq1 1 4 1
13 | seq2 0 1 1
14 | seq2 1 2 0.333333
15 | seq2 2 3 0.5
16 | seq2 3 6 1
17 | seq2 6 7 0.5
18 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2a/csv/genome.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome.fa"
2 | 0,0;0,0
3 | 0,1;0,1
4 | 0,2;0,2
5 | 0,3;0,3
6 | 0,4;0,4|0,13|1,0
7 | 0,5;0,5|0,14
8 | 0,6;0,6|0,15
9 | 0,7;0,7|0,16
10 | 0,8;0,8|0,17|2,1
11 | 0,9;0,9
12 | 0,10;0,10
13 | 0,11;0,11
14 | 0,12;0,12|2,6
15 | 0,13;0,4|0,13|1,0
16 | 0,14;0,5|0,14
17 | 0,15;0,6|0,15
18 | 0,16;0,7|0,16
19 | 0,17;0,8|0,17|2,1
20 | 0,18;0,18|2,2
21 | 1,0;0,4|0,13|1,0
22 | 1,1;1,1
23 | 1,2;1,2
24 | 1,3;1,3
25 | 2,0;2,0
26 | 2,1;0,8|0,17|2,1
27 | 2,2;0,18|2,2
28 | 2,3;2,3
29 | 2,4;2,4
30 | 2,5;2,5
31 | 2,6;0,12|2,6
32 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2a/genome.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGACCAAAAGGT
3 | >seq1
4 | CCAACCT
5 | >seq2
6 | TAAGGTACCA
7 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2a/raw_freq16/genome.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2a/raw_freq8/genome.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2a/raw_map/genome.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_2a/raw_map/genome.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_2a/txt_freq16/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 1 1 1 1 3 2 2 2 3 1 1 1 2 3 2 2 2 3 2 0 0 0
3 | >seq1
4 | 3 1 1 1 0 0 0
5 | >seq2
6 | 1 3 2 1 1 1 2 0 0 0
7 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2a/txt_map/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 1 1 1 1 0.333333 0.5 0.5 0.5 0.333333 1 1 1 0.5 0.333333 0.5 0.5 0.5 0.333333 0.5 0 0 0
3 | >seq1
4 | 0.333333 1 1 1 0 0 0
5 | >seq2
6 | 1 0.333333 0.5 1 1 1 0.5 0 0 0
7 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2a/wig_freq16/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 7
3 | seq2 10
4 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2a/wig_freq16/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=4
2 | 1 1
3 | variableStep chrom=seq0 span=1
4 | 5 3
5 | variableStep chrom=seq0 span=3
6 | 6 2
7 | variableStep chrom=seq0 span=1
8 | 9 3
9 | variableStep chrom=seq0 span=3
10 | 10 1
11 | variableStep chrom=seq0 span=1
12 | 13 2
13 | 14 3
14 | variableStep chrom=seq0 span=3
15 | 15 2
16 | variableStep chrom=seq0 span=1
17 | 18 3
18 | 19 2
19 | variableStep chrom=seq1 span=1
20 | 1 3
21 | variableStep chrom=seq1 span=3
22 | 2 1
23 | variableStep chrom=seq2 span=1
24 | 1 1
25 | 2 3
26 | 3 2
27 | variableStep chrom=seq2 span=3
28 | 4 1
29 | variableStep chrom=seq2 span=1
30 | 7 2
31 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2a/wig_map/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 7
3 | seq2 10
4 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2a/wig_map/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=4
2 | 1 1
3 | variableStep chrom=seq0 span=1
4 | 5 0.333333
5 | variableStep chrom=seq0 span=3
6 | 6 0.5
7 | variableStep chrom=seq0 span=1
8 | 9 0.333333
9 | variableStep chrom=seq0 span=3
10 | 10 1
11 | variableStep chrom=seq0 span=1
12 | 13 0.5
13 | 14 0.333333
14 | variableStep chrom=seq0 span=3
15 | 15 0.5
16 | variableStep chrom=seq0 span=1
17 | 18 0.333333
18 | 19 0.5
19 | variableStep chrom=seq1 span=1
20 | 1 0.333333
21 | variableStep chrom=seq1 span=3
22 | 2 1
23 | variableStep chrom=seq2 span=1
24 | 1 1
25 | 2 0.333333
26 | 3 0.5
27 | variableStep chrom=seq2 span=3
28 | 4 1
29 | variableStep chrom=seq2 span=1
30 | 7 0.5
31 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2b/bed_freq16/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 3
2 | seq0 1 3 2
3 | seq0 3 4 1
4 | seq0 4 5 3
5 | seq0 5 8 2
6 | seq0 8 9 3
7 | seq0 9 10 1
8 | seq0 10 12 2
9 | seq0 12 14 3
10 | seq0 14 17 2
11 | seq0 17 19 3
12 | seq1 0 1 3
13 | seq1 1 3 1
14 | seq1 3 4 3
15 | seq2 0 1 1
16 | seq2 1 3 3
17 | seq2 3 6 2
18 | seq2 6 7 3
19 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2b/bed_map/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 0.333333
2 | seq0 1 3 0.5
3 | seq0 3 4 1
4 | seq0 4 5 0.333333
5 | seq0 5 8 0.5
6 | seq0 8 9 0.333333
7 | seq0 9 10 1
8 | seq0 10 12 0.5
9 | seq0 12 14 0.333333
10 | seq0 14 17 0.5
11 | seq0 17 19 0.333333
12 | seq1 0 1 0.333333
13 | seq1 1 3 1
14 | seq1 3 4 0.333333
15 | seq2 0 1 1
16 | seq2 1 3 0.333333
17 | seq2 3 6 0.5
18 | seq2 6 7 0.333333
19 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2b/csv/genome.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome.fa";"- strand genome.fa"
2 | 0,0;0,0;0,12|2,6
3 | 0,1;0,1;0,11
4 | 0,2;0,2;0,10
5 | 0,3;0,3;
6 | 0,4;0,4|0,13|1,0;
7 | 0,5;0,5|0,14;
8 | 0,6;0,6|0,15;
9 | 0,7;0,7|0,16;
10 | 0,8;0,8|0,17|2,1;
11 | 0,9;0,9;
12 | 0,10;0,10;0,2
13 | 0,11;0,11;0,1
14 | 0,12;0,12|2,6;0,0
15 | 0,13;0,4|0,13|1,0;
16 | 0,14;0,5|0,14;
17 | 0,15;0,6|0,15;
18 | 0,16;0,7|0,16;
19 | 0,17;0,8|0,17|2,1;
20 | 0,18;0,18|2,2;1,3
21 | 1,0;0,4|0,13|1,0;
22 | 1,1;1,1;
23 | 1,2;1,2;
24 | 1,3;1,3;0,18|2,2
25 | 2,0;2,0;
26 | 2,1;0,8|0,17|2,1;
27 | 2,2;0,18|2,2;1,3
28 | 2,3;2,3;2,5
29 | 2,4;2,4;2,4
30 | 2,5;2,5;2,3
31 | 2,6;0,12|2,6;0,0
32 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2b/genome.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGACCAAAAGGT
3 | >seq1
4 | CCAACCT
5 | >seq2
6 | TAAGGTACCA
7 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2b/raw_freq16/genome.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2b/raw_freq8/genome.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2b/raw_map/genome.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_2b/raw_map/genome.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_2b/txt_freq16/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 3 2 2 1 3 2 2 2 3 1 2 2 3 3 2 2 2 3 3 0 0 0
3 | >seq1
4 | 3 1 1 3 0 0 0
5 | >seq2
6 | 1 3 3 2 2 2 3 0 0 0
7 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2b/txt_map/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.333333 0.5 0.5 1 0.333333 0.5 0.5 0.5 0.333333 1 0.5 0.5 0.333333 0.333333 0.5 0.5 0.5 0.333333 0.333333 0 0 0
3 | >seq1
4 | 0.333333 1 1 0.333333 0 0 0
5 | >seq2
6 | 1 0.333333 0.333333 0.5 0.5 0.5 0.333333 0 0 0
7 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2b/wig_freq16/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 7
3 | seq2 10
4 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2b/wig_freq16/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 3
3 | variableStep chrom=seq0 span=2
4 | 2 2
5 | variableStep chrom=seq0 span=1
6 | 4 1
7 | 5 3
8 | variableStep chrom=seq0 span=3
9 | 6 2
10 | variableStep chrom=seq0 span=1
11 | 9 3
12 | 10 1
13 | variableStep chrom=seq0 span=2
14 | 11 2
15 | 13 3
16 | variableStep chrom=seq0 span=3
17 | 15 2
18 | variableStep chrom=seq0 span=2
19 | 18 3
20 | variableStep chrom=seq1 span=1
21 | 1 3
22 | variableStep chrom=seq1 span=2
23 | 2 1
24 | variableStep chrom=seq1 span=1
25 | 4 3
26 | variableStep chrom=seq2 span=1
27 | 1 1
28 | variableStep chrom=seq2 span=2
29 | 2 3
30 | variableStep chrom=seq2 span=3
31 | 4 2
32 | variableStep chrom=seq2 span=1
33 | 7 3
34 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2b/wig_map/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 7
3 | seq2 10
4 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2b/wig_map/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 0.333333
3 | variableStep chrom=seq0 span=2
4 | 2 0.5
5 | variableStep chrom=seq0 span=1
6 | 4 1
7 | 5 0.333333
8 | variableStep chrom=seq0 span=3
9 | 6 0.5
10 | variableStep chrom=seq0 span=1
11 | 9 0.333333
12 | 10 1
13 | variableStep chrom=seq0 span=2
14 | 11 0.5
15 | 13 0.333333
16 | variableStep chrom=seq0 span=3
17 | 15 0.5
18 | variableStep chrom=seq0 span=2
19 | 18 0.333333
20 | variableStep chrom=seq1 span=1
21 | 1 0.333333
22 | variableStep chrom=seq1 span=2
23 | 2 1
24 | variableStep chrom=seq1 span=1
25 | 4 0.333333
26 | variableStep chrom=seq2 span=1
27 | 1 1
28 | variableStep chrom=seq2 span=2
29 | 2 0.333333
30 | variableStep chrom=seq2 span=3
31 | 4 0.5
32 | variableStep chrom=seq2 span=1
33 | 7 0.333333
34 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2c/bed_freq16/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 4 1
2 | seq0 4 5 3
3 | seq0 5 8 2
4 | seq0 8 9 3
5 | seq0 9 12 1
6 | seq0 12 13 2
7 | seq0 13 14 3
8 | seq0 14 17 2
9 | seq0 17 18 3
10 | seq0 18 19 2
11 | seq1 0 1 3
12 | seq3 0 1 3
13 | seq3 1 2 2
14 | seq3 2 5 1
15 | seq3 5 6 2
16 | seq3 6 10 1
17 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2c/bed_map/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 4 1
2 | seq0 4 5 0.333333
3 | seq0 5 8 0.5
4 | seq0 8 9 0.333333
5 | seq0 9 12 1
6 | seq0 12 13 0.5
7 | seq0 13 14 0.333333
8 | seq0 14 17 0.5
9 | seq0 17 18 0.333333
10 | seq0 18 19 0.5
11 | seq1 0 1 0.333333
12 | seq3 0 1 0.333333
13 | seq3 1 2 0.5
14 | seq3 2 5 1
15 | seq3 5 6 0.5
16 | seq3 6 10 1
17 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2c/csv/genome.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome.fa"
2 | 0,0;0,0
3 | 0,1;0,1
4 | 0,2;0,2
5 | 0,3;0,3
6 | 0,4;0,4|0,13|1,0
7 | 0,5;0,5|0,14
8 | 0,6;0,6|0,15
9 | 0,7;0,7|0,16
10 | 0,8;0,8|0,17|3,0
11 | 0,9;0,9
12 | 0,10;0,10
13 | 0,11;0,11
14 | 0,12;0,12|3,5
15 | 0,13;0,4|0,13|1,0
16 | 0,14;0,5|0,14
17 | 0,15;0,6|0,15
18 | 0,16;0,7|0,16
19 | 0,17;0,8|0,17|3,0
20 | 0,18;0,18|3,1
21 | 1,0;0,4|0,13|1,0
22 | 3,0;0,8|0,17|3,0
23 | 3,1;0,18|3,1
24 | 3,2;3,2
25 | 3,3;3,3
26 | 3,4;3,4
27 | 3,5;0,12|3,5
28 | 3,6;3,6
29 | 3,7;3,7
30 | 3,8;3,8
31 | 3,9;3,9
32 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2c/genome.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGACCAAAAGGT
3 | >seq1
4 | CCAA
5 | >seq2
6 | CCA
7 | >seq3
8 | AAGGTACCATTGG
9 | >seq4
10 | CCA
11 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2c/raw_freq16/genome.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2c/raw_freq8/genome.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2c/raw_map/genome.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_2c/raw_map/genome.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_2c/txt_freq16/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 1 1 1 1 3 2 2 2 3 1 1 1 2 3 2 2 2 3 2 0 0 0
3 | >seq1
4 | 3 0 0 0
5 | >seq2
6 | 0 0 0
7 | >seq3
8 | 3 2 1 1 1 2 1 1 1 1 0 0 0
9 | >seq4
10 | 0 0 0
11 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2c/txt_map/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 1 1 1 1 0.333333 0.5 0.5 0.5 0.333333 1 1 1 0.5 0.333333 0.5 0.5 0.5 0.333333 0.5 0 0 0
3 | >seq1
4 | 0.333333 0 0 0
5 | >seq2
6 | 0 0 0
7 | >seq3
8 | 0.333333 0.5 1 1 1 0.5 1 1 1 1 0 0 0
9 | >seq4
10 | 0 0 0
11 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2c/wig_freq16/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 4
3 | seq2 3
4 | seq3 13
5 | seq4 3
6 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2c/wig_freq16/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=4
2 | 1 1
3 | variableStep chrom=seq0 span=1
4 | 5 3
5 | variableStep chrom=seq0 span=3
6 | 6 2
7 | variableStep chrom=seq0 span=1
8 | 9 3
9 | variableStep chrom=seq0 span=3
10 | 10 1
11 | variableStep chrom=seq0 span=1
12 | 13 2
13 | 14 3
14 | variableStep chrom=seq0 span=3
15 | 15 2
16 | variableStep chrom=seq0 span=1
17 | 18 3
18 | 19 2
19 | variableStep chrom=seq1 span=1
20 | 1 3
21 | variableStep chrom=seq3 span=1
22 | 1 3
23 | 2 2
24 | variableStep chrom=seq3 span=3
25 | 3 1
26 | variableStep chrom=seq3 span=1
27 | 6 2
28 | variableStep chrom=seq3 span=4
29 | 7 1
30 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2c/wig_map/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 4
3 | seq2 3
4 | seq3 13
5 | seq4 3
6 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2c/wig_map/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=4
2 | 1 1
3 | variableStep chrom=seq0 span=1
4 | 5 0.333333
5 | variableStep chrom=seq0 span=3
6 | 6 0.5
7 | variableStep chrom=seq0 span=1
8 | 9 0.333333
9 | variableStep chrom=seq0 span=3
10 | 10 1
11 | variableStep chrom=seq0 span=1
12 | 13 0.5
13 | 14 0.333333
14 | variableStep chrom=seq0 span=3
15 | 15 0.5
16 | variableStep chrom=seq0 span=1
17 | 18 0.333333
18 | 19 0.5
19 | variableStep chrom=seq1 span=1
20 | 1 0.333333
21 | variableStep chrom=seq3 span=1
22 | 1 0.333333
23 | 2 0.5
24 | variableStep chrom=seq3 span=3
25 | 3 1
26 | variableStep chrom=seq3 span=1
27 | 6 0.5
28 | variableStep chrom=seq3 span=4
29 | 7 1
30 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2d/bed_freq16/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 3
2 | seq0 1 3 2
3 | seq0 3 4 1
4 | seq0 4 5 4
5 | seq0 5 8 2
6 | seq0 8 9 3
7 | seq0 9 10 1
8 | seq0 10 12 2
9 | seq0 12 13 3
10 | seq0 13 14 4
11 | seq0 14 17 2
12 | seq0 17 18 3
13 | seq0 18 19 2
14 | seq1 0 1 4
15 | seq3 0 1 3
16 | seq3 1 5 2
17 | seq3 5 6 3
18 | seq3 6 9 1
19 | seq3 9 10 4
20 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2d/bed_map/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 0.333333
2 | seq0 1 3 0.5
3 | seq0 3 4 1
4 | seq0 4 5 0.25
5 | seq0 5 8 0.5
6 | seq0 8 9 0.333333
7 | seq0 9 10 1
8 | seq0 10 12 0.5
9 | seq0 12 13 0.333333
10 | seq0 13 14 0.25
11 | seq0 14 17 0.5
12 | seq0 17 18 0.333333
13 | seq0 18 19 0.5
14 | seq1 0 1 0.25
15 | seq3 0 1 0.333333
16 | seq3 1 5 0.5
17 | seq3 5 6 0.333333
18 | seq3 6 9 1
19 | seq3 9 10 0.25
20 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2d/csv/genome.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome.fa";"- strand genome.fa"
2 | 0,0;0,0;0,12|3,5
3 | 0,1;0,1;0,11
4 | 0,2;0,2;0,10
5 | 0,3;0,3;
6 | 0,4;0,4|0,13|1,0;3,9
7 | 0,5;0,5|0,14;
8 | 0,6;0,6|0,15;
9 | 0,7;0,7|0,16;
10 | 0,8;0,8|0,17|3,0;
11 | 0,9;0,9;
12 | 0,10;0,10;0,2
13 | 0,11;0,11;0,1
14 | 0,12;0,12|3,5;0,0
15 | 0,13;0,4|0,13|1,0;3,9
16 | 0,14;0,5|0,14;
17 | 0,15;0,6|0,15;
18 | 0,16;0,7|0,16;
19 | 0,17;0,8|0,17|3,0;
20 | 0,18;0,18|3,1;
21 | 1,0;0,4|0,13|1,0;3,9
22 | 3,0;0,8|0,17|3,0;
23 | 3,1;0,18|3,1;
24 | 3,2;3,2;3,4
25 | 3,3;3,3;3,3
26 | 3,4;3,4;3,2
27 | 3,5;0,12|3,5;0,0
28 | 3,6;3,6;
29 | 3,7;3,7;
30 | 3,8;3,8;
31 | 3,9;3,9;0,4|0,13|1,0
32 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2d/genome.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGACCAAAAGGT
3 | >seq1
4 | CCAA
5 | >seq2
6 | CCA
7 | >seq3
8 | AAGGTACCATTGG
9 | >seq4
10 | CCA
11 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2d/raw_freq16/genome.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2d/raw_freq8/genome.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2d/raw_map/genome.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_2d/raw_map/genome.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_2d/txt_freq16/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 3 2 2 1 4 2 2 2 3 1 2 2 3 4 2 2 2 3 2 0 0 0
3 | >seq1
4 | 4 0 0 0
5 | >seq2
6 | 0 0 0
7 | >seq3
8 | 3 2 2 2 2 3 1 1 1 4 0 0 0
9 | >seq4
10 | 0 0 0
11 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2d/txt_map/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.333333 0.5 0.5 1 0.25 0.5 0.5 0.5 0.333333 1 0.5 0.5 0.333333 0.25 0.5 0.5 0.5 0.333333 0.5 0 0 0
3 | >seq1
4 | 0.25 0 0 0
5 | >seq2
6 | 0 0 0
7 | >seq3
8 | 0.333333 0.5 0.5 0.5 0.5 0.333333 1 1 1 0.25 0 0 0
9 | >seq4
10 | 0 0 0
11 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2d/wig_freq16/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 4
3 | seq2 3
4 | seq3 13
5 | seq4 3
6 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2d/wig_freq16/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 3
3 | variableStep chrom=seq0 span=2
4 | 2 2
5 | variableStep chrom=seq0 span=1
6 | 4 1
7 | 5 4
8 | variableStep chrom=seq0 span=3
9 | 6 2
10 | variableStep chrom=seq0 span=1
11 | 9 3
12 | 10 1
13 | variableStep chrom=seq0 span=2
14 | 11 2
15 | variableStep chrom=seq0 span=1
16 | 13 3
17 | 14 4
18 | variableStep chrom=seq0 span=3
19 | 15 2
20 | variableStep chrom=seq0 span=1
21 | 18 3
22 | 19 2
23 | variableStep chrom=seq1 span=1
24 | 1 4
25 | variableStep chrom=seq3 span=1
26 | 1 3
27 | variableStep chrom=seq3 span=4
28 | 2 2
29 | variableStep chrom=seq3 span=1
30 | 6 3
31 | variableStep chrom=seq3 span=3
32 | 7 1
33 | variableStep chrom=seq3 span=1
34 | 10 4
35 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2d/wig_map/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 4
3 | seq2 3
4 | seq3 13
5 | seq4 3
6 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2d/wig_map/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 0.333333
3 | variableStep chrom=seq0 span=2
4 | 2 0.5
5 | variableStep chrom=seq0 span=1
6 | 4 1
7 | 5 0.25
8 | variableStep chrom=seq0 span=3
9 | 6 0.5
10 | variableStep chrom=seq0 span=1
11 | 9 0.333333
12 | 10 1
13 | variableStep chrom=seq0 span=2
14 | 11 0.5
15 | variableStep chrom=seq0 span=1
16 | 13 0.333333
17 | 14 0.25
18 | variableStep chrom=seq0 span=3
19 | 15 0.5
20 | variableStep chrom=seq0 span=1
21 | 18 0.333333
22 | 19 0.5
23 | variableStep chrom=seq1 span=1
24 | 1 0.25
25 | variableStep chrom=seq3 span=1
26 | 1 0.333333
27 | variableStep chrom=seq3 span=4
28 | 2 0.5
29 | variableStep chrom=seq3 span=1
30 | 6 0.333333
31 | variableStep chrom=seq3 span=3
32 | 7 1
33 | variableStep chrom=seq3 span=1
34 | 10 0.25
35 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2e/bed_freq16/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 3
2 | seq0 1 3 2
3 | seq0 6 7 2
4 | seq0 9 10 1
5 | seq0 10 12 2
6 | seq0 15 16 2
7 | seq3 5 6 3
8 | seq3 6 9 1
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2e/bed_map/genome.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 0.333333
2 | seq0 1 3 0.5
3 | seq0 6 7 0.5
4 | seq0 9 10 1
5 | seq0 10 12 0.5
6 | seq0 15 16 0.5
7 | seq3 5 6 0.333333
8 | seq3 6 9 1
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2e/csv/genome.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome.fa";"- strand genome.fa"
2 | 0,0;0,0;0,12|3,5
3 | 0,1;0,1;0,11
4 | 0,2;0,2;0,10
5 | 0,6;0,6|0,15;
6 | 0,9;0,9;
7 | 0,10;0,10;0,2
8 | 0,11;0,11;0,1
9 | 0,15;0,6|0,15;
10 | 3,5;0,12|3,5;0,0
11 | 3,6;3,6;
12 | 3,7;3,7;
13 | 3,8;3,8;
14 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2e/genome.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGACCAAAAGGT
3 | >seq1
4 | CCAA
5 | >seq2
6 | CCA
7 | >seq3
8 | AAGGTACCATTGG
9 | >seq4
10 | CCA
11 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2e/raw_freq16/genome.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2e/raw_freq8/genome.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2e/raw_map/genome.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_2e/raw_map/genome.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_2e/subset.bed:
--------------------------------------------------------------------------------
1 | seq0 0 3
2 | seq0 6 7
3 | seq0 9 12
4 | seq0 15 16
5 | seq1 1 3
6 | seq3 5 9
7 | seq4 1 2
8 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2e/txt_freq16/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 3 2 2 0 0 0 2 0 0 1 2 2 0 0 0 2 0 0 0 0 0 0
3 | >seq1
4 | 0 0 0 0
5 | >seq2
6 | 0 0 0
7 | >seq3
8 | 0 0 0 0 0 3 1 1 1 0 0 0 0
9 | >seq4
10 | 0 0 0
11 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2e/txt_map/genome.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.333333 0.5 0.5 0 0 0 0.5 0 0 1 0.5 0.5 0 0 0 0.5 0 0 0 0 0 0
3 | >seq1
4 | 0 0 0 0
5 | >seq2
6 | 0 0 0
7 | >seq3
8 | 0 0 0 0 0 0.333333 1 1 1 0 0 0 0
9 | >seq4
10 | 0 0 0
11 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2e/wig_freq16/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 4
3 | seq2 3
4 | seq3 13
5 | seq4 3
6 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2e/wig_freq16/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 3
3 | variableStep chrom=seq0 span=2
4 | 2 2
5 | variableStep chrom=seq0 span=1
6 | 7 2
7 | 10 1
8 | variableStep chrom=seq0 span=2
9 | 11 2
10 | variableStep chrom=seq0 span=1
11 | 16 2
12 | variableStep chrom=seq3 span=1
13 | 6 3
14 | variableStep chrom=seq3 span=3
15 | 7 1
16 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2e/wig_map/genome.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 4
3 | seq2 3
4 | seq3 13
5 | seq4 3
6 |
--------------------------------------------------------------------------------
/tests/test_cases/case_2e/wig_map/genome.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 0.333333
3 | variableStep chrom=seq0 span=2
4 | 2 0.5
5 | variableStep chrom=seq0 span=1
6 | 7 0.5
7 | 10 1
8 | variableStep chrom=seq0 span=2
9 | 11 0.5
10 | variableStep chrom=seq0 span=1
11 | 16 0.5
12 | variableStep chrom=seq3 span=1
13 | 6 0.333333
14 | variableStep chrom=seq3 span=3
15 | 7 1
16 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/bed_freq16/genome1.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 3
2 | seq0 1 2 4
3 | seq0 2 4 3
4 | seq0 4 8 5
5 | seq0 8 9 6
6 | seq0 9 10 3
7 | seq0 10 12 2
8 | seq0 12 13 3
9 | seq0 13 17 5
10 | seq0 17 18 6
11 | seq0 18 19 3
12 | seq2 0 1 6
13 | seq2 1 2 3
14 | seq2 2 3 1
15 | seq2 3 4 2
16 | seq2 4 5 1
17 | seq2 5 6 3
18 | seq2 6 10 1
19 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/bed_freq16/genome2.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 3
2 | seq0 1 2 4
3 | seq0 2 4 3
4 | seq0 4 8 5
5 | seq0 8 9 6
6 | seq0 9 10 3
7 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/bed_freq16/genome3.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 3
2 | seq0 1 2 4
3 | seq0 2 4 3
4 | seq0 4 8 5
5 | seq0 8 9 6
6 | seq0 9 10 3
7 | seq0 10 12 2
8 | seq0 12 13 3
9 | seq0 13 17 5
10 | seq0 17 18 6
11 | seq0 18 19 3
12 | seq0 19 20 4
13 | seq0 20 22 1
14 | seq0 22 23 2
15 | seq1 0 3 1
16 | seq1 3 9 2
17 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/bed_map/genome1.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 0.333333
2 | seq0 1 2 0.25
3 | seq0 2 4 0.333333
4 | seq0 4 8 0.2
5 | seq0 8 9 0.166667
6 | seq0 9 10 0.333333
7 | seq0 10 12 0.5
8 | seq0 12 13 0.333333
9 | seq0 13 17 0.2
10 | seq0 17 18 0.166667
11 | seq0 18 19 0.333333
12 | seq2 0 1 0.166667
13 | seq2 1 2 0.333333
14 | seq2 2 3 1
15 | seq2 3 4 0.5
16 | seq2 4 5 1
17 | seq2 5 6 0.333333
18 | seq2 6 10 1
19 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/bed_map/genome2.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 0.333333
2 | seq0 1 2 0.25
3 | seq0 2 4 0.333333
4 | seq0 4 8 0.2
5 | seq0 8 9 0.166667
6 | seq0 9 10 0.333333
7 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/bed_map/genome3.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 1 0.333333
2 | seq0 1 2 0.25
3 | seq0 2 4 0.333333
4 | seq0 4 8 0.2
5 | seq0 8 9 0.166667
6 | seq0 9 10 0.333333
7 | seq0 10 12 0.5
8 | seq0 12 13 0.333333
9 | seq0 13 17 0.2
10 | seq0 17 18 0.166667
11 | seq0 18 19 0.333333
12 | seq0 19 20 0.25
13 | seq0 20 22 1
14 | seq0 22 23 0.5
15 | seq1 0 3 1
16 | seq1 3 9 0.5
17 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/csv/genome1.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome1.fa";"+ strand genome2.fa";"+ strand genome3.fa"
2 | 0,0;0,0;0,0;0,0
3 | 0,1;0,1;0,1;0,1|0,19
4 | 0,2;0,2;0,2;0,2
5 | 0,3;0,3;0,3;0,3
6 | 0,4;0,4|0,13;0,4;0,4|0,13
7 | 0,5;0,5|0,14;0,5;0,5|0,14
8 | 0,6;0,6|0,15;0,6;0,6|0,15
9 | 0,7;0,7|0,16;0,7;0,7|0,16
10 | 0,8;0,8|0,17|2,0;0,8;0,8|0,17
11 | 0,9;0,9;0,9;0,9
12 | 0,10;0,10;;0,10
13 | 0,11;0,11;;0,11
14 | 0,12;0,12|2,5;;0,12
15 | 0,13;0,4|0,13;0,4;0,4|0,13
16 | 0,14;0,5|0,14;0,5;0,5|0,14
17 | 0,15;0,6|0,15;0,6;0,6|0,15
18 | 0,16;0,7|0,16;0,7;0,7|0,16
19 | 0,17;0,8|0,17|2,0;0,8;0,8|0,17
20 | 0,18;0,18|2,1;;0,18
21 | 2,0;0,8|0,17|2,0;0,8;0,8|0,17
22 | 2,1;0,18|2,1;;0,18
23 | 2,2;2,2;;
24 | 2,3;2,3;;1,6
25 | 2,4;2,4;;
26 | 2,5;0,12|2,5;;0,12
27 | 2,6;2,6;;
28 | 2,7;2,7;;
29 | 2,8;2,8;;
30 | 2,9;2,9;;
31 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/csv/genome2.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome1.fa";"+ strand genome2.fa";"+ strand genome3.fa"
2 | 0,0;0,0;0,0;0,0
3 | 0,1;0,1;0,1;0,1|0,19
4 | 0,2;0,2;0,2;0,2
5 | 0,3;0,3;0,3;0,3
6 | 0,4;0,4|0,13;0,4;0,4|0,13
7 | 0,5;0,5|0,14;0,5;0,5|0,14
8 | 0,6;0,6|0,15;0,6;0,6|0,15
9 | 0,7;0,7|0,16;0,7;0,7|0,16
10 | 0,8;0,8|0,17|2,0;0,8;0,8|0,17
11 | 0,9;0,9;0,9;0,9
12 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/csv/genome3.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome1.fa";"+ strand genome2.fa";"+ strand genome3.fa"
2 | 0,0;0,0;0,0;0,0
3 | 0,1;0,1;0,1;0,1|0,19
4 | 0,2;0,2;0,2;0,2
5 | 0,3;0,3;0,3;0,3
6 | 0,4;0,4|0,13;0,4;0,4|0,13
7 | 0,5;0,5|0,14;0,5;0,5|0,14
8 | 0,6;0,6|0,15;0,6;0,6|0,15
9 | 0,7;0,7|0,16;0,7;0,7|0,16
10 | 0,8;0,8|0,17|2,0;0,8;0,8|0,17
11 | 0,9;0,9;0,9;0,9
12 | 0,10;0,10;;0,10
13 | 0,11;0,11;;0,11
14 | 0,12;0,12|2,5;;0,12
15 | 0,13;0,4|0,13;0,4;0,4|0,13
16 | 0,14;0,5|0,14;0,5;0,5|0,14
17 | 0,15;0,6|0,15;0,6;0,6|0,15
18 | 0,16;0,7|0,16;0,7;0,7|0,16
19 | 0,17;0,8|0,17|2,0;0,8;0,8|0,17
20 | 0,18;0,18|2,1;;0,18
21 | 0,19;0,1;0,1;0,1|0,19
22 | 0,20;;;0,20
23 | 0,21;;;0,21
24 | 0,22;;;0,22|1,5
25 | 1,0;;;1,0
26 | 1,1;;;1,1
27 | 1,2;;;1,2
28 | 1,3;;;1,3|1,7
29 | 1,4;;;1,4|1,8
30 | 1,5;;;0,22|1,5
31 | 1,6;2,3;;1,6
32 | 1,7;;;1,3|1,7
33 | 1,8;;;1,4|1,8
34 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/genome1.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGACCAAAAGGT
3 | >seq1
4 | CCA
5 | >seq2
6 | AAGGTACCATTGG
7 | >seq3
8 | CCA
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/genome2.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGA
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/genome3.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGACCAAAAGGTCGTA
3 | >seq1
4 | TTTTACGTACGT
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/raw_freq16/genome1.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/raw_freq16/genome2.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/raw_freq16/genome3.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/raw_freq8/genome1.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/raw_freq8/genome2.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/raw_freq8/genome3.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/raw_map/genome1.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_3a/raw_map/genome1.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/raw_map/genome2.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_3a/raw_map/genome2.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/raw_map/genome3.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_3a/raw_map/genome3.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/txt_freq16/genome1.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 3 4 3 3 5 5 5 5 6 3 2 2 3 5 5 5 5 6 3 0 0 0
3 | >seq1
4 | 0 0 0
5 | >seq2
6 | 6 3 1 2 1 3 1 1 1 1 0 0 0
7 | >seq3
8 | 0 0 0
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/txt_freq16/genome2.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 3 4 3 3 5 5 5 5 6 3 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/txt_freq16/genome3.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 3 4 3 3 5 5 5 5 6 3 2 2 3 5 5 5 5 6 3 4 1 1 2 0 0 0
3 | >seq1
4 | 1 1 1 2 2 2 2 2 2 0 0 0
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/txt_map/genome1.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.333333 0.25 0.333333 0.333333 0.2 0.2 0.2 0.2 0.166667 0.333333 0.5 0.5 0.333333 0.2 0.2 0.2 0.2 0.166667 0.333333 0 0 0
3 | >seq1
4 | 0 0 0
5 | >seq2
6 | 0.166667 0.333333 1 0.5 1 0.333333 1 1 1 1 0 0 0
7 | >seq3
8 | 0 0 0
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/txt_map/genome2.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.333333 0.25 0.333333 0.333333 0.2 0.2 0.2 0.2 0.166667 0.333333 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/txt_map/genome3.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.333333 0.25 0.333333 0.333333 0.2 0.2 0.2 0.2 0.166667 0.333333 0.5 0.5 0.333333 0.2 0.2 0.2 0.2 0.166667 0.333333 0.25 1 1 0.5 0 0 0
3 | >seq1
4 | 1 1 1 0.5 0.5 0.5 0.5 0.5 0.5 0 0 0
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/wig_freq16/genome1.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 3
3 | seq2 13
4 | seq3 3
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/wig_freq16/genome1.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 3
3 | 2 4
4 | variableStep chrom=seq0 span=2
5 | 3 3
6 | variableStep chrom=seq0 span=4
7 | 5 5
8 | variableStep chrom=seq0 span=1
9 | 9 6
10 | 10 3
11 | variableStep chrom=seq0 span=2
12 | 11 2
13 | variableStep chrom=seq0 span=1
14 | 13 3
15 | variableStep chrom=seq0 span=4
16 | 14 5
17 | variableStep chrom=seq0 span=1
18 | 18 6
19 | 19 3
20 | variableStep chrom=seq2 span=1
21 | 1 6
22 | 2 3
23 | 3 1
24 | 4 2
25 | 5 1
26 | 6 3
27 | variableStep chrom=seq2 span=4
28 | 7 1
29 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/wig_freq16/genome2.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 13
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/wig_freq16/genome2.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 3
3 | 2 4
4 | variableStep chrom=seq0 span=2
5 | 3 3
6 | variableStep chrom=seq0 span=4
7 | 5 5
8 | variableStep chrom=seq0 span=1
9 | 9 6
10 | 10 3
11 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/wig_freq16/genome3.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 26
2 | seq1 12
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/wig_freq16/genome3.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 3
3 | 2 4
4 | variableStep chrom=seq0 span=2
5 | 3 3
6 | variableStep chrom=seq0 span=4
7 | 5 5
8 | variableStep chrom=seq0 span=1
9 | 9 6
10 | 10 3
11 | variableStep chrom=seq0 span=2
12 | 11 2
13 | variableStep chrom=seq0 span=1
14 | 13 3
15 | variableStep chrom=seq0 span=4
16 | 14 5
17 | variableStep chrom=seq0 span=1
18 | 18 6
19 | 19 3
20 | 20 4
21 | variableStep chrom=seq0 span=2
22 | 21 1
23 | variableStep chrom=seq0 span=1
24 | 23 2
25 | variableStep chrom=seq1 span=3
26 | 1 1
27 | variableStep chrom=seq1 span=6
28 | 4 2
29 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/wig_map/genome1.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 3
3 | seq2 13
4 | seq3 3
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/wig_map/genome1.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 0.333333
3 | 2 0.25
4 | variableStep chrom=seq0 span=2
5 | 3 0.333333
6 | variableStep chrom=seq0 span=4
7 | 5 0.2
8 | variableStep chrom=seq0 span=1
9 | 9 0.166667
10 | 10 0.333333
11 | variableStep chrom=seq0 span=2
12 | 11 0.5
13 | variableStep chrom=seq0 span=1
14 | 13 0.333333
15 | variableStep chrom=seq0 span=4
16 | 14 0.2
17 | variableStep chrom=seq0 span=1
18 | 18 0.166667
19 | 19 0.333333
20 | variableStep chrom=seq2 span=1
21 | 1 0.166667
22 | 2 0.333333
23 | 3 1
24 | 4 0.5
25 | 5 1
26 | 6 0.333333
27 | variableStep chrom=seq2 span=4
28 | 7 1
29 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/wig_map/genome2.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 13
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/wig_map/genome2.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 0.333333
3 | 2 0.25
4 | variableStep chrom=seq0 span=2
5 | 3 0.333333
6 | variableStep chrom=seq0 span=4
7 | 5 0.2
8 | variableStep chrom=seq0 span=1
9 | 9 0.166667
10 | 10 0.333333
11 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/wig_map/genome3.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 26
2 | seq1 12
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3a/wig_map/genome3.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=1
2 | 1 0.333333
3 | 2 0.25
4 | variableStep chrom=seq0 span=2
5 | 3 0.333333
6 | variableStep chrom=seq0 span=4
7 | 5 0.2
8 | variableStep chrom=seq0 span=1
9 | 9 0.166667
10 | 10 0.333333
11 | variableStep chrom=seq0 span=2
12 | 11 0.5
13 | variableStep chrom=seq0 span=1
14 | 13 0.333333
15 | variableStep chrom=seq0 span=4
16 | 14 0.2
17 | variableStep chrom=seq0 span=1
18 | 18 0.166667
19 | 19 0.333333
20 | 20 0.25
21 | variableStep chrom=seq0 span=2
22 | 21 1
23 | variableStep chrom=seq0 span=1
24 | 23 0.5
25 | variableStep chrom=seq1 span=3
26 | 1 1
27 | variableStep chrom=seq1 span=6
28 | 4 0.5
29 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/bed_freq16/genome1.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 2 6
2 | seq0 2 3 5
3 | seq0 3 4 3
4 | seq0 4 5 6
5 | seq0 5 6 5
6 | seq0 6 7 6
7 | seq0 7 8 5
8 | seq0 8 9 6
9 | seq0 9 10 3
10 | seq0 10 11 5
11 | seq0 11 14 6
12 | seq0 14 15 5
13 | seq0 15 16 6
14 | seq0 16 17 5
15 | seq0 17 18 6
16 | seq0 18 19 3
17 | seq2 0 1 6
18 | seq2 1 2 3
19 | seq2 2 3 2
20 | seq2 3 4 4
21 | seq2 4 5 2
22 | seq2 5 6 6
23 | seq2 6 9 1
24 | seq2 9 10 6
25 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/bed_freq16/genome2.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 2 6
2 | seq0 2 3 5
3 | seq0 3 4 3
4 | seq0 4 5 6
5 | seq0 5 6 5
6 | seq0 6 7 6
7 | seq0 7 8 5
8 | seq0 8 9 6
9 | seq0 9 10 3
10 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/bed_freq16/genome3.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 2 6
2 | seq0 2 3 5
3 | seq0 3 4 3
4 | seq0 4 5 6
5 | seq0 5 6 5
6 | seq0 6 7 6
7 | seq0 7 8 5
8 | seq0 8 9 6
9 | seq0 9 10 3
10 | seq0 10 11 5
11 | seq0 11 14 6
12 | seq0 14 15 5
13 | seq0 15 16 6
14 | seq0 16 17 5
15 | seq0 17 18 6
16 | seq0 18 19 3
17 | seq0 19 20 6
18 | seq0 20 22 1
19 | seq0 22 23 4
20 | seq1 0 1 6
21 | seq1 1 3 1
22 | seq1 3 9 4
23 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/bed_map/genome1.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 2 0.166667
2 | seq0 2 3 0.2
3 | seq0 3 4 0.333333
4 | seq0 4 5 0.166667
5 | seq0 5 6 0.2
6 | seq0 6 7 0.166667
7 | seq0 7 8 0.2
8 | seq0 8 9 0.166667
9 | seq0 9 10 0.333333
10 | seq0 10 11 0.2
11 | seq0 11 14 0.166667
12 | seq0 14 15 0.2
13 | seq0 15 16 0.166667
14 | seq0 16 17 0.2
15 | seq0 17 18 0.166667
16 | seq0 18 19 0.333333
17 | seq2 0 1 0.166667
18 | seq2 1 2 0.333333
19 | seq2 2 3 0.5
20 | seq2 3 4 0.25
21 | seq2 4 5 0.5
22 | seq2 5 6 0.166667
23 | seq2 6 9 1
24 | seq2 9 10 0.166667
25 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/bed_map/genome2.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 2 0.166667
2 | seq0 2 3 0.2
3 | seq0 3 4 0.333333
4 | seq0 4 5 0.166667
5 | seq0 5 6 0.2
6 | seq0 6 7 0.166667
7 | seq0 7 8 0.2
8 | seq0 8 9 0.166667
9 | seq0 9 10 0.333333
10 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/bed_map/genome3.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 2 0.166667
2 | seq0 2 3 0.2
3 | seq0 3 4 0.333333
4 | seq0 4 5 0.166667
5 | seq0 5 6 0.2
6 | seq0 6 7 0.166667
7 | seq0 7 8 0.2
8 | seq0 8 9 0.166667
9 | seq0 9 10 0.333333
10 | seq0 10 11 0.2
11 | seq0 11 14 0.166667
12 | seq0 14 15 0.2
13 | seq0 15 16 0.166667
14 | seq0 16 17 0.2
15 | seq0 17 18 0.166667
16 | seq0 18 19 0.333333
17 | seq0 19 20 0.166667
18 | seq0 20 22 1
19 | seq0 22 23 0.25
20 | seq1 0 1 0.166667
21 | seq1 1 3 1
22 | seq1 3 9 0.25
23 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/csv/genome1.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome1.fa";"+ strand genome2.fa";"+ strand genome3.fa";"- strand genome1.fa";"- strand genome2.fa";"- strand genome3.fa"
2 | 0,0;0,0;0,0;0,0;0,12|2,5;;0,12
3 | 0,1;0,1;0,1;0,1|0,19;0,11;;0,11
4 | 0,2;0,2;0,2;0,2;0,10;;0,10
5 | 0,3;0,3;0,3;0,3;;;
6 | 0,4;0,4|0,13;0,4;0,4|0,13;2,9;;
7 | 0,5;0,5|0,14;0,5;0,5|0,14;;;
8 | 0,6;0,6|0,15;0,6;0,6|0,15;;;1,0
9 | 0,7;0,7|0,16;0,7;0,7|0,16;;;
10 | 0,8;0,8|0,17|2,0;0,8;0,8|0,17;;;
11 | 0,9;0,9;0,9;0,9;;;
12 | 0,10;0,10;;0,10;0,2;0,2;0,2
13 | 0,11;0,11;;0,11;0,1;0,1;0,1|0,19
14 | 0,12;0,12|2,5;;0,12;0,0;0,0;0,0
15 | 0,13;0,4|0,13;0,4;0,4|0,13;2,9;;
16 | 0,14;0,5|0,14;0,5;0,5|0,14;;;
17 | 0,15;0,6|0,15;0,6;0,6|0,15;;;1,0
18 | 0,16;0,7|0,16;0,7;0,7|0,16;;;
19 | 0,17;0,8|0,17|2,0;0,8;0,8|0,17;;;
20 | 0,18;0,18|2,1;;0,18;;;
21 | 2,0;0,8|0,17|2,0;0,8;0,8|0,17;;;
22 | 2,1;0,18|2,1;;0,18;;;
23 | 2,2;2,2;;;2,4;;
24 | 2,3;2,3;;1,6;2,3;;1,6
25 | 2,4;2,4;;;2,2;;
26 | 2,5;0,12|2,5;;0,12;0,0;0,0;0,0
27 | 2,6;2,6;;;;;
28 | 2,7;2,7;;;;;
29 | 2,8;2,8;;;;;
30 | 2,9;2,9;;;0,4|0,13;0,4;0,4|0,13
31 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/csv/genome2.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome1.fa";"+ strand genome2.fa";"+ strand genome3.fa";"- strand genome1.fa";"- strand genome2.fa";"- strand genome3.fa"
2 | 0,0;0,0;0,0;0,0;0,12|2,5;;0,12
3 | 0,1;0,1;0,1;0,1|0,19;0,11;;0,11
4 | 0,2;0,2;0,2;0,2;0,10;;0,10
5 | 0,3;0,3;0,3;0,3;;;
6 | 0,4;0,4|0,13;0,4;0,4|0,13;2,9;;
7 | 0,5;0,5|0,14;0,5;0,5|0,14;;;
8 | 0,6;0,6|0,15;0,6;0,6|0,15;;;1,0
9 | 0,7;0,7|0,16;0,7;0,7|0,16;;;
10 | 0,8;0,8|0,17|2,0;0,8;0,8|0,17;;;
11 | 0,9;0,9;0,9;0,9;;;
12 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/csv/genome3.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome1.fa";"+ strand genome2.fa";"+ strand genome3.fa";"- strand genome1.fa";"- strand genome2.fa";"- strand genome3.fa"
2 | 0,0;0,0;0,0;0,0;0,12|2,5;;0,12
3 | 0,1;0,1;0,1;0,1|0,19;0,11;;0,11
4 | 0,2;0,2;0,2;0,2;0,10;;0,10
5 | 0,3;0,3;0,3;0,3;;;
6 | 0,4;0,4|0,13;0,4;0,4|0,13;2,9;;
7 | 0,5;0,5|0,14;0,5;0,5|0,14;;;
8 | 0,6;0,6|0,15;0,6;0,6|0,15;;;1,0
9 | 0,7;0,7|0,16;0,7;0,7|0,16;;;
10 | 0,8;0,8|0,17|2,0;0,8;0,8|0,17;;;
11 | 0,9;0,9;0,9;0,9;;;
12 | 0,10;0,10;;0,10;0,2;0,2;0,2
13 | 0,11;0,11;;0,11;0,1;0,1;0,1|0,19
14 | 0,12;0,12|2,5;;0,12;0,0;0,0;0,0
15 | 0,13;0,4|0,13;0,4;0,4|0,13;2,9;;
16 | 0,14;0,5|0,14;0,5;0,5|0,14;;;
17 | 0,15;0,6|0,15;0,6;0,6|0,15;;;1,0
18 | 0,16;0,7|0,16;0,7;0,7|0,16;;;
19 | 0,17;0,8|0,17|2,0;0,8;0,8|0,17;;;
20 | 0,18;0,18|2,1;;0,18;;;
21 | 0,19;0,1;0,1;0,1|0,19;0,11;;0,11
22 | 0,20;;;0,20;;;
23 | 0,21;;;0,21;;;
24 | 0,22;;;0,22|1,5;;;1,3|1,7
25 | 1,0;;;1,0;0,6|0,15;0,6;0,6|0,15
26 | 1,1;;;1,1;;;
27 | 1,2;;;1,2;;;
28 | 1,3;;;1,3|1,7;;;0,22|1,5
29 | 1,4;;;1,4|1,8;;;1,4|1,8
30 | 1,5;;;0,22|1,5;;;1,3|1,7
31 | 1,6;2,3;;1,6;2,3;;1,6
32 | 1,7;;;1,3|1,7;;;0,22|1,5
33 | 1,8;;;1,4|1,8;;;1,4|1,8
34 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/genome1.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGACCAAAAGGT
3 | >seq1
4 | CCA
5 | >seq2
6 | AAGGTACCATTGG
7 | >seq3
8 | CCA
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/genome2.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGA
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/genome3.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGACCAAAAGGTCGTA
3 | >seq1
4 | TTTTACGTACGT
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/raw_freq16/genome1.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/raw_freq16/genome2.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/raw_freq16/genome3.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/raw_freq8/genome1.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/raw_freq8/genome2.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/raw_freq8/genome3.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/raw_map/genome1.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_3b/raw_map/genome1.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/raw_map/genome2.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_3b/raw_map/genome2.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/raw_map/genome3.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_3b/raw_map/genome3.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/txt_freq16/genome1.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 6 6 5 3 6 5 6 5 6 3 5 6 6 6 5 6 5 6 3 0 0 0
3 | >seq1
4 | 0 0 0
5 | >seq2
6 | 6 3 2 4 2 6 1 1 1 6 0 0 0
7 | >seq3
8 | 0 0 0
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/txt_freq16/genome2.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 6 6 5 3 6 5 6 5 6 3 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/txt_freq16/genome3.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 6 6 5 3 6 5 6 5 6 3 5 6 6 6 5 6 5 6 3 6 1 1 4 0 0 0
3 | >seq1
4 | 6 1 1 4 4 4 4 4 4 0 0 0
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/txt_map/genome1.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.166667 0.166667 0.2 0.333333 0.166667 0.2 0.166667 0.2 0.166667 0.333333 0.2 0.166667 0.166667 0.166667 0.2 0.166667 0.2 0.166667 0.333333 0 0 0
3 | >seq1
4 | 0 0 0
5 | >seq2
6 | 0.166667 0.333333 0.5 0.25 0.5 0.166667 1 1 1 0.166667 0 0 0
7 | >seq3
8 | 0 0 0
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/txt_map/genome2.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.166667 0.166667 0.2 0.333333 0.166667 0.2 0.166667 0.2 0.166667 0.333333 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/txt_map/genome3.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.166667 0.166667 0.2 0.333333 0.166667 0.2 0.166667 0.2 0.166667 0.333333 0.2 0.166667 0.166667 0.166667 0.2 0.166667 0.2 0.166667 0.333333 0.166667 1 1 0.25 0 0 0
3 | >seq1
4 | 0.166667 1 1 0.25 0.25 0.25 0.25 0.25 0.25 0 0 0
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/wig_freq16/genome1.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 3
3 | seq2 13
4 | seq3 3
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/wig_freq16/genome1.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=2
2 | 1 6
3 | variableStep chrom=seq0 span=1
4 | 3 5
5 | 4 3
6 | 5 6
7 | 6 5
8 | 7 6
9 | 8 5
10 | 9 6
11 | 10 3
12 | 11 5
13 | variableStep chrom=seq0 span=3
14 | 12 6
15 | variableStep chrom=seq0 span=1
16 | 15 5
17 | 16 6
18 | 17 5
19 | 18 6
20 | 19 3
21 | variableStep chrom=seq2 span=1
22 | 1 6
23 | 2 3
24 | 3 2
25 | 4 4
26 | 5 2
27 | 6 6
28 | variableStep chrom=seq2 span=3
29 | 7 1
30 | variableStep chrom=seq2 span=1
31 | 10 6
32 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/wig_freq16/genome2.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 13
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/wig_freq16/genome2.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=2
2 | 1 6
3 | variableStep chrom=seq0 span=1
4 | 3 5
5 | 4 3
6 | 5 6
7 | 6 5
8 | 7 6
9 | 8 5
10 | 9 6
11 | 10 3
12 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/wig_freq16/genome3.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 26
2 | seq1 12
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/wig_freq16/genome3.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=2
2 | 1 6
3 | variableStep chrom=seq0 span=1
4 | 3 5
5 | 4 3
6 | 5 6
7 | 6 5
8 | 7 6
9 | 8 5
10 | 9 6
11 | 10 3
12 | 11 5
13 | variableStep chrom=seq0 span=3
14 | 12 6
15 | variableStep chrom=seq0 span=1
16 | 15 5
17 | 16 6
18 | 17 5
19 | 18 6
20 | 19 3
21 | 20 6
22 | variableStep chrom=seq0 span=2
23 | 21 1
24 | variableStep chrom=seq0 span=1
25 | 23 4
26 | variableStep chrom=seq1 span=1
27 | 1 6
28 | variableStep chrom=seq1 span=2
29 | 2 1
30 | variableStep chrom=seq1 span=6
31 | 4 4
32 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/wig_map/genome1.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 3
3 | seq2 13
4 | seq3 3
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/wig_map/genome1.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=2
2 | 1 0.166667
3 | variableStep chrom=seq0 span=1
4 | 3 0.2
5 | 4 0.333333
6 | 5 0.166667
7 | 6 0.2
8 | 7 0.166667
9 | 8 0.2
10 | 9 0.166667
11 | 10 0.333333
12 | 11 0.2
13 | variableStep chrom=seq0 span=3
14 | 12 0.166667
15 | variableStep chrom=seq0 span=1
16 | 15 0.2
17 | 16 0.166667
18 | 17 0.2
19 | 18 0.166667
20 | 19 0.333333
21 | variableStep chrom=seq2 span=1
22 | 1 0.166667
23 | 2 0.333333
24 | 3 0.5
25 | 4 0.25
26 | 5 0.5
27 | 6 0.166667
28 | variableStep chrom=seq2 span=3
29 | 7 1
30 | variableStep chrom=seq2 span=1
31 | 10 0.166667
32 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/wig_map/genome2.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 13
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/wig_map/genome2.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=2
2 | 1 0.166667
3 | variableStep chrom=seq0 span=1
4 | 3 0.2
5 | 4 0.333333
6 | 5 0.166667
7 | 6 0.2
8 | 7 0.166667
9 | 8 0.2
10 | 9 0.166667
11 | 10 0.333333
12 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/wig_map/genome3.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 26
2 | seq1 12
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3b/wig_map/genome3.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=2
2 | 1 0.166667
3 | variableStep chrom=seq0 span=1
4 | 3 0.2
5 | 4 0.333333
6 | 5 0.166667
7 | 6 0.2
8 | 7 0.166667
9 | 8 0.2
10 | 9 0.166667
11 | 10 0.333333
12 | 11 0.2
13 | variableStep chrom=seq0 span=3
14 | 12 0.166667
15 | variableStep chrom=seq0 span=1
16 | 15 0.2
17 | 16 0.166667
18 | 17 0.2
19 | 18 0.166667
20 | 19 0.333333
21 | 20 0.166667
22 | variableStep chrom=seq0 span=2
23 | 21 1
24 | variableStep chrom=seq0 span=1
25 | 23 0.25
26 | variableStep chrom=seq1 span=1
27 | 1 0.166667
28 | variableStep chrom=seq1 span=2
29 | 2 1
30 | variableStep chrom=seq1 span=6
31 | 4 0.25
32 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/bed_freq16/genome1.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 10 3
2 | seq0 10 13 2
3 | seq0 13 18 3
4 | seq0 18 19 2
5 | seq2 0 1 3
6 | seq2 1 2 2
7 | seq2 2 3 1
8 | seq2 3 4 2
9 | seq2 4 5 1
10 | seq2 5 6 2
11 | seq2 6 10 1
12 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/bed_freq16/genome2.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 10 3
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/bed_freq16/genome3.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 10 3
2 | seq0 10 13 2
3 | seq0 13 18 3
4 | seq0 18 19 2
5 | seq0 19 20 3
6 | seq0 20 23 1
7 | seq1 0 6 1
8 | seq1 6 7 2
9 | seq1 7 9 1
10 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/bed_map/genome1.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 10 0.333333
2 | seq0 10 13 0.5
3 | seq0 13 18 0.333333
4 | seq0 18 19 0.5
5 | seq2 0 1 0.333333
6 | seq2 1 2 0.5
7 | seq2 2 3 1
8 | seq2 3 4 0.5
9 | seq2 4 5 1
10 | seq2 5 6 0.5
11 | seq2 6 10 1
12 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/bed_map/genome2.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 10 0.333333
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/bed_map/genome3.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 10 0.333333
2 | seq0 10 13 0.5
3 | seq0 13 18 0.333333
4 | seq0 18 19 0.5
5 | seq0 19 20 0.333333
6 | seq0 20 23 1
7 | seq1 0 6 1
8 | seq1 6 7 0.5
9 | seq1 7 9 1
10 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/csv/genome1.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome1.fa";"+ strand genome2.fa";"+ strand genome3.fa"
2 | 0,0;0,0;0,0;0,0
3 | 0,1;0,1;0,1;0,1|0,19
4 | 0,2;0,2;0,2;0,2
5 | 0,3;0,3;0,3;0,3
6 | 0,4;0,4|0,13;0,4;0,4|0,13
7 | 0,5;0,5|0,14;0,5;0,5|0,14
8 | 0,6;0,6|0,15;0,6;0,6|0,15
9 | 0,7;0,7|0,16;0,7;0,7|0,16
10 | 0,8;0,8|0,17|2,0;0,8;0,8|0,17
11 | 0,9;0,9;0,9;0,9
12 | 0,10;0,10;;0,10
13 | 0,11;0,11;;0,11
14 | 0,12;0,12|2,5;;0,12
15 | 0,13;0,4|0,13;0,4;0,4|0,13
16 | 0,14;0,5|0,14;0,5;0,5|0,14
17 | 0,15;0,6|0,15;0,6;0,6|0,15
18 | 0,16;0,7|0,16;0,7;0,7|0,16
19 | 0,17;0,8|0,17|2,0;0,8;0,8|0,17
20 | 0,18;0,18|2,1;;0,18
21 | 2,0;0,8|0,17|2,0;0,8;0,8|0,17
22 | 2,1;0,18|2,1;;0,18
23 | 2,2;2,2;;
24 | 2,3;2,3;;1,6
25 | 2,4;2,4;;
26 | 2,5;0,12|2,5;;0,12
27 | 2,6;2,6;;
28 | 2,7;2,7;;
29 | 2,8;2,8;;
30 | 2,9;2,9;;
31 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/csv/genome2.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome1.fa";"+ strand genome2.fa";"+ strand genome3.fa"
2 | 0,0;0,0;0,0;0,0
3 | 0,1;0,1;0,1;0,1|0,19
4 | 0,2;0,2;0,2;0,2
5 | 0,3;0,3;0,3;0,3
6 | 0,4;0,4|0,13;0,4;0,4|0,13
7 | 0,5;0,5|0,14;0,5;0,5|0,14
8 | 0,6;0,6|0,15;0,6;0,6|0,15
9 | 0,7;0,7|0,16;0,7;0,7|0,16
10 | 0,8;0,8|0,17|2,0;0,8;0,8|0,17
11 | 0,9;0,9;0,9;0,9
12 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/csv/genome3.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome1.fa";"+ strand genome2.fa";"+ strand genome3.fa"
2 | 0,0;0,0;0,0;0,0
3 | 0,1;0,1;0,1;0,1|0,19
4 | 0,2;0,2;0,2;0,2
5 | 0,3;0,3;0,3;0,3
6 | 0,4;0,4|0,13;0,4;0,4|0,13
7 | 0,5;0,5|0,14;0,5;0,5|0,14
8 | 0,6;0,6|0,15;0,6;0,6|0,15
9 | 0,7;0,7|0,16;0,7;0,7|0,16
10 | 0,8;0,8|0,17|2,0;0,8;0,8|0,17
11 | 0,9;0,9;0,9;0,9
12 | 0,10;0,10;;0,10
13 | 0,11;0,11;;0,11
14 | 0,12;0,12|2,5;;0,12
15 | 0,13;0,4|0,13;0,4;0,4|0,13
16 | 0,14;0,5|0,14;0,5;0,5|0,14
17 | 0,15;0,6|0,15;0,6;0,6|0,15
18 | 0,16;0,7|0,16;0,7;0,7|0,16
19 | 0,17;0,8|0,17|2,0;0,8;0,8|0,17
20 | 0,18;0,18|2,1;;0,18
21 | 0,19;0,1;0,1;0,1|0,19
22 | 0,20;;;0,20
23 | 0,21;;;0,21
24 | 0,22;;;0,22|1,5
25 | 1,0;;;1,0
26 | 1,1;;;1,1
27 | 1,2;;;1,2
28 | 1,3;;;1,3|1,7
29 | 1,4;;;1,4|1,8
30 | 1,5;;;0,22|1,5
31 | 1,6;2,3;;1,6
32 | 1,7;;;1,3|1,7
33 | 1,8;;;1,4|1,8
34 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/genome1.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGACCAAAAGGT
3 | >seq1
4 | CCA
5 | >seq2
6 | AAGGTACCATTGG
7 | >seq3
8 | CCA
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/genome2.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGA
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/genome3.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGACCAAAAGGTCGTA
3 | >seq1
4 | TTTTACGTACGT
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/raw_freq16/genome1.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/raw_freq16/genome2.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/raw_freq16/genome3.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/raw_freq8/genome1.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/raw_freq8/genome2.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/raw_freq8/genome3.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/raw_map/genome1.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_3c/raw_map/genome1.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/raw_map/genome2.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_3c/raw_map/genome2.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/raw_map/genome3.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_3c/raw_map/genome3.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/txt_freq16/genome1.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 3 3 3 3 3 3 3 3 3 3 2 2 2 3 3 3 3 3 2 0 0 0
3 | >seq1
4 | 0 0 0
5 | >seq2
6 | 3 2 1 2 1 2 1 1 1 1 0 0 0
7 | >seq3
8 | 0 0 0
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/txt_freq16/genome2.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 3 3 3 3 3 3 3 3 3 3 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/txt_freq16/genome3.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 3 3 3 3 3 3 3 3 3 3 2 2 2 3 3 3 3 3 2 3 1 1 1 0 0 0
3 | >seq1
4 | 1 1 1 1 1 1 2 1 1 0 0 0
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/txt_map/genome1.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.5 0.5 0.5 0.333333 0.333333 0.333333 0.333333 0.333333 0.5 0 0 0
3 | >seq1
4 | 0 0 0
5 | >seq2
6 | 0.333333 0.5 1 0.5 1 0.5 1 1 1 1 0 0 0
7 | >seq3
8 | 0 0 0
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/txt_map/genome2.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/txt_map/genome3.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.5 0.5 0.5 0.333333 0.333333 0.333333 0.333333 0.333333 0.5 0.333333 1 1 1 0 0 0
3 | >seq1
4 | 1 1 1 1 1 1 0.5 1 1 0 0 0
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/wig_freq16/genome1.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 3
3 | seq2 13
4 | seq3 3
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/wig_freq16/genome1.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=10
2 | 1 3
3 | variableStep chrom=seq0 span=3
4 | 11 2
5 | variableStep chrom=seq0 span=5
6 | 14 3
7 | variableStep chrom=seq0 span=1
8 | 19 2
9 | variableStep chrom=seq2 span=1
10 | 1 3
11 | 2 2
12 | 3 1
13 | 4 2
14 | 5 1
15 | 6 2
16 | variableStep chrom=seq2 span=4
17 | 7 1
18 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/wig_freq16/genome2.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 13
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/wig_freq16/genome2.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=10
2 | 1 3
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/wig_freq16/genome3.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 26
2 | seq1 12
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/wig_freq16/genome3.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=10
2 | 1 3
3 | variableStep chrom=seq0 span=3
4 | 11 2
5 | variableStep chrom=seq0 span=5
6 | 14 3
7 | variableStep chrom=seq0 span=1
8 | 19 2
9 | 20 3
10 | variableStep chrom=seq0 span=3
11 | 21 1
12 | variableStep chrom=seq1 span=6
13 | 1 1
14 | variableStep chrom=seq1 span=1
15 | 7 2
16 | variableStep chrom=seq1 span=2
17 | 8 1
18 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/wig_map/genome1.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 3
3 | seq2 13
4 | seq3 3
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/wig_map/genome1.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=10
2 | 1 0.333333
3 | variableStep chrom=seq0 span=3
4 | 11 0.5
5 | variableStep chrom=seq0 span=5
6 | 14 0.333333
7 | variableStep chrom=seq0 span=1
8 | 19 0.5
9 | variableStep chrom=seq2 span=1
10 | 1 0.333333
11 | 2 0.5
12 | 3 1
13 | 4 0.5
14 | 5 1
15 | 6 0.5
16 | variableStep chrom=seq2 span=4
17 | 7 1
18 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/wig_map/genome2.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 13
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/wig_map/genome2.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=10
2 | 1 0.333333
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/wig_map/genome3.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 26
2 | seq1 12
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3c/wig_map/genome3.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=10
2 | 1 0.333333
3 | variableStep chrom=seq0 span=3
4 | 11 0.5
5 | variableStep chrom=seq0 span=5
6 | 14 0.333333
7 | variableStep chrom=seq0 span=1
8 | 19 0.5
9 | 20 0.333333
10 | variableStep chrom=seq0 span=3
11 | 21 1
12 | variableStep chrom=seq1 span=6
13 | 1 1
14 | variableStep chrom=seq1 span=1
15 | 7 0.5
16 | variableStep chrom=seq1 span=2
17 | 8 1
18 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/bed_freq16/genome1.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 18 3
2 | seq0 18 19 2
3 | seq2 0 1 3
4 | seq2 1 2 2
5 | seq2 2 3 1
6 | seq2 3 4 2
7 | seq2 4 5 1
8 | seq2 5 6 3
9 | seq2 6 9 1
10 | seq2 9 10 3
11 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/bed_freq16/genome2.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 10 3
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/bed_freq16/genome3.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 18 3
2 | seq0 18 19 2
3 | seq0 19 20 3
4 | seq0 20 23 1
5 | seq1 0 1 3
6 | seq1 1 6 1
7 | seq1 6 7 2
8 | seq1 7 9 1
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/bed_map/genome1.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 18 0.333333
2 | seq0 18 19 0.5
3 | seq2 0 1 0.333333
4 | seq2 1 2 0.5
5 | seq2 2 3 1
6 | seq2 3 4 0.5
7 | seq2 4 5 1
8 | seq2 5 6 0.333333
9 | seq2 6 9 1
10 | seq2 9 10 0.333333
11 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/bed_map/genome2.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 10 0.333333
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/bed_map/genome3.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 18 0.333333
2 | seq0 18 19 0.5
3 | seq0 19 20 0.333333
4 | seq0 20 23 1
5 | seq1 0 1 0.333333
6 | seq1 1 6 1
7 | seq1 6 7 0.5
8 | seq1 7 9 1
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/csv/genome1.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome1.fa";"+ strand genome2.fa";"+ strand genome3.fa";"- strand genome1.fa";"- strand genome2.fa";"- strand genome3.fa"
2 | 0,0;0,0;0,0;0,0;0,12|2,5;;0,12
3 | 0,1;0,1;0,1;0,1|0,19;0,11;;0,11
4 | 0,2;0,2;0,2;0,2;0,10;;0,10
5 | 0,3;0,3;0,3;0,3;;;
6 | 0,4;0,4|0,13;0,4;0,4|0,13;2,9;;
7 | 0,5;0,5|0,14;0,5;0,5|0,14;;;
8 | 0,6;0,6|0,15;0,6;0,6|0,15;;;1,0
9 | 0,7;0,7|0,16;0,7;0,7|0,16;;;
10 | 0,8;0,8|0,17|2,0;0,8;0,8|0,17;;;
11 | 0,9;0,9;0,9;0,9;;;
12 | 0,10;0,10;;0,10;0,2;0,2;0,2
13 | 0,11;0,11;;0,11;0,1;0,1;0,1|0,19
14 | 0,12;0,12|2,5;;0,12;0,0;0,0;0,0
15 | 0,13;0,4|0,13;0,4;0,4|0,13;2,9;;
16 | 0,14;0,5|0,14;0,5;0,5|0,14;;;
17 | 0,15;0,6|0,15;0,6;0,6|0,15;;;1,0
18 | 0,16;0,7|0,16;0,7;0,7|0,16;;;
19 | 0,17;0,8|0,17|2,0;0,8;0,8|0,17;;;
20 | 0,18;0,18|2,1;;0,18;;;
21 | 2,0;0,8|0,17|2,0;0,8;0,8|0,17;;;
22 | 2,1;0,18|2,1;;0,18;;;
23 | 2,2;2,2;;;2,4;;
24 | 2,3;2,3;;1,6;2,3;;1,6
25 | 2,4;2,4;;;2,2;;
26 | 2,5;0,12|2,5;;0,12;0,0;0,0;0,0
27 | 2,6;2,6;;;;;
28 | 2,7;2,7;;;;;
29 | 2,8;2,8;;;;;
30 | 2,9;2,9;;;0,4|0,13;0,4;0,4|0,13
31 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/csv/genome2.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome1.fa";"+ strand genome2.fa";"+ strand genome3.fa";"- strand genome1.fa";"- strand genome2.fa";"- strand genome3.fa"
2 | 0,0;0,0;0,0;0,0;0,12|2,5;;0,12
3 | 0,1;0,1;0,1;0,1|0,19;0,11;;0,11
4 | 0,2;0,2;0,2;0,2;0,10;;0,10
5 | 0,3;0,3;0,3;0,3;;;
6 | 0,4;0,4|0,13;0,4;0,4|0,13;2,9;;
7 | 0,5;0,5|0,14;0,5;0,5|0,14;;;
8 | 0,6;0,6|0,15;0,6;0,6|0,15;;;1,0
9 | 0,7;0,7|0,16;0,7;0,7|0,16;;;
10 | 0,8;0,8|0,17|2,0;0,8;0,8|0,17;;;
11 | 0,9;0,9;0,9;0,9;;;
12 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/csv/genome3.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome1.fa";"+ strand genome2.fa";"+ strand genome3.fa";"- strand genome1.fa";"- strand genome2.fa";"- strand genome3.fa"
2 | 0,0;0,0;0,0;0,0;0,12|2,5;;0,12
3 | 0,1;0,1;0,1;0,1|0,19;0,11;;0,11
4 | 0,2;0,2;0,2;0,2;0,10;;0,10
5 | 0,3;0,3;0,3;0,3;;;
6 | 0,4;0,4|0,13;0,4;0,4|0,13;2,9;;
7 | 0,5;0,5|0,14;0,5;0,5|0,14;;;
8 | 0,6;0,6|0,15;0,6;0,6|0,15;;;1,0
9 | 0,7;0,7|0,16;0,7;0,7|0,16;;;
10 | 0,8;0,8|0,17|2,0;0,8;0,8|0,17;;;
11 | 0,9;0,9;0,9;0,9;;;
12 | 0,10;0,10;;0,10;0,2;0,2;0,2
13 | 0,11;0,11;;0,11;0,1;0,1;0,1|0,19
14 | 0,12;0,12|2,5;;0,12;0,0;0,0;0,0
15 | 0,13;0,4|0,13;0,4;0,4|0,13;2,9;;
16 | 0,14;0,5|0,14;0,5;0,5|0,14;;;
17 | 0,15;0,6|0,15;0,6;0,6|0,15;;;1,0
18 | 0,16;0,7|0,16;0,7;0,7|0,16;;;
19 | 0,17;0,8|0,17|2,0;0,8;0,8|0,17;;;
20 | 0,18;0,18|2,1;;0,18;;;
21 | 0,19;0,1;0,1;0,1|0,19;0,11;;0,11
22 | 0,20;;;0,20;;;
23 | 0,21;;;0,21;;;
24 | 0,22;;;0,22|1,5;;;1,3|1,7
25 | 1,0;;;1,0;0,6|0,15;0,6;0,6|0,15
26 | 1,1;;;1,1;;;
27 | 1,2;;;1,2;;;
28 | 1,3;;;1,3|1,7;;;0,22|1,5
29 | 1,4;;;1,4|1,8;;;1,4|1,8
30 | 1,5;;;0,22|1,5;;;1,3|1,7
31 | 1,6;2,3;;1,6;2,3;;1,6
32 | 1,7;;;1,3|1,7;;;0,22|1,5
33 | 1,8;;;1,4|1,8;;;1,4|1,8
34 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/genome1.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGACCAAAAGGT
3 | >seq1
4 | CCA
5 | >seq2
6 | AAGGTACCATTGG
7 | >seq3
8 | CCA
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/genome2.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGA
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/genome3.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGACCAAAAGGTCGTA
3 | >seq1
4 | TTTTACGTACGT
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/raw_freq16/genome1.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/raw_freq16/genome2.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/raw_freq16/genome3.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/raw_freq8/genome1.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/raw_freq8/genome2.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/raw_freq8/genome3.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/raw_map/genome1.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_3d/raw_map/genome1.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/raw_map/genome2.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_3d/raw_map/genome2.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/raw_map/genome3.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_3d/raw_map/genome3.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/txt_freq16/genome1.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 0 0 0
3 | >seq1
4 | 0 0 0
5 | >seq2
6 | 3 2 1 2 1 3 1 1 1 3 0 0 0
7 | >seq3
8 | 0 0 0
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/txt_freq16/genome2.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 3 3 3 3 3 3 3 3 3 3 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/txt_freq16/genome3.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 1 1 1 0 0 0
3 | >seq1
4 | 3 1 1 1 1 1 2 1 1 0 0 0
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/txt_map/genome1.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.5 0 0 0
3 | >seq1
4 | 0 0 0
5 | >seq2
6 | 0.333333 0.5 1 0.5 1 0.333333 1 1 1 0.333333 0 0 0
7 | >seq3
8 | 0 0 0
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/txt_map/genome2.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0 0 0
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/txt_map/genome3.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.5 0.333333 1 1 1 0 0 0
3 | >seq1
4 | 0.333333 1 1 1 1 1 0.5 1 1 0 0 0
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/wig_freq16/genome1.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 3
3 | seq2 13
4 | seq3 3
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/wig_freq16/genome1.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=18
2 | 1 3
3 | variableStep chrom=seq0 span=1
4 | 19 2
5 | variableStep chrom=seq2 span=1
6 | 1 3
7 | 2 2
8 | 3 1
9 | 4 2
10 | 5 1
11 | 6 3
12 | variableStep chrom=seq2 span=3
13 | 7 1
14 | variableStep chrom=seq2 span=1
15 | 10 3
16 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/wig_freq16/genome2.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 13
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/wig_freq16/genome2.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=10
2 | 1 3
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/wig_freq16/genome3.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 26
2 | seq1 12
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/wig_freq16/genome3.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=18
2 | 1 3
3 | variableStep chrom=seq0 span=1
4 | 19 2
5 | 20 3
6 | variableStep chrom=seq0 span=3
7 | 21 1
8 | variableStep chrom=seq1 span=1
9 | 1 3
10 | variableStep chrom=seq1 span=5
11 | 2 1
12 | variableStep chrom=seq1 span=1
13 | 7 2
14 | variableStep chrom=seq1 span=2
15 | 8 1
16 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/wig_map/genome1.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 3
3 | seq2 13
4 | seq3 3
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/wig_map/genome1.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=18
2 | 1 0.333333
3 | variableStep chrom=seq0 span=1
4 | 19 0.5
5 | variableStep chrom=seq2 span=1
6 | 1 0.333333
7 | 2 0.5
8 | 3 1
9 | 4 0.5
10 | 5 1
11 | 6 0.333333
12 | variableStep chrom=seq2 span=3
13 | 7 1
14 | variableStep chrom=seq2 span=1
15 | 10 0.333333
16 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/wig_map/genome2.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 13
2 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/wig_map/genome2.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=10
2 | 1 0.333333
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/wig_map/genome3.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 26
2 | seq1 12
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3d/wig_map/genome3.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=18
2 | 1 0.333333
3 | variableStep chrom=seq0 span=1
4 | 19 0.5
5 | 20 0.333333
6 | variableStep chrom=seq0 span=3
7 | 21 1
8 | variableStep chrom=seq1 span=1
9 | 1 0.333333
10 | variableStep chrom=seq1 span=5
11 | 2 1
12 | variableStep chrom=seq1 span=1
13 | 7 0.5
14 | variableStep chrom=seq1 span=2
15 | 8 1
16 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/bed_freq16/genome1.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 3 3
2 | seq0 6 7 3
3 | seq0 9 12 3
4 | seq0 15 16 3
5 | seq2 5 6 3
6 | seq2 6 9 1
7 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/bed_freq16/genome3.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq6 0 1 3
2 | seq6 1 6 1
3 | seq6 6 7 2
4 | seq6 7 9 1
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/bed_map/genome1.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 3 0.333333
2 | seq0 6 7 0.333333
3 | seq0 9 12 0.333333
4 | seq0 15 16 0.333333
5 | seq2 5 6 0.333333
6 | seq2 6 9 1
7 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/bed_map/genome3.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq6 0 1 0.333333
2 | seq6 1 6 1
3 | seq6 6 7 0.5
4 | seq6 7 9 1
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/csv/genome1.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome1.fa";"+ strand genome2.fa";"+ strand genome3.fa";"- strand genome1.fa";"- strand genome2.fa";"- strand genome3.fa"
2 | 0,0;0,0;0,0;0,0;0,12|2,5;;0,12
3 | 0,1;0,1;0,1;0,1|0,19;0,11;;0,11
4 | 0,2;0,2;0,2;0,2;0,10;;0,10
5 | 0,6;0,6|0,15;0,6;0,6|0,15;;;1,0
6 | 0,9;0,9;0,9;0,9;;;
7 | 0,10;0,10;;0,10;0,2;0,2;0,2
8 | 0,11;0,11;;0,11;0,1;0,1;0,1|0,19
9 | 0,15;0,6|0,15;0,6;0,6|0,15;;;1,0
10 | 2,5;0,12|2,5;;0,12;0,0;0,0;0,0
11 | 2,6;2,6;;;;;
12 | 2,7;2,7;;;;;
13 | 2,8;2,8;;;;;
14 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/csv/genome3.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome1.fa";"+ strand genome2.fa";"+ strand genome3.fa";"- strand genome1.fa";"- strand genome2.fa";"- strand genome3.fa"
2 | 1,0;;;1,0;0,6|0,15;0,6;0,6|0,15
3 | 1,1;;;1,1;;;
4 | 1,2;;;1,2;;;
5 | 1,3;;;1,3|1,7;;;0,22|1,5
6 | 1,4;;;1,4|1,8;;;1,4|1,8
7 | 1,5;;;0,22|1,5;;;1,3|1,7
8 | 1,6;2,3;;1,6;2,3;;1,6
9 | 1,7;;;1,3|1,7;;;0,22|1,5
10 | 1,8;;;1,4|1,8;;;1,4|1,8
11 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/genome1.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGACCAAAAGGT
3 | >seq1
4 | CCA
5 | >seq2
6 | AAGGTACCATTGG
7 | >seq3
8 | CCA
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/genome2.fa:
--------------------------------------------------------------------------------
1 | >seq4
2 | TGGTCCAAAAGGA
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/genome3.fa:
--------------------------------------------------------------------------------
1 | >seq5
2 | TGGTCCAAAAGGACCAAAAGGTCGTA
3 | >seq6
4 | TTTTACGTACGT
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/raw_freq16/genome1.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/raw_freq16/genome3.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/raw_freq8/genome1.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/raw_freq8/genome3.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/raw_map/genome1.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_3e/raw_map/genome1.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/raw_map/genome3.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_3e/raw_map/genome3.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/subset.bed:
--------------------------------------------------------------------------------
1 | seq0 0 3
2 | seq0 6 7
3 | seq0 9 12
4 | seq0 15 16
5 | seq1 1 3
6 | seq2 5 9
7 | seq6 0 12
8 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/txt_freq16/genome1.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 3 3 3 0 0 0 3 0 0 3 3 3 0 0 0 3 0 0 0 0 0 0
3 | >seq1
4 | 0 0 0
5 | >seq2
6 | 0 0 0 0 0 3 1 1 1 0 0 0 0
7 | >seq3
8 | 0 0 0
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/txt_freq16/genome3.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq5
2 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 | >seq6
4 | 3 1 1 1 1 1 2 1 1 0 0 0
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/txt_map/genome1.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.333333 0.333333 0.333333 0 0 0 0.333333 0 0 0.333333 0.333333 0.333333 0 0 0 0.333333 0 0 0 0 0 0
3 | >seq1
4 | 0 0 0
5 | >seq2
6 | 0 0 0 0 0 0.333333 1 1 1 0 0 0 0
7 | >seq3
8 | 0 0 0
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/txt_map/genome3.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq5
2 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 | >seq6
4 | 0.333333 1 1 1 1 1 0.5 1 1 0 0 0
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/wig_freq16/genome1.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 3
3 | seq2 13
4 | seq3 3
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/wig_freq16/genome1.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=3
2 | 1 3
3 | variableStep chrom=seq0 span=1
4 | 7 3
5 | variableStep chrom=seq0 span=3
6 | 10 3
7 | variableStep chrom=seq0 span=1
8 | 16 3
9 | variableStep chrom=seq2 span=1
10 | 6 3
11 | variableStep chrom=seq2 span=3
12 | 7 1
13 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/wig_freq16/genome3.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq5 26
2 | seq6 12
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/wig_freq16/genome3.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq6 span=1
2 | 1 3
3 | variableStep chrom=seq6 span=5
4 | 2 1
5 | variableStep chrom=seq6 span=1
6 | 7 2
7 | variableStep chrom=seq6 span=2
8 | 8 1
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/wig_map/genome1.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 3
3 | seq2 13
4 | seq3 3
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/wig_map/genome1.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=3
2 | 1 0.333333
3 | variableStep chrom=seq0 span=1
4 | 7 0.333333
5 | variableStep chrom=seq0 span=3
6 | 10 0.333333
7 | variableStep chrom=seq0 span=1
8 | 16 0.333333
9 | variableStep chrom=seq2 span=1
10 | 6 0.333333
11 | variableStep chrom=seq2 span=3
12 | 7 1
13 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/wig_map/genome3.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq5 26
2 | seq6 12
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3e/wig_map/genome3.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq6 span=1
2 | 1 0.333333
3 | variableStep chrom=seq6 span=5
4 | 2 1
5 | variableStep chrom=seq6 span=1
6 | 7 0.5
7 | variableStep chrom=seq6 span=2
8 | 8 1
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/bed_freq16/genome1.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 3 3
2 | seq0 6 7 3
3 | seq0 9 12 3
4 | seq0 15 16 3
5 | seq2 5 6 3
6 | seq2 6 9 1
7 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/bed_freq16/genome3.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq5 0 18 3
2 | seq5 18 19 2
3 | seq5 19 20 3
4 | seq5 20 23 1
5 | seq6 0 1 3
6 | seq6 1 6 1
7 | seq6 6 7 2
8 | seq6 7 9 1
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/bed_map/genome1.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq0 0 3 0.333333
2 | seq0 6 7 0.333333
3 | seq0 9 12 0.333333
4 | seq0 15 16 0.333333
5 | seq2 5 6 0.333333
6 | seq2 6 9 1
7 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/bed_map/genome3.genmap.bedgraph:
--------------------------------------------------------------------------------
1 | seq5 0 18 0.333333
2 | seq5 18 19 0.5
3 | seq5 19 20 0.333333
4 | seq5 20 23 1
5 | seq6 0 1 0.333333
6 | seq6 1 6 1
7 | seq6 6 7 0.5
8 | seq6 7 9 1
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/csv/genome1.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome1.fa";"+ strand genome2.fa";"+ strand genome3.fa";"- strand genome1.fa";"- strand genome2.fa";"- strand genome3.fa"
2 | 0,0;0,0;0,0;0,0;0,12|2,5;;0,12
3 | 0,1;0,1;0,1;0,1|0,19;0,11;;0,11
4 | 0,2;0,2;0,2;0,2;0,10;;0,10
5 | 0,6;0,6|0,15;0,6;0,6|0,15;;;1,0
6 | 0,9;0,9;0,9;0,9;;;
7 | 0,10;0,10;;0,10;0,2;0,2;0,2
8 | 0,11;0,11;;0,11;0,1;0,1;0,1|0,19
9 | 0,15;0,6|0,15;0,6;0,6|0,15;;;1,0
10 | 2,5;0,12|2,5;;0,12;0,0;0,0;0,0
11 | 2,6;2,6;;;;;
12 | 2,7;2,7;;;;;
13 | 2,8;2,8;;;;;
14 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/csv/genome3.genmap.csv:
--------------------------------------------------------------------------------
1 | "k-mer";"+ strand genome1.fa";"+ strand genome2.fa";"+ strand genome3.fa";"- strand genome1.fa";"- strand genome2.fa";"- strand genome3.fa"
2 | 0,0;0,0;0,0;0,0;0,12|2,5;;0,12
3 | 0,1;0,1;0,1;0,1|0,19;0,11;;0,11
4 | 0,2;0,2;0,2;0,2;0,10;;0,10
5 | 0,3;0,3;0,3;0,3;;;
6 | 0,4;0,4|0,13;0,4;0,4|0,13;2,9;;
7 | 0,5;0,5|0,14;0,5;0,5|0,14;;;
8 | 0,6;0,6|0,15;0,6;0,6|0,15;;;1,0
9 | 0,7;0,7|0,16;0,7;0,7|0,16;;;
10 | 0,8;0,8|0,17|2,0;0,8;0,8|0,17;;;
11 | 0,9;0,9;0,9;0,9;;;
12 | 0,10;0,10;;0,10;0,2;0,2;0,2
13 | 0,11;0,11;;0,11;0,1;0,1;0,1|0,19
14 | 0,12;0,12|2,5;;0,12;0,0;0,0;0,0
15 | 0,13;0,4|0,13;0,4;0,4|0,13;2,9;;
16 | 0,14;0,5|0,14;0,5;0,5|0,14;;;
17 | 0,15;0,6|0,15;0,6;0,6|0,15;;;1,0
18 | 0,16;0,7|0,16;0,7;0,7|0,16;;;
19 | 0,17;0,8|0,17|2,0;0,8;0,8|0,17;;;
20 | 0,18;0,18|2,1;;0,18;;;
21 | 0,19;0,1;0,1;0,1|0,19;0,11;;0,11
22 | 0,20;;;0,20;;;
23 | 0,21;;;0,21;;;
24 | 0,22;;;0,22|1,5;;;1,3|1,7
25 | 1,0;;;1,0;0,6|0,15;0,6;0,6|0,15
26 | 1,1;;;1,1;;;
27 | 1,2;;;1,2;;;
28 | 1,3;;;1,3|1,7;;;0,22|1,5
29 | 1,4;;;1,4|1,8;;;1,4|1,8
30 | 1,5;;;0,22|1,5;;;1,3|1,7
31 | 1,6;2,3;;1,6;2,3;;1,6
32 | 1,7;;;1,3|1,7;;;0,22|1,5
33 | 1,8;;;1,4|1,8;;;1,4|1,8
34 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/genome1.fa:
--------------------------------------------------------------------------------
1 | >seq0
2 | TGGTCCAAAAGGACCAAAAGGT
3 | >seq1
4 | CCA
5 | >seq2
6 | AAGGTACCATTGG
7 | >seq3
8 | CCA
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/genome2.fa:
--------------------------------------------------------------------------------
1 | >seq4
2 | TGGTCCAAAAGGA
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/genome3.fa:
--------------------------------------------------------------------------------
1 | >seq5
2 | TGGTCCAAAAGGACCAAAAGGTCGTA
3 | >seq6
4 | TTTTACGTACGT
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/raw_freq16/genome1.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/raw_freq16/genome3.genmap.freq16:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/raw_freq8/genome1.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/raw_freq8/genome3.genmap.freq8:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/raw_map/genome1.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_3f/raw_map/genome1.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/raw_map/genome3.genmap.map:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cpockrandt/genmap/f42d1768e65e10b8b3f659d34f5f68793f7a29fb/tests/test_cases/case_3f/raw_map/genome3.genmap.map
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/subset.bed:
--------------------------------------------------------------------------------
1 | seq0 0 3
2 | seq0 6 7
3 | seq0 9 12
4 | seq0 15 16
5 | seq1 1 3
6 | seq2 5 9
7 | seq5 0 26
8 | seq6 0 12
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/txt_freq16/genome1.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 3 3 3 0 0 0 3 0 0 3 3 3 0 0 0 3 0 0 0 0 0 0
3 | >seq1
4 | 0 0 0
5 | >seq2
6 | 0 0 0 0 0 3 1 1 1 0 0 0 0
7 | >seq3
8 | 0 0 0
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/txt_freq16/genome3.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq5
2 | 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 1 1 1 0 0 0
3 | >seq6
4 | 3 1 1 1 1 1 2 1 1 0 0 0
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/txt_map/genome1.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq0
2 | 0.333333 0.333333 0.333333 0 0 0 0.333333 0 0 0.333333 0.333333 0.333333 0 0 0 0.333333 0 0 0 0 0 0
3 | >seq1
4 | 0 0 0
5 | >seq2
6 | 0 0 0 0 0 0.333333 1 1 1 0 0 0 0
7 | >seq3
8 | 0 0 0
9 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/txt_map/genome3.genmap.txt:
--------------------------------------------------------------------------------
1 | >seq5
2 | 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.5 0.333333 1 1 1 0 0 0
3 | >seq6
4 | 0.333333 1 1 1 1 1 0.5 1 1 0 0 0
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/wig_freq16/genome1.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 3
3 | seq2 13
4 | seq3 3
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/wig_freq16/genome1.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=3
2 | 1 3
3 | variableStep chrom=seq0 span=1
4 | 7 3
5 | variableStep chrom=seq0 span=3
6 | 10 3
7 | variableStep chrom=seq0 span=1
8 | 16 3
9 | variableStep chrom=seq2 span=1
10 | 6 3
11 | variableStep chrom=seq2 span=3
12 | 7 1
13 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/wig_freq16/genome3.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq5 26
2 | seq6 12
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/wig_freq16/genome3.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq5 span=18
2 | 1 3
3 | variableStep chrom=seq5 span=1
4 | 19 2
5 | 20 3
6 | variableStep chrom=seq5 span=3
7 | 21 1
8 | variableStep chrom=seq6 span=1
9 | 1 3
10 | variableStep chrom=seq6 span=5
11 | 2 1
12 | variableStep chrom=seq6 span=1
13 | 7 2
14 | variableStep chrom=seq6 span=2
15 | 8 1
16 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/wig_map/genome1.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq0 22
2 | seq1 3
3 | seq2 13
4 | seq3 3
5 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/wig_map/genome1.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq0 span=3
2 | 1 0.333333
3 | variableStep chrom=seq0 span=1
4 | 7 0.333333
5 | variableStep chrom=seq0 span=3
6 | 10 0.333333
7 | variableStep chrom=seq0 span=1
8 | 16 0.333333
9 | variableStep chrom=seq2 span=1
10 | 6 0.333333
11 | variableStep chrom=seq2 span=3
12 | 7 1
13 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/wig_map/genome3.genmap.chrom.sizes:
--------------------------------------------------------------------------------
1 | seq5 26
2 | seq6 12
3 |
--------------------------------------------------------------------------------
/tests/test_cases/case_3f/wig_map/genome3.genmap.wig:
--------------------------------------------------------------------------------
1 | variableStep chrom=seq5 span=18
2 | 1 0.333333
3 | variableStep chrom=seq5 span=1
4 | 19 0.5
5 | 20 0.333333
6 | variableStep chrom=seq5 span=3
7 | 21 1
8 | variableStep chrom=seq6 span=1
9 | 1 0.333333
10 | variableStep chrom=seq6 span=5
11 | 2 1
12 | variableStep chrom=seq6 span=1
13 | 7 0.5
14 | variableStep chrom=seq6 span=2
15 | 8 1
16 |
--------------------------------------------------------------------------------
/tests/tests.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include
4 |
5 | #include
6 | #include
7 | #include
8 |
9 | static constexpr bool outputProgress = false;
10 |
11 | #include "../src/common.hpp"
12 | #include "../src/algo.hpp"
13 |
14 | using namespace seqan;
15 |
16 | std::mt19937_64 rng;
17 |
18 | template
19 | unsigned GemMapFastFMIndexConfig::SAMPLING = 10;
20 |
21 | template
22 | void randomText(String & string, TRng & rng, uint64_t const length)
23 | {
24 | std::uniform_int_distribution distr(0, ValueSize::VALUE - 1);
25 | resize(string, length);
26 | for (uint64_t i = 0; i < length; ++i)
27 | string[i] = TChar(distr(rng));
28 | }
29 |
30 | template
31 | inline void
32 | _trivialBacktracking(TIndexIt indexIt, TNeedle const & needle, TNeedleIt needleIt,
33 | TThreshold errors, TThreshold threshold, uint64_t & frequency, TDistance)
34 | {
35 | constexpr bool isDna5 = std::is_same::Type, Dna5>::value;
36 |
37 | // Exact case.
38 | if (errors == threshold)
39 | {
40 | while (!atEnd(needleIt, needle))
41 | {
42 | if ((isDna5 && (*needleIt == Dna5('N'))) || !goDown(indexIt, *needleIt))
43 | break;
44 | ++needleIt;
45 | }
46 | if (atEnd(needleIt, needle))
47 | frequency += countOccurrences(indexIt);
48 | }
49 | // Approximate case.
50 | else if (errors < threshold)
51 | {
52 | // Base case.
53 | if (atEnd(needleIt, needle))
54 | {
55 | frequency += countOccurrences(indexIt);
56 | }
57 | // Recursive case.
58 | else
59 | {
60 | // Insertion.
61 | SEQAN_IF_CONSTEXPR (IsSameType::VALUE)
62 | {
63 | _trivialBacktracking(indexIt, needle, needleIt + 1,
64 | static_cast(errors + 1), threshold, frequency, TDistance());
65 | }
66 |
67 | if (goDown(indexIt))
68 | {
69 | do
70 | {
71 | // Mismatch.
72 | TThreshold delta = (isDna5 && *needleIt == Dna5('N')) || !ordEqual(parentEdgeLabel(indexIt), *needleIt);
73 | _trivialBacktracking(indexIt, needle, needleIt + 1,
74 | static_cast(errors + delta), threshold, frequency, TDistance());
75 |
76 | // Deletion.
77 | SEQAN_IF_CONSTEXPR (IsSameType::VALUE)
78 | {
79 | _trivialBacktracking(indexIt, needle, needleIt,
80 | static_cast(errors + 1), threshold, frequency, TDistance());
81 | }
82 | }
83 | while (goRight(indexIt));
84 | }
85 | }
86 | }
87 | }
88 |
89 | template
90 | uint64_t trivialBacktracking(TIndex & index, TNeedle const & needle, TThreshold threshold, TDistance const & /*tag*/)
91 | {
92 | typedef typename Iterator >::Type TIndexIt;
93 | typedef typename Iterator::Type TNeedleIt;
94 |
95 | TIndexIt indexIt(index);
96 | TNeedleIt needleIt = begin(needle, Standard());
97 | TThreshold errors = 0;
98 |
99 | uint64_t frequency = 0;
100 | _trivialBacktracking(indexIt.revIter, needle, needleIt, errors, threshold, frequency, TDistance());
101 | return frequency;
102 | }
103 |
104 | template
105 | inline void computeMappabilityTrivial(TIndex & index, TContainer & c, SearchParams const & searchParams, unsigned const errors)
106 | {
107 | using value_type = typename TContainer::value_type;
108 |
109 | constexpr uint64_t max_val = std::numeric_limits::max();
110 |
111 | auto const & text = indexText(index);
112 |
113 | uint64_t global_pos = 0;
114 | for (uint64_t seq = 0; seq < length(text); ++seq)
115 | {
116 | for (uint64_t i = 0; i < length(text[seq]) - searchParams.length + 1; ++i, ++global_pos)
117 | {
118 | auto const & needle = infix(text[seq], i, i + searchParams.length);
119 |
120 | value_type hits = std::min(trivialBacktracking(index, needle, errors, TDistance()), max_val);
121 | if (searchParams.revCompl && hits < max_val)
122 | {
123 | String needleRevCompl(needle);
124 | reverseComplement(needleRevCompl);
125 | hits = std::min(hits + trivialBacktracking(index, needleRevCompl, errors, TDistance()), max_val);
126 | }
127 | c[global_pos] = hits;
128 | }
129 | global_pos += searchParams.length - 1;
130 | }
131 | }
132 |
133 | template
134 | void test(uint64_t const nbrChromosomes, uint64_t const lengthChromosomes, uint64_t const iterations)
135 | {
136 | using TIndexConfig = TBiIndexConfig>;
137 |
138 | for (uint64_t it = 0; it < iterations; ++it)
139 | {
140 | typedef StringSet, Owner > > TGenome;
141 | TGenome genome;
142 |
143 | // TODO: replace with stringSetLimits
144 | StringSet chromLengths, chromCumLengths; // needed for localization and reset
145 |
146 | uint64_t cumLength = 0;
147 | appendValue(chromCumLengths, 0);
148 | for (uint64_t ss = 0; ss < nbrChromosomes; ++ss)
149 | {
150 | String chr;
151 | randomText(chr, rng, lengthChromosomes);
152 | appendValue(genome, chr);
153 | appendValue(chromLengths, lengthChromosomes);
154 | cumLength += lengthChromosomes;
155 | appendValue(chromCumLengths, cumLength);
156 | }
157 | // auto const chromLengths = stringSetLimits(genome);
158 |
159 | Index index(genome);
160 | indexCreate(index, FibreSALF());
161 | auto const & text = indexText(index).concat;
162 |
163 | uint64_t const totalLength = seqan::length(text);
164 | std::vector frequencyGenMap(totalLength), frequencyTrivial(totalLength);
165 |
166 | uint64_t const minK = errors + 1 + (errors >= 2);
167 |
168 | for (uint64_t k = minK; k <= 8; ++k)
169 | {
170 | SearchParams searchParams;
171 | searchParams.length = k;
172 | searchParams.threads = omp_get_num_threads();
173 | searchParams.revCompl = rng() % 2;
174 | searchParams.excludePseudo = false;
175 |
176 | frequencyTrivial.assign(totalLength, 0);
177 | computeMappabilityTrivial(index, frequencyTrivial, searchParams, errors);
178 |
179 | // iterate over all possible overlap values
180 | for (uint64_t overlap = minK; overlap <= k; ++overlap)
181 | {
182 | searchParams.overlap = overlap;
183 | // std::cout << "E: " << errors << ", K: " << k << ", O: " << overlap << std::endl;
184 |
185 | using TLocation = Pair;
186 | std::map, std::vector > > locations;
187 | std::vector mappingSeqIdFile(0);
188 |
189 | frequencyGenMap.assign(totalLength, 0);
190 | std::vector > intervals;
191 | bool completeSameKmers;
192 | computeMappability(index, text, frequencyGenMap, searchParams, false /*dir*/, chromLengths, chromCumLengths,
193 | locations, mappingSeqIdFile, intervals, completeSameKmers, 1/*currentFileNo*/, 1/*totalFileNo*/, false /*csvComputation*/);
194 |
195 | EXPECT_EQ(frequencyTrivial, frequencyGenMap);
196 | // if (frequencyTrivial != frequencyGenMap)
197 | // {
198 | // std::cerr << "K: " << k << ", Overlap: " << overlap << '\n';
199 | // for (uint64_t ss = 0; ss < nbrChromosomes; ++ss)
200 | // std::cerr << genome[ss] << '\n';
201 | // std::copy(frequencyTrivial.begin(), frequencyTrivial.end(), std::ostream_iterator(std::cerr, " "));
202 | // std::cerr << '\n';
203 | // std::copy(frequencyGenMap.begin(), frequencyGenMap.end(), std::ostream_iterator(std::cerr, " "));
204 | // std::cerr << '\n';
205 | // exit(1);
206 | // }
207 | }
208 | }
209 | }
210 | }
211 |
212 | TEST(GenMapAlgo, exact_dna4)
213 | {
214 | test(3, 1000, 1);
215 | }
216 |
217 | TEST(GenMapAlgo, hamming_1_dna4)
218 | {
219 | test(3, 1000, 1);
220 | }
221 |
222 | TEST(GenMapAlgo, hamming_2_dna4)
223 | {
224 | test(3, 1000, 1);
225 | }
226 |
227 | TEST(GenMapAlgo, hamming_3_dna4)
228 | {
229 | test(3, 1000, 1);
230 | }
231 |
232 | TEST(GenMapAlgo, hamming_4_dna4)
233 | {
234 | test(3, 1000, 1);
235 | }
236 |
237 | TEST(GenMapAlgo, exact_dna5)
238 | {
239 | test(3, 1000, 1);
240 | }
241 |
242 | TEST(GenMapAlgo, hamming_1_dna5)
243 | {
244 | test(3, 1000, 1);
245 | }
246 |
247 | TEST(GenMapAlgo, hamming_2_dna5)
248 | {
249 | test(3, 1000, 1);
250 | }
251 |
252 | TEST(GenMapAlgo, hamming_3_dna5)
253 | {
254 | test(3, 1000, 1);
255 | }
256 |
257 | TEST(GenMapAlgo, hamming_4_dna5)
258 | {
259 | test(3, 1000, 1);
260 | }
261 |
262 | int main(int argc, char ** argv)
263 | {
264 | auto now = std::chrono::system_clock::now();
265 | auto seed = std::chrono::duration_cast(now.time_since_epoch()).count();
266 | rng.seed(seed);
267 | std::cout << "Seed: " << seed << '\n';
268 |
269 | ::testing::InitGoogleTest(&argc, argv);
270 | return RUN_ALL_TESTS();
271 | }
272 |
--------------------------------------------------------------------------------
/tests/tests.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh -xe
2 |
3 | errorout()
4 | {
5 | echo $1 #> /dev/stderr
6 | [ "$MYTMP" = "" ] || rm -r "${MYTMP}"
7 | exit 1
8 | }
9 |
10 | [ $# -ne 6 ] && exit 1
11 |
12 | SRCDIR=$1
13 | BINDIR=$2
14 | CASE=$3
15 | INDEX_FLAGS=$4
16 | FLAGS=$5
17 | EXPECTED_FOLDER=$6
18 |
19 | # Add -S argument for computing a subset of the mappability vector if a bed file exists
20 | if [ -f "${SRCDIR}/tests/test_cases/case_${CASE}/subset.bed" ]; then
21 | FLAGS="$FLAGS -S ${SRCDIR}/tests/test_cases/case_${CASE}/subset.bed"
22 | fi
23 |
24 | # check existence of commands
25 | which mktemp diff > /dev/null
26 | [ $? -eq 0 ] || errorout "Not all required programs found. Needs: mktemp diff"
27 |
28 | MYTMP="$(mktemp -q -d -t "$(basename "$0").XXXXXX" 2>/dev/null || mktemp -q -d)"
29 | [ $? -eq 0 ] || errorout "Could not create tmp"
30 |
31 | mkdir -p "${MYTMP}/output"
32 | [ $? -eq 0 ] || errorout "Could not create folder in tmp"
33 |
34 | cd "$MYTMP"
35 | [ $? -eq 0 ] || errorout "Could not cd to tmp"
36 |
37 | if [ "$INDEX_FLAGS" = "-FD" ]; then
38 | ${BINDIR}/bin/genmap index -FD "${SRCDIR}/tests/test_cases/case_${CASE}" -I "${MYTMP}/index" -A skew
39 | else
40 | ${BINDIR}/bin/genmap index -F "${SRCDIR}/tests/test_cases/case_${CASE}/genome.fa" -I "${MYTMP}/index" -A divsufsort
41 | fi
42 |
43 | ${BINDIR}/bin/genmap map -I "${MYTMP}/index" -O "${MYTMP}/output" ${FLAGS}
44 | diff -r --strip-trailing-cr "${SRCDIR}/tests/test_cases/case_${CASE}/${EXPECTED_FOLDER}" "${MYTMP}/output"
45 | [ $? -eq 0 ] || errorout "Files are not equal!"
46 |
47 | # case 1e and 1f do not allow a larger overlap since E=1 and K=3
48 | if [ "$CASE" != "1e" ] && [ "$CASE" != "1f" ] && [ "$CASE" != "1g" ]; then
49 | ${BINDIR}/bin/genmap map -I "${MYTMP}/index" -O "${MYTMP}/output" ${FLAGS} -xo 1
50 | diff -r --strip-trailing-cr "${SRCDIR}/tests/test_cases/case_${CASE}/${EXPECTED_FOLDER}" "${MYTMP}/output"
51 | [ $? -eq 0 ] || errorout "Files are not equal!"
52 | fi
53 |
54 | testnumber=`echo ${CASE} | cut -c1-1` # 1g -> 1 (retrieves the first character of ${CASE})
55 |
56 | if [ "$testnumber" != "1" ]; then
57 | ${BINDIR}/bin/genmap map -I "${MYTMP}/index" -O "${MYTMP}/output" ${FLAGS} -xo 2
58 | diff -r --strip-trailing-cr "${SRCDIR}/tests/test_cases/case_${CASE}/${EXPECTED_FOLDER}" "${MYTMP}/output"
59 | [ $? -eq 0 ] || errorout "Files are not equal!"
60 | fi
61 |
62 | # gunzip < "${SRCDIR}/tests/db_${SALPHIN}.fasta.gz" > db.fasta
63 | # [ $? -eq 0 ] || errorout "Could not unzip database file"
64 | #
65 | # ${BINDIR}/bin/lambda_indexer -d db.fasta -di ${DI} -p ${PROG}
66 | # [ $? -eq 0 ] || errorout "Could not run the indexer"
67 | #
68 | # openssl md5 * > md5sums
69 | # [ $? -eq 0 ] || errorout "Could not run md5 or md5sums"
70 | #
71 | # gunzip < "${SRCDIR}/tests/db_${SALPH}_${DI}.md5sums.gz" > md5sums.orig
72 | # [ $? -eq 0 ] || errorout "Could not unzip md5sums.orig"
73 | #
74 | # [ "$(cat md5sums)" = "$(cat md5sums.orig)" ] || errorout "$(diff -u md5sums md5sums.orig)"
75 | #
76 | # ## INDEXER tests end here
77 | # if [ "$MODE" = "MKINDEX" ]; then
78 | # rm -r "${MYTMP}"
79 | # exit 0
80 | # fi
81 | #
82 | # gunzip < "${SRCDIR}/tests/queries_${QALPHIN}.fasta.gz" > queries.fasta
83 | # [ $? -eq 0 ] || errorout "Could not unzip queries.fasta"
84 | #
85 | # ${BINDIR}/bin/lambda -d db.fasta -di ${DI} -p ${PROG} -q queries.fasta -t 1 --version-to-outputfile off \
86 | # -o output_${PROG}_${DI}.${EXTENSION}
87 | # [ $? -eq 0 ] || errorout "Search failed."
88 | #
89 | # [ "$(openssl md5 output_${PROG}_${DI}.${EXTENSION})" = \
90 | # "$(zgrep "(output_${PROG}_${DI}.${EXTENSION})" "${SRCDIR}/tests/search_test_outfile.md5sums.gz")" ] || errorout "MD5 mismatch of output file"
91 |
92 | rm -r "${MYTMP}"
93 | [ $? -eq 0 ] || errorout "Could not remove tmp"
94 |
--------------------------------------------------------------------------------