hisat2: Alignment program for mapping next-generation sequencing reads

This commit is contained in:
Jason Bacon 2019-01-13 08:20:47 -06:00
parent f91d9a170d
commit 2470efe5c4
7 changed files with 594 additions and 0 deletions

View File

@ -1277,6 +1277,7 @@ SUBDIR+= hgsubversion
SUBDIR+= higan
SUBDIR+= higgsbounds
SUBDIR+= hijra
SUBDIR+= hisat2
SUBDIR+= hlint
SUBDIR+= hmmer
SUBDIR+= honggfuzz-git

3
hisat2/DESCR Normal file
View File

@ -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).

35
hisat2/Makefile Normal file
View File

@ -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
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"

87
hisat2/PLIST Normal file
View File

@ -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

7
hisat2/distinfo Normal file
View File

@ -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

446
hisat2/files/Makefile.pkg Normal file
View File

@ -0,0 +1,446 @@
#
# 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
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/

View File

@ -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';