summaryrefslogtreecommitdiff
path: root/biology
diff options
context:
space:
mode:
authorbacon <bacon@pkgsrc.org>2019-01-15 01:26:29 +0000
committerbacon <bacon@pkgsrc.org>2019-01-15 01:26:29 +0000
commitde5dfa4079ee9b34bbb4725e7d87c26028704c6c (patch)
treed5de6dea61d590fa1314ccadade3f0ccfb606224 /biology
parent16a20c649fab2c1e47a0a3af50d3fd3fc4c9d67a (diff)
downloadpkgsrc-de5dfa4079ee9b34bbb4725e7d87c26028704c6c.tar.gz
biology/hisat2: import hisat2-2.1.0.23
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).
Diffstat (limited to 'biology')
-rw-r--r--biology/hisat2/DESCR3
-rw-r--r--biology/hisat2/Makefile29
-rw-r--r--biology/hisat2/PLIST82
-rw-r--r--biology/hisat2/distinfo7
-rw-r--r--biology/hisat2/files/Makefile.pkg443
-rw-r--r--biology/hisat2/patches/patch-hisat215
6 files changed, 579 insertions, 0 deletions
diff --git a/biology/hisat2/DESCR b/biology/hisat2/DESCR
new file mode 100644
index 00000000000..b2a627c14e9
--- /dev/null
+++ b/biology/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/biology/hisat2/Makefile b/biology/hisat2/Makefile
new file mode 100644
index 00000000000..0dd8c1c8ebd
--- /dev/null
+++ b/biology/hisat2/Makefile
@@ -0,0 +1,29 @@
+# $NetBSD: Makefile,v 1.1 2019/01/15 01:26:29 bacon Exp $
+
+DISTNAME= hisat2-2.1.0.23
+CATEGORIES= biology
+MASTER_SITES= ${MASTER_SITE_GITHUB:=infphilo/}
+GITHUB_TAG= 20f333e2cfe7ff4d1362b248912893e2644683d7
+
+MAINTAINER= bacon@NetBSD.org
+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
+PTHREAD_AUTO_VARS= yes
+
+.include "../../lang/python/application.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/biology/hisat2/PLIST b/biology/hisat2/PLIST
new file mode 100644
index 00000000000..ed5abbaf8c5
--- /dev/null
+++ b/biology/hisat2/PLIST
@@ -0,0 +1,82 @@
+@comment $NetBSD: PLIST,v 1.1 2019/01/15 01:26:29 bacon Exp $
+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
diff --git a/biology/hisat2/distinfo b/biology/hisat2/distinfo
new file mode 100644
index 00000000000..7bd9703152e
--- /dev/null
+++ b/biology/hisat2/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1 2019/01/15 01:26:29 bacon Exp $
+
+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/biology/hisat2/files/Makefile.pkg b/biology/hisat2/files/Makefile.pkg
new file mode 100644
index 00000000000..c70690ac2e5
--- /dev/null
+++ b/biology/hisat2/files/Makefile.pkg
@@ -0,0 +1,443 @@
+#
+# Generic Makefile for package managers
+# J Bacon <bacon4000@gmail.com>
+#
+# 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
+
+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 = $(LDFLAGS)
+
+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/biology/hisat2/patches/patch-hisat2 b/biology/hisat2/patches/patch-hisat2
new file mode 100644
index 00000000000..14f5d49d13d
--- /dev/null
+++ b/biology/hisat2/patches/patch-hisat2
@@ -0,0 +1,15 @@
+$NetBSD: patch-hisat2,v 1.1 2019/01/15 01:26:29 bacon Exp $
+
+# 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';