pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

hisat2: Alignment program for mapping next-generation sequencing reads



Module Name:	pkgsrc-wip
Committed By:	Jason Bacon <bacon%NetBSD.org@localhost>
Pushed By:	outpaddling
Date:		Sun Jan 13 08:20:47 2019 -0600
Changeset:	2470efe5c453dfccc8f2fd5f0be3c95f88be00a1

Modified Files:
	Makefile
Added Files:
	hisat2/DESCR
	hisat2/Makefile
	hisat2/PLIST
	hisat2/distinfo
	hisat2/files/Makefile.pkg
	hisat2/patches/patch-hisat2

Log Message:
hisat2: Alignment program for mapping next-generation sequencing reads

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=2470efe5c453dfccc8f2fd5f0be3c95f88be00a1

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                    |   1 +
 hisat2/DESCR                |   3 +
 hisat2/Makefile             |  35 ++++
 hisat2/PLIST                |  87 +++++++++
 hisat2/distinfo             |   7 +
 hisat2/files/Makefile.pkg   | 446 ++++++++++++++++++++++++++++++++++++++++++++
 hisat2/patches/patch-hisat2 |  15 ++
 7 files changed, 594 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index d28a49a06f..c12c9d3d55 100644
--- a/Makefile
+++ b/Makefile
@@ -1277,6 +1277,7 @@ SUBDIR+=	hgsubversion
 SUBDIR+=	higan
 SUBDIR+=	higgsbounds
 SUBDIR+=	hijra
+SUBDIR+=	hisat2
 SUBDIR+=	hlint
 SUBDIR+=	hmmer
 SUBDIR+=	honggfuzz-git
diff --git a/hisat2/DESCR b/hisat2/DESCR
new file mode 100644
index 0000000000..b2a627c14e
--- /dev/null
+++ b/hisat2/DESCR
@@ -0,0 +1,3 @@
+HISAT2 is a fast and sensitive alignment program for mapping next-generation
+sequencing reads (both DNA and RNA) to a population of human genomes (as well
+as to a single reference genome).
diff --git a/hisat2/Makefile b/hisat2/Makefile
new file mode 100644
index 0000000000..16235bcf49
--- /dev/null
+++ b/hisat2/Makefile
@@ -0,0 +1,35 @@
+# $NetBSD$
+#
+###########################################################
+#                  Generated by fbsd2pkg                  #
+#              Sat Jan 12 21:39:55 CST 2019               #
+###########################################################
+
+# What's the canonical way to specify github commits in PKGNAME?
+# Using post-release commit # here
+DISTNAME=	hisat2-2.1.0.23
+CATEGORIES=	biology
+MASTER_SITES=	${MASTER_SITE_GITHUB:=infphilo/}
+GITHUB_PROJECT=	hisat2
+GITHUB_TAG=	20f333e2cfe7ff4d1362b248912893e2644683d7
+
+MAINTAINER=	bacon%NetBSD.org@localhost
+HOMEPAGE=	https://ccb.jhu.edu/software/hisat2/index.shtml
+COMMENT=	Alignment program for mapping next-generation sequencing reads
+LICENSE=	gnu-gpl-v3
+
+# 64-bit code, some assembly language
+ONLY_FOR_PLATFORM=	 *-*-x86_64
+
+USE_LANGUAGES=	c c++
+USE_TOOLS+=	bash gmake perl
+
+REPLACE_BASH=		hisatgenotype_scripts/*.sh
+REPLACE_PERL=		hisat2 scripts/*.sh scripts/*.pl
+REPLACE_PYTHON=		*.py hisat2-build hisat2-inspect
+REPLACE_PYTHON+=	hisatgenotype_modules/*.py hisatgenotype_scripts/*.py
+
+MAKE_FILE=	${FILESDIR}/Makefile.pkg
+
+.include "../../lang/python/application.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/hisat2/PLIST b/hisat2/PLIST
new file mode 100644
index 0000000000..c6404eeb56
--- /dev/null
+++ b/hisat2/PLIST
@@ -0,0 +1,87 @@
+@comment $NetBSD$
+bin/hisat2
+bin/hisat2-align-l
+bin/hisat2-align-s
+bin/hisat2-build
+bin/hisat2-build-l
+bin/hisat2-build-s
+bin/hisat2-inspect
+bin/hisat2-inspect-l
+bin/hisat2-inspect-s
+libexec/hisat2/compare_HLA_Omixon.py
+libexec/hisat2/convert_quals.pl
+libexec/hisat2/extract_Omixon_HLA.py
+libexec/hisat2/extract_exons.py
+libexec/hisat2/extract_splice_sites.py
+libexec/hisat2/gen_2b_occ_lookup.pl
+libexec/hisat2/gen_occ_lookup.pl
+libexec/hisat2/gen_solqual_lookup.pl
+libexec/hisat2/hisat2_extract_exons.py
+libexec/hisat2/hisat2_extract_snps_haplotypes_UCSC.py
+libexec/hisat2/hisat2_extract_snps_haplotypes_VCF.py
+libexec/hisat2/hisat2_extract_splice_sites.py
+libexec/hisat2/hisat2_simulate_reads.py
+libexec/hisat2/hisatgenotype.py
+libexec/hisat2/hisatgenotype_HLA_genotyping_PGs.py
+libexec/hisat2/hisatgenotype_assembly_graph.py
+libexec/hisat2/hisatgenotype_build_genome.py
+libexec/hisat2/hisatgenotype_convert_codis.py
+libexec/hisat2/hisatgenotype_extract_codis_data.py
+libexec/hisat2/hisatgenotype_extract_cyp_data.py
+libexec/hisat2/hisatgenotype_extract_reads.py
+libexec/hisat2/hisatgenotype_extract_vars.py
+libexec/hisat2/hisatgenotype_gene_typing.py
+libexec/hisat2/hisatgenotype_hla_cyp.py
+libexec/hisat2/hisatgenotype_locus.py
+libexec/hisat2/hisatgenotype_locus_samples.py
+libexec/hisat2/hisatgenotype_typing_common.py
+libexec/hisat2/infer_fraglen.pl
+libexec/hisat2/make_a_thaliana_tair.sh
+libexec/hisat2/make_b_taurus_UMD3.sh
+libexec/hisat2/make_bdgp6.sh
+libexec/hisat2/make_bdgp6_tran.sh
+libexec/hisat2/make_canFam2.sh
+libexec/hisat2/make_ce10.sh
+libexec/hisat2/make_dm6.sh
+libexec/hisat2/make_e_coli.sh
+libexec/hisat2/make_grch37.sh
+libexec/hisat2/make_grch37_snp.sh
+libexec/hisat2/make_grch37_snp_tran.sh
+libexec/hisat2/make_grch37_snp_tran_ercc.sh
+libexec/hisat2/make_grch37_tran.sh
+libexec/hisat2/make_grch38.sh
+libexec/hisat2/make_grch38_snp.sh
+libexec/hisat2/make_grch38_snp_tran.sh
+libexec/hisat2/make_grch38_snp_tran_ercc.sh
+libexec/hisat2/make_grch38_tran.sh
+libexec/hisat2/make_grcm38.sh
+libexec/hisat2/make_grcm38_snp.sh
+libexec/hisat2/make_grcm38_snp_tran.sh
+libexec/hisat2/make_grcm38_tran.sh
+libexec/hisat2/make_hg19.sh
+libexec/hisat2/make_hg38.sh
+libexec/hisat2/make_hg38_allsnp.sh
+libexec/hisat2/make_hg38_snp.sh
+libexec/hisat2/make_hg38_snp_tran.sh
+libexec/hisat2/make_mm10.sh
+libexec/hisat2/make_mm9.sh
+libexec/hisat2/make_r64.sh
+libexec/hisat2/make_r64_tran.sh
+libexec/hisat2/make_rn4.sh
+libexec/hisat2/make_rn6.sh
+libexec/hisat2/make_rnor6.sh
+libexec/hisat2/make_rnor6_tran.sh
+libexec/hisat2/make_sc3.sh
+libexec/hisat2/make_wbcel235.sh
+libexec/hisat2/make_wbcel235_tran.sh
+libexec/hisat2/make_zm3_snp_tran_ercc.sh
+libexec/hisat2/run_extract_CP.sh
+libexec/hisat2/run_extract_ILMN.sh
+libexec/hisat2/run_genotype_build.sh
+libexec/hisat2/run_hisat2_build.sh
+libexec/hisat2/run_type_CP.sh
+@pkgdir share/examples
+@pkgdir share/doc
+@pkgdir man/man1
+@pkgdir lib
+@pkgdir include
diff --git a/hisat2/distinfo b/hisat2/distinfo
new file mode 100644
index 0000000000..d0a7e91a37
--- /dev/null
+++ b/hisat2/distinfo
@@ -0,0 +1,7 @@
+$NetBSD$
+
+SHA1 (hisat2-2.1.0.23-20f333e2cfe7ff4d1362b248912893e2644683d7.tar.gz) = 4d06c888a4e21eb1a5bf5d7d1cae308c96fbc80e
+RMD160 (hisat2-2.1.0.23-20f333e2cfe7ff4d1362b248912893e2644683d7.tar.gz) = 71f956d15b7d6d610a71a7026baa89115224b359
+SHA512 (hisat2-2.1.0.23-20f333e2cfe7ff4d1362b248912893e2644683d7.tar.gz) = 5514f7462a6738e5fed5ef3bd2eb782e867178cd68eb36324407628b446a151d096326d859b2986877a26206ad182281ecac29f2abd01991c0640c5e4c5e5e0b
+Size (hisat2-2.1.0.23-20f333e2cfe7ff4d1362b248912893e2644683d7.tar.gz) = 3975385 bytes
+SHA1 (patch-hisat2) = ea55c8a99dcd2fd3651e832fbb402b94d0ea3fed
diff --git a/hisat2/files/Makefile.pkg b/hisat2/files/Makefile.pkg
new file mode 100644
index 0000000000..451fd441c7
--- /dev/null
+++ b/hisat2/files/Makefile.pkg
@@ -0,0 +1,446 @@
+#
+# Generic Makefile for package managers
+# J Bacon <bacon4000%gmail.com@localhost>
+#
+# This Makefile respects standard make variables provided by package
+# managers, such as CXX, CXXFLAGS, etc.  It is intended to work on
+# any POSIX platform.  Default behaviour should be similar to the
+# original Makefile.
+#
+# This file is part of HISAT2.
+#
+# HISAT 2 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.
+#
+# HISAT 2 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 HISAT.  If not, see <http://www.gnu.org/licenses/>.
+#
+
+INC =
+GCC_PREFIX = $(shell dirname `which gcc`)
+GCC_SUFFIX =
+
+CC	?= $(GCC_PREFIX)/gcc$(GCC_SUFFIX)
+CPP	?= $(GCC_PREFIX)/g++$(GCC_SUFFIX)
+CXX	?= $(CPP)
+CXXFLAGS ?= -O2 -Wall
+INSTALL	?= install
+
+HEADERS = $(wildcard *.h)
+BOWTIE_MM = 1
+BOWTIE_SHARED_MEM = 0
+
+MACOS = 0
+ifneq (,$(findstring Darwin,$(shell uname)))
+	MACOS = 1
+endif
+
+# EXTRA_FLAGS += -DPOPCNT_CAPABILITY
+INC += -I third_party
+
+MM_DEF = 
+
+ifeq (1,$(BOWTIE_MM))
+	MM_DEF = -DBOWTIE_MM
+endif
+
+SHMEM_DEF = 
+
+ifeq (1,$(BOWTIE_SHARED_MEM))
+	SHMEM_DEF = -DBOWTIE_SHARED_MEM
+endif
+
+PTHREAD_PKG =
+PTHREAD_LIB = -lpthread
+
+SEARCH_LIBS = 
+BUILD_LIBS = 
+INSPECT_LIBS =
+
+USE_SRA = 0
+SRA_DEF =
+SRA_LIB =
+SERACH_INC = 
+ifeq (1,$(USE_SRA))
+	SRA_DEF = -DUSE_SRA
+	SRA_LIB = -lncbi-ngs-c++-static -lngs-c++-static -lncbi-vdb-static -ldl
+	SEARCH_INC += -I$(NCBI_NGS_DIR)/include -I$(NCBI_VDB_DIR)/include
+	SEARCH_LIBS += -L$(NCBI_NGS_DIR)/lib64 -L$(NCBI_VDB_DIR)/lib64
+endif
+
+LIBS = $(PTHREAD_LIB)
+
+SHARED_CPPS = ccnt_lut.cpp ref_read.cpp alphabet.cpp shmem.cpp \
+	edit.cpp gfm.cpp \
+	reference.cpp ds.cpp multikey_qsort.cpp limit.cpp \
+	random_source.cpp tinythread.cpp
+SEARCH_CPPS = qual.cpp pat.cpp \
+	read_qseq.cpp aligner_seed_policy.cpp \
+	aligner_seed.cpp \
+	aligner_seed2.cpp \
+	aligner_sw.cpp \
+	aligner_sw_driver.cpp aligner_cache.cpp \
+	aligner_result.cpp ref_coord.cpp mask.cpp \
+	pe.cpp aln_sink.cpp dp_framer.cpp \
+	scoring.cpp presets.cpp unique.cpp \
+	simple_func.cpp \
+	random_util.cpp \
+	aligner_bt.cpp sse_util.cpp \
+	aligner_swsse.cpp outq.cpp \
+	aligner_swsse_loc_i16.cpp \
+	aligner_swsse_ee_i16.cpp \
+	aligner_swsse_loc_u8.cpp \
+	aligner_swsse_ee_u8.cpp \
+	aligner_driver.cpp \
+	splice_site.cpp 
+
+SEARCH_OBJS = qual.o pat.o \
+	read_qseq.o aligner_seed_policy.o \
+	aligner_seed.o \
+	aligner_seed2.o \
+	aligner_sw.o \
+	aligner_sw_driver.o aligner_cache.o \
+	aligner_result.o ref_coord.o mask.o \
+	pe.o aln_sink.o dp_framer.o \
+	scoring.o presets.o unique.o \
+	simple_func.o \
+	random_util.o \
+	aligner_bt.o sse_util.o \
+	aligner_swsse.o outq.o \
+	aligner_swsse_loc_i16.o \
+	aligner_swsse_ee_i16.o \
+	aligner_swsse_loc_u8.o \
+	aligner_swsse_ee_u8.o \
+	aligner_driver.o \
+	splice_site.o 
+
+BUILD_CPPS = diff_sample.cpp
+
+HISAT2_CPPS_MAIN = $(SEARCH_CPPS) hisat2_main.cpp
+HISAT2_BUILD_CPPS_MAIN = $(BUILD_CPPS) hisat2_build_main.cpp
+
+SEARCH_FRAGMENTS = $(wildcard search_*_phase*.c)
+VERSION = $(shell cat VERSION)
+
+DEBUG_FLAGS    = $(CXXFLAGS) -O0 -g3
+DEBUG_DEFS     = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(EXTRA_FLAGS)\""
+RELEASE_FLAGS  = $(CXXFLAGS)
+RELEASE_DEFS   = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(EXTRA_FLAGS)\""
+NOASSERT_FLAGS = -DNDEBUG
+FILE_FLAGS     = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
+
+ifeq (1,$(USE_SRA))
+	ifeq (1, $(MACOS))
+		DEBUG_FLAGS += -mmacosx-version-min=10.6
+		RELEASE_FLAGS += -mmacosx-version-min=10.6
+	endif
+endif
+
+
+HISAT2_BIN_LIST = hisat2-build-s \
+	hisat2-build-l \
+	hisat2-align-s \
+	hisat2-align-l \
+	hisat2-inspect-s \
+	hisat2-inspect-l
+HISAT2_BIN_LIST_AUX = hisat2-build-s-debug \
+	hisat2-build-l-debug \
+	hisat2-align-s-debug \
+	hisat2-align-l-debug \
+	hisat2-inspect-s-debug \
+	hisat2-inspect-l-debug
+
+GENERAL_LIST = $(wildcard scripts/*.sh) \
+	$(wildcard scripts/*.pl) \
+	$(wildcard *.py) \
+	$(wildcard hisatgenotype_modules/*.py) \
+	$(wildcard hisatgenotype_scripts/*.py) \
+	doc/manual.inc.html \
+	doc/README \
+	doc/style.css \
+	$(wildcard example/index/*.ht2) \
+	$(wildcard example/reads/*.fa) \
+	example/reference/22_20-21M.fa \
+	example/reference/22_20-21M.snp \
+	$(PTHREAD_PKG) \
+	hisat2 \
+	hisat2-build \
+	hisat2-inspect \
+	AUTHORS \
+	LICENSE \
+	NEWS \
+	MANUAL \
+	MANUAL.markdown \
+	TUTORIAL \
+	VERSION
+
+ifeq (1,$(WINDOWS))
+	HISAT2_BIN_LIST := $(HISAT2_BIN_LIST) hisat2.bat hisat2-build.bat hisat2-inspect.bat 
+endif
+
+# This is helpful on Windows under MinGW/MSYS, where Make might go for
+# the Windows FIND tool instead.
+FIND=$(shell which find)
+
+SRC_PKG_LIST = $(wildcard *.h) \
+	$(wildcard *.hh) \
+	$(wildcard *.c) \
+	$(wildcard *.cpp) \
+	doc/strip_markdown.pl \
+	Makefile \
+	$(GENERAL_LIST)
+
+BIN_PKG_LIST = $(GENERAL_LIST)
+
+.PHONY: all allall both both-debug install
+
+all: $(HISAT2_BIN_LIST)
+
+allall: $(HISAT2_BIN_LIST) $(HISAT2_BIN_LIST_AUX)
+
+both: hisat2-align-s hisat2-align-l hisat2-build-s hisat2-build-l
+
+both-debug: hisat2-align-s-debug hisat2-align-l-debug hisat2-build-s-debug hisat2-build-l-debug
+
+DEFS=-fno-strict-aliasing \
+     -DHISAT2_VERSION="\"`cat VERSION`\"" \
+     -DBUILD_HOST="\"`hostname`\"" \
+     -DBUILD_TIME="\"`date`\"" \
+     -DCOMPILER_VERSION="\"`$(CXX) -v 2>&1 | tail -1`\"" \
+     $(FILE_FLAGS) \
+     $(PREF_DEF) \
+     $(MM_DEF) \
+     $(SHMEM_DEF)
+
+#
+# hisat-bp targets
+#
+
+hisat-bp-bin: hisat_bp.cpp $(SEARCH_CPPS) $(SHARED_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
+	$(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(EXTRA_FLAGS) \
+	$(DEFS) -DBOWTIE2 $(NOASSERT_FLAGS) \
+	$(INC) \
+	-o $@ $< \
+	$(SHARED_CPPS) $(HISAT_CPPS_MAIN) \
+	$(LIBS) $(SEARCH_LIBS)
+
+hisat-bp-bin-debug: hisat_bp.cpp $(SEARCH_CPPS) $(SHARED_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
+	$(CXX) $(DEBUG_FLAGS) \
+	$(DEBUG_DEFS) $(EXTRA_FLAGS) \
+	$(DEFS) -DBOWTIE2 \
+	$(INC) \
+	-o $@ $< \
+	$(SHARED_CPPS) $(HISAT_CPPS_MAIN) \
+	$(LIBS) $(SEARCH_LIBS)
+
+
+#
+# hisat2-build targets
+#
+
+hisat2-build-s: hisat2_build.cpp $(SHARED_CPPS) $(HEADERS)
+	$(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(EXTRA_FLAGS) \
+	$(DEFS) -DBOWTIE2 $(NOASSERT_FLAGS) -DMASSIVE_DATA_RLCSA \
+	$(INC) \
+	-o $@ $< \
+	$(SHARED_CPPS) $(HISAT2_BUILD_CPPS_MAIN) \
+	$(LIBS) $(BUILD_LIBS)
+
+hisat2-build-l: hisat2_build.cpp $(SHARED_CPPS) $(HEADERS)
+	$(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(EXTRA_FLAGS) \
+	$(DEFS) -DBOWTIE2 -DBOWTIE_64BIT_INDEX $(NOASSERT_FLAGS) \
+	$(INC) \
+	-o $@ $< \
+	$(SHARED_CPPS) $(HISAT2_BUILD_CPPS_MAIN) \
+	$(LIBS) $(BUILD_LIBS)
+
+hisat2-build-s-debug: hisat2_build.cpp $(SHARED_CPPS) $(HEADERS)
+	$(CXX) $(DEBUG_FLAGS) $(DEBUG_DEFS) $(EXTRA_FLAGS) \
+	$(DEFS) -DBOWTIE2 -DMASSIVE_DATA_RLCSA \
+	$(INC) \
+	-o $@ $< \
+	$(SHARED_CPPS) $(HISAT2_BUILD_CPPS_MAIN) \
+	$(LIBS) $(BUILD_LIBS)
+
+hisat2-build-l-debug: hisat2_build.cpp $(SHARED_CPPS) $(HEADERS)
+	$(CXX) $(DEBUG_FLAGS) $(DEBUG_DEFS) $(EXTRA_FLAGS) \
+	$(DEFS) -DBOWTIE2 -DBOWTIE_64BIT_INDEX \
+	$(INC) \
+	-o $@ $< \
+	$(SHARED_CPPS) $(HISAT2_BUILD_CPPS_MAIN) \
+	$(LIBS) $(BUILD_LIBS)
+
+#
+# hisat2 targets
+#
+
+hisat2-align-s: hisat2.cpp $(SEARCH_CPPS) $(SHARED_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
+	$(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(EXTRA_FLAGS) \
+	$(DEFS) $(SRA_DEF) -DBOWTIE2 $(NOASSERT_FLAGS) \
+	$(INC) $(SEARCH_INC) \
+	-o $@ $< \
+	$(SHARED_CPPS) $(HISAT2_CPPS_MAIN) \
+	$(LIBS) $(SRA_LIB) $(SEARCH_LIBS)
+
+hisat2-align-l: hisat2.cpp $(SEARCH_CPPS) $(SHARED_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
+	$(CXX) $(RELEASE_FLAGS) $(RELEASE_DEFS) $(EXTRA_FLAGS) \
+	$(DEFS) $(SRA_DEF) -DBOWTIE2 -DBOWTIE_64BIT_INDEX $(NOASSERT_FLAGS) \
+	$(INC) $(SEARCH_INC) \
+	-o $@ $< \
+	$(SHARED_CPPS) $(HISAT2_CPPS_MAIN) \
+	$(LIBS) $(SRA_LIB) $(SEARCH_LIBS)
+
+hisat2-align-s-debug: hisat2.cpp $(SEARCH_CPPS) $(SHARED_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
+	$(CXX) $(DEBUG_FLAGS) \
+	$(DEBUG_DEFS) $(EXTRA_FLAGS) \
+	$(DEFS) $(SRA_DEF) -DBOWTIE2 \
+	$(INC) $(SEARCH_INC) \
+	-o $@ $< \
+	$(SHARED_CPPS) $(HISAT2_CPPS_MAIN) \
+	$(LIBS) $(SRA_LIB) $(SEARCH_LIBS)
+
+hisat2-align-l-debug: hisat2.cpp $(SEARCH_CPPS) $(SHARED_CPPS) $(HEADERS) $(SEARCH_FRAGMENTS)
+	$(CXX) $(DEBUG_FLAGS) \
+	$(DEBUG_DEFS) $(EXTRA_FLAGS) \
+	$(DEFS) $(SRA_DEF) -DBOWTIE2 -DBOWTIE_64BIT_INDEX \
+	$(INC) $(SEARCH_INC) \
+	-o $@ $< \
+	$(SHARED_CPPS) $(HISAT2_CPPS_MAIN) \
+	$(LIBS) $(SRA_LIB) $(SEARCH_LIBS)
+
+#
+# hisat2-inspect targets
+#
+
+hisat2-inspect-s: hisat2_inspect.cpp $(HEADERS) $(SHARED_CPPS)
+	$(CXX) $(RELEASE_FLAGS) \
+	$(RELEASE_DEFS) $(EXTRA_FLAGS) \
+	$(DEFS) -DBOWTIE2 -DHISAT2_INSPECT_MAIN \
+	$(INC) -I . \
+	-o $@ $< \
+	$(SHARED_CPPS) \
+	$(LIBS) $(INSPECT_LIBS)
+
+hisat2-inspect-l: hisat2_inspect.cpp $(HEADERS) $(SHARED_CPPS)
+	$(CXX) $(RELEASE_FLAGS) \
+	$(RELEASE_DEFS) $(EXTRA_FLAGS) \
+	$(DEFS) -DBOWTIE2 -DBOWTIE_64BIT_INDEX -DHISAT2_INSPECT_MAIN \
+	$(INC) -I . \
+	-o $@ $< \
+	$(SHARED_CPPS) \
+	$(LIBS) $(INSPECT_LIBS)
+
+hisat2-inspect-s-debug: hisat2_inspect.cpp $(HEADERS) $(SHARED_CPPS) 
+	$(CXX) $(DEBUG_FLAGS) \
+	$(DEBUG_DEFS) $(EXTRA_FLAGS) \
+	$(DEFS) -DBOWTIE2 -DHISAT2_INSPECT_MAIN \
+	$(INC) -I . \
+	-o $@ $< \
+	$(SHARED_CPPS) \
+	$(LIBS) $(INSPECT_LIBS)
+
+hisat2-inspect-l-debug: hisat2_inspect.cpp $(HEADERS) $(SHARED_CPPS) 
+	$(CXX) $(DEBUG_FLAGS) \
+	$(DEBUG_DEFS) $(EXTRA_FLAGS) \
+	$(DEFS) -DBOWTIE2 -DBOWTIE_64BIT_INDEX -DHISAT2_INSPECT_MAIN \
+	$(INC) -I . \
+	-o $@ $< \
+	$(SHARED_CPPS) \
+	$(LIBS) $(INSPECT_LIBS)
+
+%.o: %.cpp
+	$(CXX) -c $(RELEASE_FLAGS) \
+		$(RELEASE_DEFS) $(EXTRA_FLAGS) \
+		$(DEFS) -DBOWTIE2 -DHISAT2_INSPECT_MAIN \
+		$(INC) -I . $< -o $@ $<
+
+hisat2: ;
+
+hisat2.bat:
+	echo "@echo off" > hisat2.bat
+	echo "perl %~dp0/hisat2 %*" >> hisat2.bat
+
+hisat2-build.bat:
+	echo "@echo off" > hisat2-build.bat
+	echo "python %~dp0/hisat2-build %*" >> hisat2-build.bat
+
+hisat2-inspect.bat:
+	echo "@echo off" > hisat2-inspect.bat
+	echo "python %~dp0/hisat2-inspect %*" >> hisat2-inspect.bat
+
+
+.PHONY: hisat2-src
+hisat2-src: $(SRC_PKG_LIST)
+	chmod a+x scripts/*.sh scripts/*.pl
+	mkdir .src.tmp
+	mkdir .src.tmp/hisat2-$(VERSION)
+	zip tmp.zip $(SRC_PKG_LIST)
+	mv tmp.zip .src.tmp/hisat2-$(VERSION)
+	cd .src.tmp/hisat2-$(VERSION) ; unzip tmp.zip ; rm -f tmp.zip
+	cd .src.tmp ; zip -r hisat2-$(VERSION)-source.zip hisat2-$(VERSION)
+	cp .src.tmp/hisat2-$(VERSION)-source.zip .
+	rm -rf .src.tmp
+
+.PHONY: hisat2-bin
+hisat2-bin: $(BIN_PKG_LIST) $(HISAT2_BIN_LIST) $(HISAT2_BIN_LIST_AUX)
+	chmod a+x scripts/*.sh scripts/*.pl
+	rm -rf .bin.tmp
+	mkdir .bin.tmp
+	mkdir .bin.tmp/hisat2-$(VERSION)
+	if [ -f hisat2.exe ] ; then \
+		zip tmp.zip $(BIN_PKG_LIST) $(addsuffix .exe,$(HISAT2_BIN_LIST) $(HISAT2_BIN_LIST_AUX)) ; \
+	else \
+		zip tmp.zip $(BIN_PKG_LIST) $(HISAT2_BIN_LIST) $(HISAT2_BIN_LIST_AUX) ; \
+	fi
+	mv tmp.zip .bin.tmp/hisat2-$(VERSION)
+	cd .bin.tmp/hisat2-$(VERSION) ; unzip tmp.zip ; rm -f tmp.zip
+	cd .bin.tmp ; zip -r hisat2-$(VERSION)-$(BITS).zip hisat2-$(VERSION)
+	cp .bin.tmp/hisat2-$(VERSION)-$(BITS).zip .
+	rm -rf .bin.tmp
+
+.PHONY: doc
+doc: doc/manual.inc.html MANUAL
+
+doc/manual.inc.html: MANUAL.markdown
+	pandoc -T "HISAT2 Manual" -o $@ \
+	 --from markdown --to HTML --toc $^
+	perl -i -ne \
+	 '$$w=0 if m|^</body>|;print if $$w;$$w=1 if m|^<body>|;' $@
+
+MANUAL: MANUAL.markdown
+	perl doc/strip_markdown.pl < $^ > $@
+
+# Install per filesystem hierarchy standard:
+# https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
+
+.PHONY: install
+install:
+	mkdir -p ${DESTDIR}${PREFIX}/bin
+	${INSTALL} -c -s ${HISAT2_BIN_LIST} ${DESTDIR}${PREFIX}/bin
+	${INSTALL} -c hisat2 hisat2-build hisat2-inspect \
+		${DESTDIR}${PREFIX}/bin
+
+	mkdir -p ${DESTDIR}${PREFIX}/libexec/hisat2
+	${INSTALL} -c scripts/*.sh scripts/*.pl *.py \
+		hisatgenotype_modules/hisat*.py \
+		hisatgenotype_scripts/*.py hisatgenotype_scripts/*.sh \
+		${DESTDIR}${PREFIX}/libexec/hisat2
+
+.PHONY: clean
+clean:
+	rm -f $(HISAT2_BIN_LIST) $(HISAT2_BIN_LIST_AUX) \
+	$(addsuffix .exe,$(HISAT2_BIN_LIST) $(HISAT2_BIN_LIST_AUX)) \
+	hisat2-src.zip hisat2-bin.zip
+	rm -f core.* .tmp.head
+	rm -rf *.dSYM
+
+.PHONY: push-doc
+push-doc: doc/manual.inc.html
+	scp doc/*.*html doc/indexes.txt salz-dmz:/ccb/salz7-data/www/ccb.jhu.edu/html/software/hisat2/
diff --git a/hisat2/patches/patch-hisat2 b/hisat2/patches/patch-hisat2
new file mode 100644
index 0000000000..2b70c3c625
--- /dev/null
+++ b/hisat2/patches/patch-hisat2
@@ -0,0 +1,15 @@
+$NetBSD$
+
+# Limit Windows-specific patches to Windows
+
+--- hisat2.orig	2018-11-07 21:43:32 UTC
++++ hisat2
+@@ -45,7 +45,7 @@ while (-f $prog && -l $prog){
+ 
+ ($vol,$script_path,$prog) 
+                 = File::Spec->splitpath($prog);
+-my $os_is_nix   = ($^O eq "linux") || ($^O eq "darwin");
++my $os_is_nix   = ($^O ne "MSWin32") && ($^O ne "MSWin64");
+ my $align_bin_s = $os_is_nix ? 'hisat2-align-s' : 'hisat2-align-s.exe'; 
+ my $build_bin   = $os_is_nix ? 'hisat2-build' : 'hisat2-build.exe';               
+ my $align_bin_l = $os_is_nix ? 'hisat2-align-l' : 'hisat2-align-l.exe'; 


Home | Main Index | Thread Index | Old Index