This is an automated email from the git hooks/post-receive script. tille pushed a commit to branch master in repository kraken.
commit cc5087dc7407aca115362173c63b35feedc61794 Author: Andreas Tille <[email protected]> Date: Wed Sep 9 13:41:37 2015 +0200 Add initial packaging --- debian/changelog | 5 +++ debian/compat | 1 + debian/control | 31 +++++++++++++ debian/copyright | 26 +++++++++++ debian/createmanpages | 36 ++++++++++++++++ debian/dirs | 2 + debian/doc-base | 24 +++++++++++ debian/install | 3 ++ debian/links | 1 + debian/manpages | 1 + debian/mans/kraken-build.1 | 86 +++++++++++++++++++++++++++++++++++++ debian/mans/kraken-filter.1 | 9 ++++ debian/mans/kraken-mpa-report.1 | 22 ++++++++++ debian/mans/kraken-report.1 | 9 ++++ debian/mans/kraken-translate.1 | 9 ++++ debian/mans/kraken.1 | 66 ++++++++++++++++++++++++++++ debian/patches/kraken_tmp_dir.patch | 44 +++++++++++++++++++ debian/patches/series | 1 + debian/rules | 31 +++++++++++++ debian/source/format | 1 + debian/upstream/metadata | 12 ++++++ debian/watch | 7 +++ 22 files changed, 427 insertions(+) diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..f7007dc --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +kraken (0.10.5~beta-1) UNRELEASED; urgency=low + + * Initial release (Closes: #<bug>) + + -- Andreas Tille <[email protected]> Wed, 09 Sep 2015 11:14:16 +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..3ea37b9 --- /dev/null +++ b/debian/control @@ -0,0 +1,31 @@ +Source: kraken +Maintainer: Debian Med Packaging Team <[email protected]> +Uploaders: Andreas Tille <[email protected]> +Section: science +Priority: optional +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.6 +Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/kraken.git +Vcs-Git: git://anonscm.debian.org/debian-med/kraken.git +Homepage: http://ccb.jhu.edu/software/kraken/ + +Package: kraken +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends} +Description: assigning taxonomic labels to short DNA sequences + Kraken is a system for assigning taxonomic labels to short DNA + sequences, usually obtained through metagenomic studies. Previous + attempts by other bioinformatics software to accomplish this task have + often used sequence alignment or machine learning techniques that were + quite slow, leading to the development of less sensitive but much faster + abundance estimation programs. Kraken aims to achieve high sensitivity + and high speed by utilizing exact alignments of k-mers and a novel + classification algorithm. + . + In its fastest mode of operation, for a simulated metagenome of 100 bp + reads, Kraken processed over 4 million reads per minute on a single + core, over 900 times faster than Megablast and over 11 times faster than + the abundance estimation program MetaPhlAn. Kraken's accuracy is + comparable with Megablast, with slightly lower sensitivity and very high + precision. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..5fc9d14 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,26 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: kraken +Upstream-Contact: Derrick Wood <[email protected]> +Source: https://github.com/DerrickWood/kraken + +Files: * +Copyright: 2013-2015 Derrick Wood <[email protected]> +License: GPL-3+ + +Files: debian/* +Copyright: 2015 Andreas Tille <[email protected]> +License: GPL-3+ + +License: GPL-3+ + 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. + . + This program 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. + . + On Debian systems you can find a copy of the full text of the GNU General + Public License at /usr/share/common-licenses/GPL. diff --git a/debian/createmanpages b/debian/createmanpages new file mode 100755 index 0000000..37c8565 --- /dev/null +++ b/debian/createmanpages @@ -0,0 +1,36 @@ +#!/bin/sh +MANDIR=debian/mans +mkdir -p $MANDIR + +VERSION=`dpkg-parsechangelog | awk '/^Version:/ {print $2}' | sed -e 's/^[0-9]*://' -e 's/-.*//' -e 's/[+~]dfsg$//'` + +help2man --no-info --no-discard-stderr --help-option="--help" \ + --name='assigning taxonomic labels to short DNA sequences' \ + --version-string="$VERSION" kraken > $MANDIR/kraken.1 + +help2man --no-info --no-discard-stderr --help-option="--help" \ + --name='assigning taxonomic labels to short DNA sequences' \ + --version-string="$VERSION" kraken-build > $MANDIR/kraken-build.1 + +help2man --no-info --no-discard-stderr --help-option="--help" \ + --name='assigning taxonomic labels to short DNA sequences' \ + --version-string="$VERSION" kraken-filter > $MANDIR/kraken-filter.1 + +help2man --no-info --no-discard-stderr --help-option="--help" \ + --name='assigning taxonomic labels to short DNA sequences' \ + --version-string="$VERSION" kraken-mpa-report > $MANDIR/kraken-mpa-report.1 + +help2man --no-info --no-discard-stderr --help-option="--help" \ + --name='assigning taxonomic labels to short DNA sequences' \ + --version-string="$VERSION" kraken-report > $MANDIR/kraken-report.1 + +help2man --no-info --no-discard-stderr --help-option="--help" \ + --name='assigning taxonomic labels to short DNA sequences' \ + --version-string="$VERSION" kraken-translate > $MANDIR/kraken-translate.1 + +cat <<EOT +Please enhance the help2man output. +The following web page might be helpful in doing so: + http://liw.fi/manpages/ +EOT + diff --git a/debian/dirs b/debian/dirs new file mode 100644 index 0000000..cb3b91f --- /dev/null +++ b/debian/dirs @@ -0,0 +1,2 @@ +usr/bin +usr/lib/kraken diff --git a/debian/doc-base b/debian/doc-base new file mode 100644 index 0000000..ae816e9 --- /dev/null +++ b/debian/doc-base @@ -0,0 +1,24 @@ +Document: kraken +Title: Kraken taxonomic sequence classification system - Operating Manual +Author: Derrick Wood <[email protected]> +Abstract: assigning taxonomic labels to short DNA sequences + Kraken is a system for assigning taxonomic labels to short DNA + sequences, usually obtained through metagenomic studies. Previous + attempts by other bioinformatics software to accomplish this task have + often used sequence alignment or machine learning techniques that were + quite slow, leading to the development of less sensitive but much faster + abundance estimation programs. Kraken aims to achieve high sensitivity + and high speed by utilizing exact alignments of k-mers and a novel + classification algorithm. + . + In its fastest mode of operation, for a simulated metagenome of 100 bp + reads, Kraken processed over 4 million reads per minute on a single + core, over 900 times faster than Megablast and over 11 times faster than + the abundance estimation program MetaPhlAn. Kraken's accuracy is + comparable with Megablast, with slightly lower sensitivity and very high + precision. +Section: Science/Biology + +Format: html +Index: /usr/share/doc/kraken/html/index.html +Files: /usr/share/doc/kraken/html/MANUAL.html diff --git a/debian/install b/debian/install new file mode 100644 index 0000000..9e508bb --- /dev/null +++ b/debian/install @@ -0,0 +1,3 @@ +docs/*.html usr/share/doc/kraken/html +docs/*.png usr/share/doc/kraken/html +docs/*.css usr/share/doc/kraken/html diff --git a/debian/links b/debian/links new file mode 100644 index 0000000..d5baa09 --- /dev/null +++ b/debian/links @@ -0,0 +1 @@ +usr/share/doc/kraken/html/MANUAL.html usr/share/doc/kraken/html/index.html diff --git a/debian/manpages b/debian/manpages new file mode 100644 index 0000000..63ab24a --- /dev/null +++ b/debian/manpages @@ -0,0 +1 @@ +debian/mans/* diff --git a/debian/mans/kraken-build.1 b/debian/mans/kraken-build.1 new file mode 100644 index 0000000..8f80a34 --- /dev/null +++ b/debian/mans/kraken-build.1 @@ -0,0 +1,86 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.1. +.TH KRAKEN-BUILD "1" "September 2015" "kraken-build 0.10.5~beta" "User Commands" +.SH NAME +kraken-build \- assigning taxonomic labels to short DNA sequences +.SH SYNOPSIS +.B kraken-build +[\fI\,task option\/\fR] [\fI\,options\/\fR] +.SH DESCRIPTION +.SS "Task options (exactly one must be selected):" +.TP +\fB\-\-download\-taxonomy\fR +Download NCBI taxonomic information +.TP +\fB\-\-download\-library\fR TYPE +Download partial library +(TYPE = one of "bacteria", "plasmids", +"viruses", "human") +.TP +\fB\-\-add\-to\-library\fR FILE +Add FILE to library +.TP +\fB\-\-build\fR +Create DB from library +(requires taxonomy d/l'ed and at least one file +in library) +.TP +\fB\-\-rebuild\fR +Create DB from library like \fB\-\-build\fR, but remove +existing non\-library/taxonomy files before build +.TP +\fB\-\-clean\fR +Remove unneeded files from a built database +.TP +\fB\-\-shrink\fR NEW_CT +Shrink an existing DB to have only NEW_CT k\-mers +.TP +\fB\-\-standard\fR +Download and create default database +.TP +\fB\-\-upgrade\fR +Upgrade an existing older database to use scrambled +minimizer ordering (see README for details) +.TP +\fB\-\-help\fR +Print this message +.TP +\fB\-\-version\fR +Print version information +.SH OPTIONS +.TP +\fB\-\-db\fR NAME +Kraken DB/library name (mandatory except for +\fB\-\-help\fR/\-\-version) +.TP +\fB\-\-threads\fR # +Number of threads (def: 1) +.TP +\fB\-\-new\-db\fR NAME +New Kraken DB name (shrink task only; mandatory +for shrink task) +.TP +\fB\-\-kmer\-len\fR NUM +K\-mer length in bp (build/shrink tasks only; +def: 31) +.TP +\fB\-\-minimizer\-len\fR NUM +Minimizer length in bp (build/shrink tasks only; +def: 15) +.TP +\fB\-\-jellyfish\-hash\-size\fR STR +Pass a specific hash size argument to jellyfish +when building database (build task only) +.TP +\fB\-\-max\-db\-size\fR SIZE +Shrink the DB before full build, making sure +database and index together use <= SIZE gigabytes +(build task only) +.TP +\fB\-\-shrink\-block\-offset\fR NUM +When shrinking, select the k\-mer that is NUM +positions from the end of a block of k\-mers +(default: 1) +.TP +\fB\-\-work\-on\-disk\fR +Perform most operations on disk rather than in +RAM (will slow down build in most cases) diff --git a/debian/mans/kraken-filter.1 b/debian/mans/kraken-filter.1 new file mode 100644 index 0000000..917cb80 --- /dev/null +++ b/debian/mans/kraken-filter.1 @@ -0,0 +1,9 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.1. +.TH KRAKEN-FILTER "1" "September 2015" "kraken-filter 0.10.5~beta" "User Commands" +.SH NAME +kraken-filter \- assigning taxonomic labels to short DNA sequences +.SH SYNOPSIS +.B kraken-filter +[\fI\,--db KRAKEN_DB_NAME\/\fR] [\fI\,--threshold NUM\/\fR] \fI\,<kraken output file(s)>\/\fR +.SH DESCRIPTION + diff --git a/debian/mans/kraken-mpa-report.1 b/debian/mans/kraken-mpa-report.1 new file mode 100644 index 0000000..963f0b3 --- /dev/null +++ b/debian/mans/kraken-mpa-report.1 @@ -0,0 +1,22 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.1. +.TH KRAKEN-MPA-REPORT "1" "September 2015" "kraken-mpa-report 0.10.5~beta" "User Commands" +.SH NAME +kraken-mpa-report \- assigning taxonomic labels to short DNA sequences +.SH SYNOPSIS +.B kraken-mpa-report +[\fI\,--db KRAKEN_DB_NAME\/\fR] [\fI\,options\/\fR] \fI\,<kraken output file(s)>\/\fR +.SH OPTIONS +.TP +\fB\-\-db\fR NAME +Name of Kraken database +(default: none) +.TP +\fB\-\-show\-zeros\fR +Display taxa even if they lack a read in any sample +.TP +\fB\-\-header\-line\fR +Display a header line indicating sample IDs +(sample IDs are the filenames) +.TP +\fB\-\-intermediate\-ranks\fR +Display taxa not at the standard ranks with x__ prefix diff --git a/debian/mans/kraken-report.1 b/debian/mans/kraken-report.1 new file mode 100644 index 0000000..627372b --- /dev/null +++ b/debian/mans/kraken-report.1 @@ -0,0 +1,9 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.1. +.TH KRAKEN-REPORT "1" "September 2015" "kraken-report 0.10.5~beta" "User Commands" +.SH NAME +kraken-report \- assigning taxonomic labels to short DNA sequences +.SH SYNOPSIS +.B kraken-report +[\fI\,--db KRAKEN_DB_NAME\/\fR] [\fI\,--show-zeros\/\fR] \fI\,<kraken output file(s)>\/\fR +.SH DESCRIPTION + diff --git a/debian/mans/kraken-translate.1 b/debian/mans/kraken-translate.1 new file mode 100644 index 0000000..7bc3cc5 --- /dev/null +++ b/debian/mans/kraken-translate.1 @@ -0,0 +1,9 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.1. +.TH KRAKEN-TRANSLATE "1" "September 2015" "kraken-translate 0.10.5~beta" "User Commands" +.SH NAME +kraken-translate \- assigning taxonomic labels to short DNA sequences +.SH SYNOPSIS +.B kraken-translate +[\fI\,--db KRAKEN_DB_NAME\/\fR] [\fI\,--mpa-format\/\fR] \fI\,<kraken output file(s)>\/\fR +.SH DESCRIPTION + diff --git a/debian/mans/kraken.1 b/debian/mans/kraken.1 new file mode 100644 index 0000000..d369146 --- /dev/null +++ b/debian/mans/kraken.1 @@ -0,0 +1,66 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.1. +.TH KRAKEN "1" "September 2015" "kraken 0.10.5~beta" "User Commands" +.SH NAME +kraken \- assigning taxonomic labels to short DNA sequences +.SH SYNOPSIS +.B kraken +[\fI\,options\/\fR] \fI\,<filename(s)>\/\fR +.SH OPTIONS +.TP +\fB\-\-db\fR NAME +Name for Kraken DB +(default: none) +.TP +\fB\-\-threads\fR NUM +Number of threads (default: 1) +.TP +\fB\-\-fasta\-input\fR +Input is FASTA format +.TP +\fB\-\-fastq\-input\fR +Input is FASTQ format +.TP +\fB\-\-gzip\-compressed\fR +Input is gzip compressed +.TP +\fB\-\-bzip2\-compressed\fR +Input is bzip2 compressed +.TP +\fB\-\-quick\fR +Quick operation (use first hit or hits) +.TP +\fB\-\-min\-hits\fR NUM +In quick op., number of hits req'd for classification +NOTE: this is ignored if \fB\-\-quick\fR is not specified +.TP +\fB\-\-unclassified\-out\fR FILENAME +Print unclassified sequences to filename +.TP +\fB\-\-classified\-out\fR FILENAME +Print classified sequences to filename +.TP +\fB\-\-output\fR FILENAME +Print output to filename (default: stdout); "\-" will +suppress normal output +.TP +\fB\-\-only\-classified\-output\fR +Print no Kraken output for unclassified sequences +.TP +\fB\-\-preload\fR +Loads DB into memory before classification +.TP +\fB\-\-paired\fR +The two filenames provided are paired\-end reads +.TP +\fB\-\-check\-names\fR +Ensure each pair of reads have names that agree +with each other; ignored if \fB\-\-paired\fR is not specified +.TP +\fB\-\-help\fR +Print this message +.TP +\fB\-\-version\fR +Print version information +.PP +If none of the *\-input or *\-compressed flags are specified, and the +file is a regular file, automatic format detection is attempted. diff --git a/debian/patches/kraken_tmp_dir.patch b/debian/patches/kraken_tmp_dir.patch new file mode 100644 index 0000000..a69c1e7 --- /dev/null +++ b/debian/patches/kraken_tmp_dir.patch @@ -0,0 +1,44 @@ +Author: Andreas Tille <[email protected]> +Last-Update: Wed, 09 Sep 2015 11:14:16 +0200 +Description: Some changes needed to differentiate packaging target dir and + install dir + +--- a/install_kraken.sh ++++ b/install_kraken.sh +@@ -21,7 +21,7 @@ set -e + + VERSION="0.10.5-beta" + +-if [ -z "$1" ] || [ -n "$2" ] ++if [ -z "$1" ] # || [ -n "$2" ] + then + echo "Usage: $(basename $0) KRAKEN_DIR" + exit 64 +@@ -38,20 +38,23 @@ fi + # on OS X. + export KRAKEN_DIR=$(perl -MCwd=abs_path -le 'print abs_path(shift)' "$1") + +-mkdir -p "$KRAKEN_DIR" +-make -C src install ++KRAKEN_TMP_DIR=`pwd`/debian/$2/$KRAKEN_DIR ++mkdir -p "$KRAKEN_TMP_DIR" ++# do this in debian/rules ++# make -C src install + for file in scripts/* + do + perl -pl -e 'BEGIN { while (@ARGV) { $_ = shift; ($k,$v) = split /=/, $_, 2; $H{$k} = $v } }'\ + -e 's/#####=(\w+)=#####/$H{$1}/g' \ + "KRAKEN_DIR=$KRAKEN_DIR" "VERSION=$VERSION" \ +- < "$file" > "$KRAKEN_DIR/$(basename $file)" ++ < "$file" > "$KRAKEN_TMP_DIR/$(basename $file)" + if [ -x "$file" ] + then +- chmod +x "$KRAKEN_DIR/$(basename $file)" ++ chmod +x "$KRAKEN_TMP_DIR/$(basename $file)" + fi + done + ++exit 0 + echo + echo "Kraken installation complete." + echo diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..1cb33b0 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1 @@ +kraken_tmp_dir.patch diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..d230454 --- /dev/null +++ b/debian/rules @@ -0,0 +1,31 @@ +#!/usr/bin/make -f + +# DH_VERBOSE := 1 + +# some helpful variables - uncomment them if needed +# shamelessly stolen from http://jmtd.net/log/awk/ +#DEBVERS := $(shell dpkg-parsechangelog | awk '/^Version:/ {print $$2}') +#VERSION := $(shell echo '$(DEBVERS)' | sed -e 's/^[0-9]*://' -e 's/-.*//') +#DEBFLAVOR := $(shell dpkg-parsechangelog | awk '/^Distribution:/ {print $$2}') +DEBPKGNAME := $(shell dpkg-parsechangelog | awk '/^Source:/ {print $$2}') +#DEBIAN_BRANCH := $(shell awk 'BEGIN{FS="[= ]+"} /debian-branch/ {print $$2}' debian/gbp.conf) +#GIT_TAG := $(subst ~,_,$(VERSION)) + +# alternatively to manually set those variables, you can +# include /usr/share/dpkg/default.mk +# and use what is set there. + +%: + dh $@ --sourcedirectory=src + +override_dh_link: + dh_link + for file in $(CURDIR)/debian/$(DEBPKGNAME)/usr/lib/$(DEBPKGNAME)/kraken* ; do \ + if ! echo $${file} | grep -q '\.pm$$' ; then \ + ln -s ../lib/$(DEBPKGNAME)/`basename $${file}` $(CURDIR)/debian/$(DEBPKGNAME)/usr/bin/`basename $${file}` ; \ + fi \ + done + +override_dh_auto_install: + dh_auto_install -- KRAKEN_DIR=$(CURDIR)/debian/$(DEBPKGNAME)/usr/lib/$(DEBPKGNAME) + ./install_kraken.sh /usr/lib/$(DEBPKGNAME) $(DEBPKGNAME) diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/upstream/metadata b/debian/upstream/metadata new file mode 100644 index 0000000..1c070c8 --- /dev/null +++ b/debian/upstream/metadata @@ -0,0 +1,12 @@ +Reference: + Author: Derrick E Wood and Steven L Salzberg + Title: "Kraken: ultrafast metagenomic sequence classification using exact alignments" + Journal: Genome Biol. + Year: 2014 + Volume: 15 + Number: 3 + Pages: R46 + DOI: 10.1186/gb-2014-15-3-r46 + PMID: 24580807 + URL: http://www.genomebiology.com/2014/15/3/R46 + eprint: http://www.genomebiology.com/content/pdf/gb-2014-15-3-r46.pdf diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..db38634 --- /dev/null +++ b/debian/watch @@ -0,0 +1,7 @@ +version=3 + +opts="uversionmangle=s{-beta}{~beta},filenamemangle=s{-beta}{~beta}" + https://github.com/DerrickWood/kraken/releases .*/archive/v(\d[\d.beta-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz) + +## FIXME: Mangling does not work. Here is an exampke from repmgr package. Try this later. +## opts="uversionmangle=s/((?i)alpha|beta|rc)/~\L$1\E/,filenamemangle=s/(repmgr-.+?)((?i)alpha|beta|rc)/$1~\L$2\E/,pgpsigurlmangle=s/$/.asc/" \ \ No newline at end of file -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/kraken.git _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
