[med-svn] [kmc] 01/01: This time it might actually work. Sorry for all the pushes
Jorge Soares
jssoares-guest at moszumanska.debian.org
Tue Nov 18 14:28:05 UTC 2014
This is an automated email from the git hooks/post-receive script.
jssoares-guest pushed a commit to branch master
in repository kmc.
commit cd82d8b2c3aa54276f9f0203532013dc04800d21
Author: Jorge Soares <j.s.soares at gmail.com>
Date: Tue Nov 18 14:27:30 2014 +0000
This time it might actually work. Sorry for all the pushes
---
debian/changelog | 5 +
debian/compat | 1 +
debian/control | 39 ++++++
debian/copyright | 23 ++++
debian/kmc.install | 1 +
debian/kmc.manpages | 1 +
...-libz2-include-statements-to-native-debian-libs | 30 +++++
...hange-kmc-zlib-and-libz2-to-deb-zlib-and-libbz2 | 18 +++
debian/patches/debian-dependent-makefile.patch | 36 ++++++
.../remove-all-zlib-libz2-include-statements | 15 +++
.../patches/remove-call-to-asmlib-sub-in-kbsorter | 16 +++
.../remove-embedded-libraries-from-makefile | 26 ++++
.../remove-gz-and-bz-flags-from-compilation | 13 ++
debian/patches/remove-references-to-asmlib | 44 +++++++
.../patches/remove-use-of-asmlib-subroutines.patch | 141 +++++++++++++++++++++
debian/patches/removing-static-option-in-makefile | 1 +
debian/patches/series | 6 +
debian/rules | 25 ++++
debian/source/format | 1 +
debian/upstream/metadata | 12 ++
debian/usage_to_man | 140 ++++++++++++++++++++
debian/watch | 5 +
22 files changed, 599 insertions(+)
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..d941639
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+kmc (2.0+dfsg-1) unstable; urgency=medium
+
+ * Initial release (Closes: #1234)
+
+ -- Jorge Soares <j.s.soares at gmail.com> Mon, 03 Nov 2014 14:46:54 +0200
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..365cc7a
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,39 @@
+Source: kmc
+Maintainer: Debian Med Packaging Team <debian-med-packaging at lists.alioth.debian.org>
+Uploaders: Andreas Tille <tille at debian.org>,
+ Jorge Soares <j.s.soares at gmail.com>
+Section: science
+Priority: optional
+Build-Depends: debhelper (>= 9),
+ zlib1g-dev,
+ libbz2-dev,
+ libboost1.54-all-dev,
+ help2man,
+ d-shlibs
+Standards-Version: 3.9.6
+Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/kmc.git
+Homepage: https://github.com/js21/kmc
+
+Package: kmc
+Architecture: any
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Description: Designed for counting k-mers (sequences of consecutive k symbols)
+ in a set of reads K-mer counting is important for many bioinformatics
+ applications, e.g., developing de Bruijn graph assemblers.
+ Building de Bruijn graphs is a commonly used approach for genome
+ assembly with data from second-generation sequencer.
+ Unfortunately, sequencing errors (frequent in practice)
+ results in huge memory requirements for de Bruijn graphs, as well
+ as long build time. One of the popular approaches to handle this
+ problem is filtering the input reads in such a way that unique k-mers
+ (very likely obtained as a result of an error) are discarded.
+ .
+ Thus, KMC scans the raw reads and produces a compact representation
+ of all non-unique reads accompanied with number of their occurrences.
+ The algorithm implemented in KMC makes use mostly of disk space rather
+ than RAM, which allows one to use KMC even on rather typical personal
+ computers. When run at high-end server (what is necessary for KMC
+ competitors) it outperforms them in both memory requirements and
+ speed of computation. The disk space necessary for computation is in
+ order of the size of input data (usually it is smaller).
\ No newline at end of file
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..2f76f2e
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,23 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: KMC
+Source: https://github.com/js21/kmc
+Files-Excluded: kmer_counter/libs/*
+
+Files: *
+Copyright: © 2012-2013 username <mail address>
+License: GPL-3
+ This package is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
diff --git a/debian/kmc.install b/debian/kmc.install
new file mode 100644
index 0000000..efa6632
--- /dev/null
+++ b/debian/kmc.install
@@ -0,0 +1 @@
+bin/*
\ No newline at end of file
diff --git a/debian/kmc.manpages b/debian/kmc.manpages
new file mode 100644
index 0000000..bf519d7
--- /dev/null
+++ b/debian/kmc.manpages
@@ -0,0 +1 @@
+man/*.1
diff --git a/debian/patches/change-all-zlib-libz2-include-statements-to-native-debian-libs b/debian/patches/change-all-zlib-libz2-include-statements-to-native-debian-libs
new file mode 100644
index 0000000..0355fbe
--- /dev/null
+++ b/debian/patches/change-all-zlib-libz2-include-statements-to-native-debian-libs
@@ -0,0 +1,30 @@
+Description: zlib and libbz2 are distributed with the KMC.
+This patch alters the include statments for these libraries,
+using the debian libs instead.--- a/kmer_counter/fastq_reader.h
++++ b/kmer_counter/fastq_reader.h
+@@ -16,8 +16,8 @@
+ #include <stdio.h>
+ #include <iostream>
+
+-#include "libs/zlib.h"
+-#include "libs/bzlib.h"
++#include "zlib.h"
++#include "bzlib.h"
+
+
+ using namespace std;
+Index: b/kmer_counter/fastq_reader.h
+===================================================================
+--- a/kmer_counter/fastq_reader.h
++++ b/kmer_counter/fastq_reader.h
+@@ -16,8 +16,8 @@
+ #include <stdio.h>
+ #include <iostream>
+
+-#include "libs/zlib.h"
+-#include "libs/bzlib.h"
++#include "zlib.h"
++#include "bzlib.h"
+
+
+ using namespace std;
diff --git a/debian/patches/change-kmc-zlib-and-libz2-to-deb-zlib-and-libbz2 b/debian/patches/change-kmc-zlib-and-libz2-to-deb-zlib-and-libbz2
new file mode 100644
index 0000000..80091d2
--- /dev/null
+++ b/debian/patches/change-kmc-zlib-and-libz2-to-deb-zlib-and-libbz2
@@ -0,0 +1,18 @@
+Description: KMC distributes zlib and libbz2.
+This changes the usage of the distributed libs
+and makes KMC use the native debian libs
+Index: b/kmer_counter/fastq_reader.h
+===================================================================
+--- a/kmer_counter/fastq_reader.h
++++ b/kmer_counter/fastq_reader.h
+@@ -16,8 +16,8 @@
+ #include <stdio.h>
+ #include <iostream>
+
+-#include "libs/zlib.h"
+-#include "libs/bzlib.h"
++#include "zlib.h"
++#include "bzlib.h"
+
+
+ using namespace std;
diff --git a/debian/patches/debian-dependent-makefile.patch b/debian/patches/debian-dependent-makefile.patch
new file mode 100644
index 0000000..8bb32d4
--- /dev/null
+++ b/debian/patches/debian-dependent-makefile.patch
@@ -0,0 +1,36 @@
+Description: Removes all local dependencies from the makefile and
+establishes links to the respective debian packages
+Index: b/makefile
+===================================================================
+--- a/makefile
++++ b/makefile
+@@ -1,7 +1,7 @@
+ all: kmc
+-
+-BOOST_LIB = /boost/boost_1_55_0/stage/lib
+-BOOST_H = /boost/boost_1_55_0
++
++BOOST_LIB = /usr/lib/x86_64-linux-gnu
++BOOST_H = /usr/include/boost
+
+ KMC_BIN_DIR = bin
+ KMC_MAIN_DIR = kmer_counter
+@@ -13,15 +13,15 @@ CFLAGS = -Wall -O3 -m64 -static -fopenmp
+ CLINK = -lm -static -fopenmp -O3 -std=c++11
+
+ .cpp.o:
+- $(CC) $(CFLAGS) -c $< -o $@
++ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
+
+ kmc: $(KMC_MAIN_DIR)/kmer_counter.o $(KMC_MAIN_DIR)/mmer.o $(KMC_MAIN_DIR)/mem_disk_file.o $(KMC_MAIN_DIR)/rev_byte.o $(KMC_MAIN_DIR)/fastq_reader.o $(KMC_MAIN_DIR)/timer.o $(KMC_MAIN_DIR)/radix.o $(KMC_MAIN_DIR)/kb_completer.o $(KMC_MAIN_DIR)/kb_storer.o $(KMC_MAIN_DIR)/kmer.o
+ -mkdir -p $(KMC_BIN_DIR)
+- $(CC) $(CLINK) -o $(KMC_BIN_DIR)/$@ $(KMC_MAIN_DIR)/kmer_counter.o $(KMC_MAIN_DIR)/mem_disk_file.o $(KMC_MAIN_DIR)/rev_byte.o $(KMC_MAIN_DIR)/mmer.o $(KMC_MAIN_DIR)/fastq_reader.o $(KMC_MAIN_DIR)/timer.o $(KMC_MAIN_DIR)/radix.o $(KMC_MAIN_DIR)/kb_completer.o $(KMC_MAIN_DIR)/kb_storer.o $(KMC_MAIN_DIR)/kmer.o $(KMC_MAIN_DIR)/libs/alibelf64.a $(KMC_MAIN_DIR)/libs/libz.a $(KMC_MAIN_DIR)/libs/libbz2.a $(BOOST_LIB)/libboost_thread.a $(BOOST_LIB)/libboost_filesystem.a $(BOOST_LIB)/libboost_system.a
++ $(CC) $(CPPFLAGS) $(CLINK) -o $(KMC_BIN_DIR)/$@ $(KMC_MAIN_DIR)/kmer_counter.o $(KMC_MAIN_DIR)/mem_disk_file.o $(KMC_MAIN_DIR)/rev_byte.o $(KMC_MAIN_DIR)/mmer.o $(KMC_MAIN_DIR)/fastq_reader.o $(KMC_MAIN_DIR)/timer.o $(KMC_MAIN_DIR)/radix.o $(KMC_MAIN_DIR)/kb_completer.o $(KMC_MAIN_DIR)/kb_storer.o $(KMC_MAIN_DIR)/kmer.o $(KMC_MAIN_DIR)/libs/alibelf64.a $(KMC_MAIN_DIR)/libs/libz.a $(KMC_MAIN_DIR)/libs/libbz2.a $(BOOST_LIB)/libboost_thread.a $(BOOST_LIB)/libboost_filesystem.a $(BOOST_LIB [...]
+
+ kmc_dump: $(KMC_DUMP_DIR)/nc_utils.o $(KMC_API_DIR)/mmer.o $(KMC_DUMP_DIR)/kmc_dump.o $(KMC_API_DIR)/kmc_file.o $(KMC_API_DIR)/kmer_api.o
+ -mkdir -p $(KMC_BIN_DIR)
+- $(CC) $(CLINK) -o $(KMC_BIN_DIR)/$@ $(KMC_DUMP_DIR)/nc_utils.o $(KMC_API_DIR)/mmer.o $(KMC_DUMP_DIR)/kmc_dump.o $(KMC_API_DIR)/kmc_file.o $(KMC_API_DIR)/kmer_api.o
++ $(CC) $(CPPFLAGS) $(CLINK) -o $(KMC_BIN_DIR)/$@ $(KMC_DUMP_DIR)/nc_utils.o $(KMC_API_DIR)/mmer.o $(KMC_DUMP_DIR)/kmc_dump.o $(KMC_API_DIR)/kmc_file.o $(KMC_API_DIR)/kmer_api.o $(LDFLAGS)
+
+ clean:
+ -rm $(KMC_MAIN_DIR)/*.o
diff --git a/debian/patches/remove-all-zlib-libz2-include-statements b/debian/patches/remove-all-zlib-libz2-include-statements
new file mode 100644
index 0000000..019c8b3
--- /dev/null
+++ b/debian/patches/remove-all-zlib-libz2-include-statements
@@ -0,0 +1,15 @@
+Index: b/kmer_counter/fastq_reader.h
+===================================================================
+--- a/kmer_counter/fastq_reader.h
++++ b/kmer_counter/fastq_reader.h
+@@ -16,8 +16,8 @@
+ #include <stdio.h>
+ #include <iostream>
+
+-#include "libs/zlib.h"
+-#include "libs/bzlib.h"
++#include "zlib.h"
++#include "bzlib.h"
+
+
+ using namespace std;
diff --git a/debian/patches/remove-call-to-asmlib-sub-in-kbsorter b/debian/patches/remove-call-to-asmlib-sub-in-kbsorter
new file mode 100644
index 0000000..b085a86
--- /dev/null
+++ b/debian/patches/remove-call-to-asmlib-sub-in-kbsorter
@@ -0,0 +1,16 @@
+Description: Removes a call to set memory cache.
+asmlib subroutineIndex: kmc/kmer_counter/kb_sorter.h
+===================================================================
+Index: b/kmer_counter/kb_sorter.h
+===================================================================
+--- a/kmer_counter/kb_sorter.h
++++ b/kmer_counter/kb_sorter.h
+@@ -247,8 +247,6 @@ template <typename KMER_T, unsigned SIZE
+ uint64 tmp_n_rec;
+ CMemDiskFile *file;
+
+- SetMemcpyCacheLimit(8);
+-
+ // Process bins
+ while (!bq->completed())
+ {
diff --git a/debian/patches/remove-embedded-libraries-from-makefile b/debian/patches/remove-embedded-libraries-from-makefile
new file mode 100644
index 0000000..e39ec14
--- /dev/null
+++ b/debian/patches/remove-embedded-libraries-from-makefile
@@ -0,0 +1,26 @@
+Description: Removes the calls to the distributed
+libraries
+===================================================================
+Index: b/makefile
+===================================================================
+--- a/makefile
++++ b/makefile
+@@ -9,15 +9,15 @@ KMC_API_DIR = kmc_api
+ KMC_DUMP_DIR = kmc_dump
+
+ CC = g++
+-CFLAGS = -Wall -O3 -m64 -static -fopenmp -std=c++11 -I $(BOOST_H)
+-CLINK = -lm -static -fopenmp -O3 -std=c++11
++CFLAGS = -Wall -O3 -m64 -fopenmp -std=c++11 -I $(BOOST_H)
++CLINK = -lm -fopenmp -O3 -std=c++11
+
+ .cpp.o:
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
+
+ kmc: $(KMC_MAIN_DIR)/kmer_counter.o $(KMC_MAIN_DIR)/mmer.o $(KMC_MAIN_DIR)/mem_disk_file.o $(KMC_MAIN_DIR)/rev_byte.o $(KMC_MAIN_DIR)/fastq_reader.o $(KMC_MAIN_DIR)/timer.o $(KMC_MAIN_DIR)/radix.o $(KMC_MAIN_DIR)/kb_completer.o $(KMC_MAIN_DIR)/kb_storer.o $(KMC_MAIN_DIR)/kmer.o
+ -mkdir -p $(KMC_BIN_DIR)
+- $(CC) $(CPPFLAGS) $(CLINK) -o $(KMC_BIN_DIR)/$@ $(KMC_MAIN_DIR)/kmer_counter.o $(KMC_MAIN_DIR)/mem_disk_file.o $(KMC_MAIN_DIR)/rev_byte.o $(KMC_MAIN_DIR)/mmer.o $(KMC_MAIN_DIR)/fastq_reader.o $(KMC_MAIN_DIR)/timer.o $(KMC_MAIN_DIR)/radix.o $(KMC_MAIN_DIR)/kb_completer.o $(KMC_MAIN_DIR)/kb_storer.o $(KMC_MAIN_DIR)/kmer.o $(KMC_MAIN_DIR)/libs/alibelf64.a $(KMC_MAIN_DIR)/libs/libz.a $(KMC_MAIN_DIR)/libs/libbz2.a $(BOOST_LIB)/libboost_thread.a $(BOOST_LIB)/libboost_filesystem.a $(BOOST_LIB [...]
++ $(CC) $(CPPFLAGS) $(CLINK) -o $(KMC_BIN_DIR)/$@ $(KMC_MAIN_DIR)/kmer_counter.o $(KMC_MAIN_DIR)/mem_disk_file.o $(KMC_MAIN_DIR)/rev_byte.o $(KMC_MAIN_DIR)/mmer.o $(KMC_MAIN_DIR)/fastq_reader.o $(KMC_MAIN_DIR)/timer.o $(KMC_MAIN_DIR)/radix.o $(KMC_MAIN_DIR)/kb_completer.o $(KMC_MAIN_DIR)/kb_storer.o $(KMC_MAIN_DIR)/kmer.o $(BOOST_LIB)/libboost_thread.a $(BOOST_LIB)/libboost_filesystem.a $(BOOST_LIB)/libboost_system.a $(LDFLAGS) -lz -lbz2
+
+ kmc_dump: $(KMC_DUMP_DIR)/nc_utils.o $(KMC_API_DIR)/mmer.o $(KMC_DUMP_DIR)/kmc_dump.o $(KMC_API_DIR)/kmc_file.o $(KMC_API_DIR)/kmer_api.o
+ -mkdir -p $(KMC_BIN_DIR)
diff --git a/debian/patches/remove-gz-and-bz-flags-from-compilation b/debian/patches/remove-gz-and-bz-flags-from-compilation
new file mode 100644
index 0000000..86df646
--- /dev/null
+++ b/debian/patches/remove-gz-and-bz-flags-from-compilation
@@ -0,0 +1,13 @@
+Description: Removing -lz and -lbz2 from compilation command.Index: kmc/makefile
+===================================================================
+--- kmc.orig/makefile
++++ kmc/makefile
+@@ -17,7 +17,7 @@ CLINK = -lm -static -fopenmp -O3 -std=c+
+
+ kmc: $(KMC_MAIN_DIR)/kmer_counter.o $(KMC_MAIN_DIR)/mmer.o $(KMC_MAIN_DIR)/mem_disk_file.o $(KMC_MAIN_DIR)/rev_byte.o $(KMC_MAIN_DIR)/fastq_reader.o $(KMC_MAIN_DIR)/timer.o $(KMC_MAIN_DIR)/radix.o $(KMC_MAIN_DIR)/kb_completer.o $(KMC_MAIN_DIR)/kb_storer.o $(KMC_MAIN_DIR)/kmer.o
+ -mkdir -p $(KMC_BIN_DIR)
+- $(CC) $(CPPFLAGS) $(CLINK) -o $(KMC_BIN_DIR)/$@ $(KMC_MAIN_DIR)/kmer_counter.o $(KMC_MAIN_DIR)/mem_disk_file.o $(KMC_MAIN_DIR)/rev_byte.o $(KMC_MAIN_DIR)/mmer.o $(KMC_MAIN_DIR)/fastq_reader.o $(KMC_MAIN_DIR)/timer.o $(KMC_MAIN_DIR)/radix.o $(KMC_MAIN_DIR)/kb_completer.o $(KMC_MAIN_DIR)/kb_storer.o $(KMC_MAIN_DIR)/kmer.o $(BOOST_LIB)/libboost_thread.a $(BOOST_LIB)/libboost_filesystem.a $(BOOST_LIB)/libboost_system.a $(LDFLAGS) -lz -lbz2
++ $(CC) $(CPPFLAGS) $(CLINK) -o $(KMC_BIN_DIR)/$@ $(KMC_MAIN_DIR)/kmer_counter.o $(KMC_MAIN_DIR)/mem_disk_file.o $(KMC_MAIN_DIR)/rev_byte.o $(KMC_MAIN_DIR)/mmer.o $(KMC_MAIN_DIR)/fastq_reader.o $(KMC_MAIN_DIR)/timer.o $(KMC_MAIN_DIR)/radix.o $(KMC_MAIN_DIR)/kb_completer.o $(KMC_MAIN_DIR)/kb_storer.o $(KMC_MAIN_DIR)/kmer.o $(BOOST_LIB)/libboost_thread.a $(BOOST_LIB)/libboost_filesystem.a $(BOOST_LIB)/libboost_system.a $(LDFLAGS)
+
+ kmc_dump: $(KMC_DUMP_DIR)/nc_utils.o $(KMC_API_DIR)/mmer.o $(KMC_DUMP_DIR)/kmc_dump.o $(KMC_API_DIR)/kmc_file.o $(KMC_API_DIR)/kmer_api.o
+ -mkdir -p $(KMC_BIN_DIR)
diff --git a/debian/patches/remove-references-to-asmlib b/debian/patches/remove-references-to-asmlib
new file mode 100644
index 0000000..9ae0eac
--- /dev/null
+++ b/debian/patches/remove-references-to-asmlib
@@ -0,0 +1,44 @@
+Description: Removes all - include "libs/asmlib.h".
+This is a customised subroutine optimisaiton library
+that gives KMC a speed performance increase of ~0.66%
+when compared ot the native library.
+A decision was made togehter with upstream to remove
+this dependency for the Debian package.
+
+
+Index: b/kmer_counter/kmc.h
+===================================================================
+--- a/kmer_counter/kmc.h
++++ b/kmer_counter/kmc.h
+@@ -29,7 +29,6 @@
+ #include "kb_storer.h"
+ #include "s_mapper.h"
+ #include "splitter.h"
+-#include "libs/asmlib.h"
+ #include <boost/filesystem.hpp>
+
+ #ifdef DEVELOP_MODE
+Index: b/kmer_counter/mem_disk_file.cpp
+===================================================================
+--- a/kmer_counter/mem_disk_file.cpp
++++ b/kmer_counter/mem_disk_file.cpp
+@@ -10,7 +10,6 @@
+ */
+
+ #include "mem_disk_file.h"
+-#include "libs/asmlib.h"
+
+ //----------------------------------------------------------------------------------
+ // Constructor
+Index: b/kmer_counter/radix.h
+===================================================================
+--- a/kmer_counter/radix.h
++++ b/kmer_counter/radix.h
+@@ -16,7 +16,6 @@
+ #include <iostream>
+ #include <omp.h>
+ #include <algorithm>
+-#include "libs/asmlib.h"
+ #include "defs.h"
+ #include "queues.h"
+ #include <boost/static_assert.hpp>
diff --git a/debian/patches/remove-use-of-asmlib-subroutines.patch b/debian/patches/remove-use-of-asmlib-subroutines.patch
new file mode 100644
index 0000000..22a89fa
--- /dev/null
+++ b/debian/patches/remove-use-of-asmlib-subroutines.patch
@@ -0,0 +1,141 @@
+Description: Removes all usage of the "A_mem" subroutines.
+The A_mem type of calls are defined in the asmlib library.
+
+Index: b/kmer_counter/defs.h
+===================================================================
+--- a/kmer_counter/defs.h
++++ b/kmer_counter/defs.h
+@@ -73,8 +73,6 @@ typedef float count_t;
+ #define KMER_WORDS ((MAX_K + 31) / 32)
+
+ #ifdef _DEBUG
+-#define A_memcpy memcpy
+-#define A_memset memset
+ #endif
+
+
+Index: b/kmer_counter/kb_sorter.h
+===================================================================
+--- a/kmer_counter/kb_sorter.h
++++ b/kmer_counter/kb_sorter.h
+@@ -406,7 +406,7 @@ template <unsigned SIZE> void CKmerBinSo
+ template <unsigned SIZE> void CKmerBinSorter_Impl<CKmer<SIZE>, SIZE>::FromChildThread(CKmerBinSorter<CKmer<SIZE>, SIZE>& ptr, CKmer<SIZE>* thread_buffer, uint64 size)
+ {
+ lock_guard<mutex> lcx(ptr.expander_mtx);
+- A_memcpy(ptr.buffer_input + ptr.input_pos, thread_buffer, size * sizeof(CKmer<SIZE>));
++ memcpy(ptr.buffer_input + ptr.input_pos, thread_buffer, size * sizeof(CKmer<SIZE>));
+ ptr.input_pos += size;
+ }
+
+@@ -1359,4 +1359,4 @@ template <typename KMER_T, unsigned SIZE
+
+ #endif
+
+-// ***** EOF
+\ No newline at end of file
++// ***** EOF
+Index: b/kmer_counter/kb_storer.cpp
+===================================================================
+--- a/kmer_counter/kb_storer.cpp
++++ b/kmer_counter/kb_storer.cpp
+@@ -156,7 +156,7 @@ void CKmerBinStorer::PutBinToTmpFile(uin
+ {
+ buf = get<0>(*p);
+ size = get<1>(*p);
+- A_memcpy(tmp_buff + tmp_buff_pos, buf, size);
++ memcpy(tmp_buff + tmp_buff_pos, buf, size);
+ tmp_buff_pos += size;
+ pmm_bins->free(buf);
+ }
+Index: b/kmer_counter/mem_disk_file.cpp
+===================================================================
+--- a/kmer_counter/mem_disk_file.cpp
++++ b/kmer_counter/mem_disk_file.cpp
+@@ -78,7 +78,7 @@ size_t CMemDiskFile::Read(uchar * ptr, s
+ uint64 pos = 0;
+ for(auto& p : container)
+ {
+- A_memcpy(ptr + pos, p.first, p.second);
++ memcpy(ptr + pos, p.first, p.second);
+ pos += p.second;
+ delete[] p.first;
+ }
+@@ -97,7 +97,7 @@ size_t CMemDiskFile::Write(const uchar *
+ if(memory_mode)
+ {
+ uchar *buf = new uchar[size * count];
+- A_memcpy(buf, ptr, size * count);
++ memcpy(buf, ptr, size * count);
+ container.push_back(make_pair(buf, size * count));
+ return size * count;
+ }
+Index: b/kmer_counter/radix.cpp
+===================================================================
+--- a/kmer_counter/radix.cpp
++++ b/kmer_counter/radix.cpp
+@@ -72,7 +72,7 @@ void RadixOMP_uint8(uint32 *SourcePtr, u
+
+ ++privateByteCounter[byteValue];
+ }
+- A_memcpy(&ByteCounter[myID][0], privateByteCounter, sizeof(privateByteCounter));
++ memcpy(&ByteCounter[myID][0], privateByteCounter, sizeof(privateByteCounter));
+
+ #pragma omp barrier
+
+@@ -104,7 +104,7 @@ void RadixOMP_uint8(uint32 *SourcePtr, u
+ for (private_i = 0; private_i < 256; private_i++)
+ ByteCounter[myID][private_i] += globalHisto[private_i];
+
+- A_memcpy(privateByteCounter, &ByteCounter[myID][0], sizeof(privateByteCounter));
++ memcpy(privateByteCounter, &ByteCounter[myID][0], sizeof(privateByteCounter));
+
+ #pragma omp for schedule(static)
+ for(i = data_offset; i < SourceSize_in_bytes; i = i + rec_size)
+@@ -199,7 +199,7 @@ template<typename COUNTER_TYPE, typename
+ byteValue = *(reinterpret_cast<const uint8_t*>(&tempSource[i]) + ByteIndex);
+ ++privateByteCounter[byteValue];
+ }
+- A_memcpy(&ByteCounter[myID][0], privateByteCounter, sizeof(privateByteCounter));
++ memcpy(&ByteCounter[myID][0], privateByteCounter, sizeof(privateByteCounter));
+
+ #pragma omp barrier
+
+@@ -230,7 +230,7 @@ template<typename COUNTER_TYPE, typename
+ for (private_i = 0; private_i < 256; private_i++)
+ ByteCounter[myID][private_i] += globalHisto[private_i];
+
+- A_memcpy(privateByteCounter, &ByteCounter[myID][0], sizeof(privateByteCounter));
++ memcpy(privateByteCounter, &ByteCounter[myID][0], sizeof(privateByteCounter));
+
+
+ #pragma omp for schedule(static)
+@@ -245,7 +245,7 @@ template<typename COUNTER_TYPE, typename
+ privateByteCounter[byteValue]++;
+
+ if(index_x == (BUFFER_WIDTH -1))
+- A_memcpy ( &tempDest[privateByteCounter[byteValue] - (BUFFER_WIDTH)], &Buffer[byteValue * BUFFER_WIDTH], BUFFER_WIDTH *sizeof(uint64) );
++ memcpy ( &tempDest[privateByteCounter[byteValue] - (BUFFER_WIDTH)], &Buffer[byteValue * BUFFER_WIDTH], BUFFER_WIDTH *sizeof(uint64) );
+ } //end_for
+
+ INT_TYPE elemInBuffer;
+@@ -265,7 +265,7 @@ template<typename COUNTER_TYPE, typename
+ elemInBuffer = index_stop - index_start;
+
+ if(elemInBuffer != 0)
+- A_memcpy ( &tempDest[privateByteCounter[private_i] - elemInBuffer], &Buffer[private_i * BUFFER_WIDTH + (privateByteCounter[private_i] - elemInBuffer)%BUFFER_WIDTH], (elemInBuffer)*sizeof(uint64) );
++ memcpy ( &tempDest[privateByteCounter[private_i] - elemInBuffer], &Buffer[private_i * BUFFER_WIDTH + (privateByteCounter[private_i] - elemInBuffer)%BUFFER_WIDTH], (elemInBuffer)*sizeof(uint64) );
+
+ }
+ #pragma omp barrier
+Index: b/kmer_counter/kmc.h
+===================================================================
+--- a/kmer_counter/kmc.h
++++ b/kmer_counter/kmc.h
+@@ -164,7 +164,6 @@ template <typename KMER_T, unsigned SIZE
+
+ initialized = true;
+
+- SetMemcpyCacheLimit(8); // Sets the asmlib's memcpy function to make copy without use of cache memory
+ }
+
+ //----------------------------------------------------------------------------------
diff --git a/debian/patches/removing-static-option-in-makefile b/debian/patches/removing-static-option-in-makefile
new file mode 100644
index 0000000..4415469
--- /dev/null
+++ b/debian/patches/removing-static-option-in-makefile
@@ -0,0 +1 @@
+Description: Removes the static compilation option
\ No newline at end of file
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..b081585
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,6 @@
+debian-dependent-makefile.patch
+remove-references-to-asmlib
+remove-use-of-asmlib-subroutines.patch
+change-kmc-zlib-and-libz2-to-deb-zlib-and-libbz2
+remove-call-to-asmlib-sub-in-kbsorter
+remove-embedded-libraries-from-makefile
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..ad78fa4
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,25 @@
+#!/usr/bin/make -f
+
+export DH_VERBOSE := 1
+DEBVERS := $(shell dpkg-parsechangelog | sed -n -e 's/^Version: //p')
+VERSION := $(shell echo '$(DEBVERS)' | sed -e 's/^[[:digit:]]*://' -e 's/[~-].*//')
+OVERSION := $(shell echo '$(DEBVERS)' | sed -e 's/^[[:digit:]]*://' -e 's/[+].*//')
+
+
+mandir := $(CURDIR)/debian/man
+debfolder := $(CURDIR)/debian
+
+%:
+ dh $@
+
+override_dh_install:
+ dh_install
+
+override_dh_installman:
+ mkdir -p $(mandir)
+ $(debfolder)/usage_to_man
+ dh_installman --
+
+get-orig-source:
+ uscan --verbose --force-download --repack --compression gz --destdir=..
+ mv ../kmc_$(OVERSION).orig.tar.gz ../kmc_$(VERSION).orig.tar.gz
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..46ebe02
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
\ No newline at end of file
diff --git a/debian/upstream/metadata b/debian/upstream/metadata
new file mode 100644
index 0000000..d8b5812
--- /dev/null
+++ b/debian/upstream/metadata
@@ -0,0 +1,12 @@
+Reference:
+ Author:
+ Title:
+ Journal:
+ Year:
+ Volume:
+ Number:
+ Pages:
+ DOI:
+ PMID:
+ URL:
+ eprint:
diff --git a/debian/usage_to_man b/debian/usage_to_man
new file mode 100755
index 0000000..e69a4bb
--- /dev/null
+++ b/debian/usage_to_man
@@ -0,0 +1,140 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use Data::Dumper;
+
+#Converts Fastaq python scripts usage into man pages.
+#The man pages are placed in the man folder of the main Fastaq directory
+
+createManPages();
+
+sub createManPages {
+
+ my $source= 'bin';
+ my $destination= '.';
+ my $app_name = 'KMC';
+
+
+ unless ( -d $destination ) {
+ system(mkdir $destination);
+ }
+
+ my @files;
+
+ push(@files,`ls $source/kmc*`);
+
+ if ( scalar @files > 0 ) {
+
+ print "Creating manpages\n";
+ for my $file ( @files ) {
+ $file =~ s/\n$//;
+
+ my $filename = $file;
+ $filename =~ s/$source\///;
+
+ my $uc_filename = uc($filename);
+ my $man_file = $filename;
+
+ $man_file = $destination . '/' . $man_file . '.1';
+
+ my $kmc_short_description = 'Count kmers in genomic sequences';
+ my $kmc_long_description = 'KMC—K-mer Counter is a utility designed for counting k-mers (sequences of consecutive k symbols) in a set of reads from genome sequencing projects.';
+
+
+ my $cmd = "help2man -N -m $filename -n $filename --no-discard-stderr $file | sed 's/usage://gi'";
+ my @output;
+ push(@output, `$cmd`);
+
+ for my $line (@output) {
+ $line =~ s/\n$//;
+
+ }
+ my $ss_param_seen = 0;
+ my $ss_param_seen2 = 1;
+ my $ip_tag_seen = 0;
+ my @lines_not_to_print;
+ my @lines_to_print;
+
+ for (my $i = 0; $i < scalar @output; $i++) {
+
+
+ my $output_line = $output[$i];
+
+ $output_line =~ s/^(\.TH\s)([a-zA-Z0-9-]+)(\s.*)/$1 $filename $3/;
+ $output_line =~ s/^(K\-Mer \\- )(kmc)/$2 - $kmc_short_description/;
+ if ($output_line =~ m/^K\\-Mer Counter/) {
+ $output_line = $kmc_long_description;
+ }
+
+ if ($output_line =~ m/^\.SS \"Parameters\:\"/ && ! $ss_param_seen) {
+ push(@lines_not_to_print, $i);
+ push(@lines_not_to_print, $i + 1);
+ push(@lines_not_to_print, $i + 2);
+ push(@lines_not_to_print, $i + 3);
+
+ $ss_param_seen = 1;
+ $ss_param_seen2 = 0;
+
+ }
+ elsif ($output_line =~ m/^\.IP/ && ! $ip_tag_seen) {
+ $output_line = '.SH SYNOPSIS';
+ if ($output[$i + 2] =~ /^kmc/) {
+ $output[$i +2] = ".PP\n" . $output[$i + 2];
+ }
+ $ip_tag_seen = 1;
+ }
+ elsif ($output_line =~ m/^\.SS ""/) {
+ push(@lines_not_to_print, $i);
+ push(@lines_not_to_print, $i + 1);
+ push(@lines_not_to_print, $i + 2);
+ push(@lines_not_to_print, $i + 3);
+ }
+ elsif ($output_line =~ m/^Example:/) {
+ $output_line = '.SH EXAMPLES';
+ $output[$i + 2] = ".PP\n" . $output[$i + 2];
+
+ }
+ elsif ($output_line =~ m/^\.SS \"Parameters\:\"/ && $ss_param_seen && ! $ss_param_seen2) {
+ last;
+
+ }
+
+ if ( ! grep( /^$i$/, @lines_not_to_print ) ){
+ #print "$output_line\n";
+ push(@lines_to_print, $output_line);
+ }
+
+
+ }
+ print Dumper(\@lines_not_to_print);
+ open (my $man_fh, ">", $man_file);
+ for my $line(@lines_to_print) {
+ print $man_fh "$line\n";
+ }
+ close($man_fh);
+ print "Manpage creation complete\n";
+ }
+ }
+}
+
+sub writeAuthorAndCopyright {
+
+ my ($man_fh,$filename) = @_;
+
+ my $author_blurb = <<END_OF_AUTHOR_BLURB;
+.SH "AUTHOR"
+.sp
+$filename was originally written by Martin Hunt (mh12\@sanger.ac.uk)
+END_OF_AUTHOR_BLURB
+
+ print $man_fh "$author_blurb\n";
+
+ my $copyright_blurb = <<'END_OF_C_BLURB';
+.SH "COPYING"
+.sp
+Wellcome Trust Sanger Institute Copyright \(co 2013 Wellcome Trust Sanger Institute This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version\&.
+END_OF_C_BLURB
+
+ print $man_fh "$copyright_blurb\n";
+
+}
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..bf30b45
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,5 @@
+version=3
+
+opts=dversionmangle=s/[~\+]dfsg[0-9]*// \
+ https://github.com/js21/kmc/releases .*/archive/v(\d[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz)
+
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/kmc.git
More information about the debian-med-commit
mailing list