diff --git a/jellyfish2/DESCR b/jellyfish2/DESCR new file mode 100644 index 0000000000..4b5859e396 --- /dev/null +++ b/jellyfish2/DESCR @@ -0,0 +1,5 @@ +Jellyfish is a tool for fast, memory-efficient counting of k-mers in DNA. +A k-mer is a substring of length k, and counting the occurrences of all such +substrings is a central step in many analyses of DNA sequence. JELLYFISH can +count k-mers quickly by using an efficient encoding of a hash table and by +exploiting the "compare-and-swap" CPU instruction to increase parallelism. diff --git a/jellyfish2/Makefile b/jellyfish2/Makefile new file mode 100644 index 0000000000..a88d8d97b7 --- /dev/null +++ b/jellyfish2/Makefile @@ -0,0 +1,59 @@ +# $NetBSD$ +# +########################################################### +# Generated by fbsd2pkg # +########################################################### + +########################################################### +# Unconverted and partially converted FreeBSD port syntax: + +## Created by: Jason Bacon +## $FreeBSD$ +#USE_LDCONFIG= yes +#post-stage: +# ${MV} ${DESTDIR}${PREFIX}/lib/pkgconfig/* \ +# ${DESTDIR}${PREFIX}/libdata/pkgconfig +#.include + +DISTNAME= jellyfish-${PORTVERSION} +CATEGORIES= biology +MASTER_SITES= ftp://ftp.genome.umd.edu/pub/jellyfish/ + +MAINTAINER= dsiercks@uwm.edu +HOMEPAGE= http://www.genome.umd.edu/jellyfish.html +COMMENT= Fast, memory-efficient counting of k-mers in DNA +# Check this +LICENSE= gnu-gpl-v3 + +# FIXME: Only for amd64 +# Test and change if necessary. +# MAKE_JOBS_SAFE= no + +# Just assuming C and C++: Adjust this! +USE_LANGUAGES= c c++ +USE_LIBTOOL= yes +GNU_CONFIGURE= yes + +CFLAGS= -fopenmp + +CXXFLAGS+= -std=c++0x + +FFLAGS= -fopenmp + +PORTVERSION= 2.2.0 +DATADIR= ${PREFIX}/share/jellyfish +DOCSDIR= ${PREFIX}/share/doc/jellyfish + +# Sets OPSYS, OS_VERSION, MACHINE_ARCH, etc.. +# .include "../../mk/bsd.prefs.mk" + +# Keep this if there are user-selectable options. +# .include "options.mk" + +# Specify which directories to create before install. +# You should only need this if using your own install target. +INSTALLATION_DIRS= bin lib ${PKGMANDIR}/man1 share/doc share/examples + +# Linux doesn't have zlib in the base, so just in case... +# .include "../../devel/zlib/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/jellyfish2/PLIST b/jellyfish2/PLIST new file mode 100644 index 0000000000..33ef5ef792 --- /dev/null +++ b/jellyfish2/PLIST @@ -0,0 +1,53 @@ +@comment $NetBSD$ +bin/jellyfish +include/${PKGNAME}/jellyfish/allocators_mmap.hpp +include/${PKGNAME}/jellyfish/atomic_bits_array.hpp +include/${PKGNAME}/jellyfish/atomic_field.hpp +include/${PKGNAME}/jellyfish/atomic_gcc.hpp +include/${PKGNAME}/jellyfish/backtrace.hpp +include/${PKGNAME}/jellyfish/binary_dumper.hpp +include/${PKGNAME}/jellyfish/bloom_common.hpp +include/${PKGNAME}/jellyfish/bloom_counter2.hpp +include/${PKGNAME}/jellyfish/bloom_filter.hpp +include/${PKGNAME}/jellyfish/circular_buffer.hpp +include/${PKGNAME}/jellyfish/compare_and_swap.hpp +include/${PKGNAME}/jellyfish/cooperative_pool2.hpp +include/${PKGNAME}/jellyfish/cooperative_pool.hpp +include/${PKGNAME}/jellyfish/cpp_array.hpp +include/${PKGNAME}/jellyfish/divisor.hpp +include/${PKGNAME}/jellyfish/dumper.hpp +include/${PKGNAME}/jellyfish/err.hpp +include/${PKGNAME}/jellyfish/file_header.hpp +include/${PKGNAME}/jellyfish/generator_manager.hpp +include/${PKGNAME}/jellyfish/generic_file_header.hpp +include/${PKGNAME}/jellyfish/hash_counter.hpp +include/${PKGNAME}/jellyfish/int128.hpp +include/${PKGNAME}/jellyfish/jellyfish.hpp +include/${PKGNAME}/jellyfish/json.h +include/${PKGNAME}/jellyfish/large_hash_array.hpp +include/${PKGNAME}/jellyfish/large_hash_iterator.hpp +include/${PKGNAME}/jellyfish/locks_pthread.hpp +include/${PKGNAME}/jellyfish/mapped_file.hpp +include/${PKGNAME}/jellyfish/mer_dna_bloom_counter.hpp +include/${PKGNAME}/jellyfish/mer_dna.hpp +include/${PKGNAME}/jellyfish/mer_heap.hpp +include/${PKGNAME}/jellyfish/mer_iterator.hpp +include/${PKGNAME}/jellyfish/mer_overlap_sequence_parser.hpp +include/${PKGNAME}/jellyfish/mer_qual_iterator.hpp +include/${PKGNAME}/jellyfish/misc.hpp +include/${PKGNAME}/jellyfish/offsets_key_value.hpp +include/${PKGNAME}/jellyfish/rectangular_binary_matrix.hpp +include/${PKGNAME}/jellyfish/simple_circular_buffer.hpp +include/${PKGNAME}/jellyfish/sorted_dumper.hpp +include/${PKGNAME}/jellyfish/stdio_filebuf.hpp +include/${PKGNAME}/jellyfish/storage.hpp +include/${PKGNAME}/jellyfish/stream_iterator.hpp +include/${PKGNAME}/jellyfish/stream_manager.hpp +include/${PKGNAME}/jellyfish/text_dumper.hpp +include/${PKGNAME}/jellyfish/thread_exec.hpp +include/${PKGNAME}/jellyfish/time.hpp +include/${PKGNAME}/jellyfish/token_ring.hpp +include/${PKGNAME}/jellyfish/whole_sequence_parser.hpp +lib/libjellyfish-2.0.la +lib/pkgconfig/jellyfish-2.0.pc +man/man1/jellyfish.1 diff --git a/jellyfish2/TODO b/jellyfish2/TODO new file mode 100644 index 0000000000..b2e3b56f25 --- /dev/null +++ b/jellyfish2/TODO @@ -0,0 +1 @@ +Clean up and test. diff --git a/jellyfish2/distinfo b/jellyfish2/distinfo new file mode 100644 index 0000000000..f44555ffbc --- /dev/null +++ b/jellyfish2/distinfo @@ -0,0 +1,5 @@ +$NetBSD$ + +SHA1 (jellyfish-2.2.0.tar.gz) = 9ac4817aed0c61a1819b913193b0e312fa4fa9bd +RMD160 (jellyfish-2.2.0.tar.gz) = 01e5847c72bf1bf92989b1158988605b1155aec4 +Size (jellyfish-2.2.0.tar.gz) = 1085913 bytes diff --git a/jellyfish2/patches/patch-include_jellyfish_file__header.hpp b/jellyfish2/patches/patch-include_jellyfish_file__header.hpp new file mode 100644 index 0000000000..9dca7710a2 --- /dev/null +++ b/jellyfish2/patches/patch-include_jellyfish_file__header.hpp @@ -0,0 +1,37 @@ +$NetBSD$ + +--- include/jellyfish/file_header.hpp.orig 2013-12-13 19:04:16 UTC ++++ include/jellyfish/file_header.hpp +@@ -21,6 +21,8 @@ + #include + #include + ++using std::string; ++ + namespace jellyfish { + /// A header with jellyfish hash specific entries: size, matrix, etc. + class file_header : public generic_file_header { +@@ -42,7 +44,10 @@ public: + + RectangularBinaryMatrix matrix(int i = 1) const { + std::string name("matrix"); +- name += std::to_string((long long int)i); // Cast to make gcc4.4 happy! ++ char buff[100]; ++ // name += std::to_string((long long int)i); // Cast to make gcc4.4 happy! ++ snprintf(buff, 99, "%d", i); ++ name += buff; + const unsigned int r = root_[name]["r"].asUInt(); + const unsigned int c = root_[name]["c"].asUInt(); + std::vector raw(c, (uint64_t)0); +@@ -53,7 +58,10 @@ public: + + void matrix(const RectangularBinaryMatrix& m, int i = 1) { + std::string name("matrix"); +- name += std::to_string((long long int)i); ++ char buff[100]; ++ // name += std::to_string((long long int)i); ++ snprintf(buff, 99, "%d", i); ++ name += buff; + root_[name].clear(); + root_[name]["r"] = m.r(); + root_[name]["c"] = m.c();