forked from Lainports/freebsd-ports
biology/star: Update to 2.7.9a
Also unbundle htslib Changes: https://github.com/alexdobin/STAR/releases/tag/2.7.9a
This commit is contained in:
parent
81c7eb4553
commit
869afa4fe6
8 changed files with 162 additions and 35 deletions
|
|
@ -1,6 +1,5 @@
|
|||
PORTNAME= STAR
|
||||
DISTVERSION= 2.7.3a
|
||||
PORTREVISION= 1
|
||||
DISTVERSION= 2.7.9a
|
||||
CATEGORIES= biology
|
||||
PKGNAMEPREFIX= rna-
|
||||
|
||||
|
|
@ -10,17 +9,34 @@ COMMENT= Spliced Transcripts Alignment to a Reference
|
|||
LICENSE= GPLv3
|
||||
LICENSE_FILE= ${WRKDIR}/STAR-${DISTVERSION}/LICENSE
|
||||
|
||||
# 64-bit only, needs 16+ GiB RAM for typical eukaryotic genome
|
||||
NOT_FOR_ARCHS= i386 powerpc
|
||||
NOT_FOR_ARCHS_REASON=Needs 16+ GiB RAM for typical eukaryotic genome
|
||||
|
||||
USES= compiler:c++11-lang gmake
|
||||
LIB_DEPENDS= libhts.so:biology/htslib
|
||||
|
||||
USES= compiler:c++11-lang gmake localbase:ldflags
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= alexdobin
|
||||
|
||||
WRKSRC_SUBDIR= source
|
||||
MAKE_FLAGS= HTSLIB=''
|
||||
|
||||
PLIST_FILES= bin/STAR
|
||||
|
||||
post-patch:
|
||||
${RM} -rf ${WRKSRC}/htslib
|
||||
${REINPLACE_CMD} \
|
||||
-e 's|"htslib/htslib/sam.h"|<htslib/sam.h>|g' \
|
||||
-e 's|"htslib/htslib/kstring.h"|<htslib/kstring.h>|g' \
|
||||
-e 's|"htslib/htslib/bgzf.h"|<htslib/bgzf.h>|g' \
|
||||
${WRKSRC}/BAMfunctions.cpp \
|
||||
${WRKSRC}/IncludeDefine.h \
|
||||
${WRKSRC}/STAR.cpp \
|
||||
${WRKSRC}/bamRemoveDuplicates.cpp \
|
||||
${WRKSRC}/bam_cat.c \
|
||||
${WRKSRC}/bam_cat.h \
|
||||
${WRKSRC}/signalFromBAM.h
|
||||
|
||||
do-install:
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/STAR ${STAGEDIR}${PREFIX}/bin
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1586376571
|
||||
SHA256 (alexdobin-STAR-2.7.3a_GH0.tar.gz) = de204175351dc5f5ecc40cf458f224617654bdb8e00df55f0bb03a5727bf26f9
|
||||
SIZE (alexdobin-STAR-2.7.3a_GH0.tar.gz) = 8550987
|
||||
TIMESTAMP = 1637942811
|
||||
SHA256 (alexdobin-STAR-2.7.9a_GH0.tar.gz) = ff52c9d6daaa9fb7261efa3aa49ef6ce5262aa089b0762a3cbc751e81321050e
|
||||
SIZE (alexdobin-STAR-2.7.9a_GH0.tar.gz) = 10669338
|
||||
|
|
|
|||
|
|
@ -1,23 +1,61 @@
|
|||
--- Makefile.orig 2019-10-08 19:10:51 UTC
|
||||
--- Makefile.orig 2021-05-05 12:01:50 UTC
|
||||
+++ Makefile
|
||||
@@ -20,11 +20,16 @@ LDFLAGS_gdb := $(LDFLAGS_shared)
|
||||
@@ -11,6 +11,10 @@ CXXFLAGSextra ?=
|
||||
# user may define the compiler
|
||||
CXX ?= g++
|
||||
|
||||
COMPTIMEPLACE := -D'COMPILATION_TIME_PLACE="$(shell echo `date` $(HOSTNAME):`pwd`)"'
|
||||
|
||||
-CXXFLAGS_common := -pipe -std=c++11 -Wall -Wextra -fopenmp $(COMPTIMEPLACE)
|
||||
-CXXFLAGS_main := -O3 $(CXXFLAGS_common)
|
||||
-CXXFLAGS_gdb := -O0 -g $(CXXFLAGS_common)
|
||||
+# Defaults, overridden by make arguments or environment
|
||||
+CXXFLAGS ?= -pipe -O3 -Wall -Wextra
|
||||
+CFLAGS ?= -pipe -O3 -Wall -Wextra
|
||||
|
||||
-CFLAGS := -O3 -pipe -Wall -Wextra $(CFLAGS)
|
||||
+# Unconditionally set essential flags
|
||||
+CXXFLAGS_common := -std=c++11 -fopenmp $(COMPTIMEPLACE)
|
||||
+CXXFLAGS_main += $(CXXFLAGS_common)
|
||||
+# user may set to '' and sed "htslib/htslib/*.h" to <htslib/*.h>
|
||||
+# if they don't want the bundled htslib
|
||||
+HTSLIB ?= htslib
|
||||
+
|
||||
+# -O or -O2 should work fine with gdb as well
|
||||
+CXXFLAGS_gdb := -O0 -g $(CXXFLAGS_common)
|
||||
# pre-defined flags
|
||||
LDFLAGS_shared := -pthread -Lhtslib -Bstatic -lhts -Bdynamic -lz
|
||||
LDFLAGS_static := -static -static-libgcc -pthread -Lhtslib -lhts -lz
|
||||
@@ -18,7 +22,8 @@ LDFLAGS_Mac :=-pthread -lz htslib/libhts.a
|
||||
LDFLAGS_Mac_static :=-pthread -lz -static-libgcc htslib/libhts.a
|
||||
LDFLAGS_gdb := $(LDFLAGS_shared)
|
||||
|
||||
-DATE_FMT = --iso-8601=seconds
|
||||
+# --iso-8601 is not portable
|
||||
+DATE_FMT = -Iseconds
|
||||
ifdef SOURCE_DATE_EPOCH
|
||||
BUILD_DATE ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u "$(DATE_FMT)")
|
||||
else
|
||||
@@ -30,13 +35,13 @@ BUILD_PLACE ?= $(HOSTNAME):$(shell pwd)
|
||||
COMPTIMEPLACE := -D'COMPILATION_TIME_PLACE="$(BUILD_DATE) $(BUILD_PLACE)"'
|
||||
|
||||
# Defaults, can be overridden by make arguments or environment
|
||||
-CXXFLAGS ?= -pipe -Wall -Wextra
|
||||
+CXXFLAGS ?= -pipe -Wall -Wextra -O3
|
||||
CFLAGS ?= -pipe -Wall -Wextra -O3
|
||||
CXXFLAGS_SIMD ?= -mavx2
|
||||
|
||||
# Unconditionally set essential flags and optimization options
|
||||
CXXFLAGS_common := -std=c++11 -fopenmp $(COMPTIMEPLACE)
|
||||
-CXXFLAGS_main := -O3 $(CXXFLAGS_common)
|
||||
+CXXFLAGS_main := $(CXXFLAGS_common)
|
||||
CXXFLAGS_gdb := -O0 -g3 $(CXXFLAGS_common)
|
||||
|
||||
##########################################################################################################
|
||||
@@ -102,7 +107,7 @@ clean:
|
||||
|
||||
.PHONY: CLEAN
|
||||
CLEAN: clean
|
||||
- $(MAKE) -C htslib clean
|
||||
+ $(MAKE) -C $(HTSLIB) clean
|
||||
|
||||
|
||||
.PHONY: clean_solo
|
||||
@@ -119,10 +124,10 @@ ifneq ($(MAKECMDGOALS),CLEAN)
|
||||
ifneq ($(MAKECMDGOALS),clean_solo)
|
||||
ifneq ($(MAKECMDGOALS),STARforMac)
|
||||
ifneq ($(MAKECMDGOALS),STARforMacGDB)
|
||||
-Depend.list: $(SOURCES) parametersDefault.xxd htslib
|
||||
+Depend.list: $(SOURCES) parametersDefault.xxd $(HTSLIB)
|
||||
echo $(SOURCES)
|
||||
'rm' -f ./Depend.list
|
||||
- $(CXX) $(CXXFLAGS_common) -MM $^ >> Depend.list
|
||||
+ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) -MM $^ >> Depend.list
|
||||
include Depend.list
|
||||
endif
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
--- SharedMemory.cpp.orig 2019-04-21 19:57:39 UTC
|
||||
+++ SharedMemory.cpp
|
||||
@@ -11,7 +11,7 @@
|
||||
#include <semaphore.h>
|
||||
#include <errno.h>
|
||||
|
||||
-#ifdef COMPILE_FOR_MAC
|
||||
+#if defined(COMPILE_FOR_MAC) || defined(__FreeBSD__)
|
||||
//some Mac's idiosyncrasies: standard SHM libraries are very old and missing some definitions
|
||||
#define SHM_NORESERVE 0
|
||||
#endif
|
||||
10
biology/star/files/patch-SpliceGraph.cpp
Normal file
10
biology/star/files/patch-SpliceGraph.cpp
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
--- SpliceGraph.cpp.orig 2021-11-26 18:13:48 UTC
|
||||
+++ SpliceGraph.cpp
|
||||
@@ -1,7 +1,6 @@
|
||||
/*
|
||||
* Created by Fahimeh Mirhaj on 6/10/19.
|
||||
*/
|
||||
-using namespace std;
|
||||
|
||||
#include "SpliceGraph.h"
|
||||
#include "GTF.h"
|
||||
50
biology/star/files/patch-SuffixArrayFuns.cpp
Normal file
50
biology/star/files/patch-SuffixArrayFuns.cpp
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
--- SuffixArrayFuns.cpp.orig 2021-11-26 18:14:36 UTC
|
||||
+++ SuffixArrayFuns.cpp
|
||||
@@ -15,7 +15,7 @@ uint compareSeqToGenome(Genome &mapGen, char** s2, uin
|
||||
* dirR forward or reverse direction search on read sequence
|
||||
*/
|
||||
|
||||
- register int64 ii;
|
||||
+ int64 ii;
|
||||
|
||||
uint SAstr=mapGen.SA[iSA];
|
||||
bool dirG = (SAstr>>mapGen.GstrandBit) == 0; //forward or reverse strand of the genome
|
||||
@@ -231,7 +231,7 @@ uint compareSeqToGenome1(Genome &mapGen, char** s2, ui
|
||||
|
||||
//TODO no need for complementary sequence
|
||||
|
||||
- register int64 ii;
|
||||
+ int64 ii;
|
||||
|
||||
uint SAstr=mapGen.SA[iSA];
|
||||
bool dirG = (SAstr>>mapGen.GstrandBit) == 0; //forward or reverse strand of the genome
|
||||
@@ -356,13 +356,13 @@ uint funCalcSAiFromSA(char* gSeq, PackedArray& gSA, Ge
|
||||
bool dirG = (SAstr>>mapGen.GstrandBit) == 0; //forward or reverse strand of the genome
|
||||
SAstr &= mapGen.GstrandMask;
|
||||
iL4=-1;
|
||||
- register uint saind=0;
|
||||
+ uint saind=0;
|
||||
if (dirG)
|
||||
{
|
||||
- register uint128 g1=*( (uint128*) (gSeq+SAstr) );
|
||||
+ uint128 g1=*( (uint128*) (gSeq+SAstr) );
|
||||
for (int ii=0; ii<L; ii++)
|
||||
{
|
||||
- register char g2=(char) g1;
|
||||
+ char g2=(char) g1;
|
||||
if (g2>3)
|
||||
{
|
||||
iL4=ii;
|
||||
@@ -376,10 +376,10 @@ uint funCalcSAiFromSA(char* gSeq, PackedArray& gSA, Ge
|
||||
return saind;
|
||||
} else
|
||||
{
|
||||
- register uint128 g1=*( (uint128*) (gSeq+mapGen.nGenome-SAstr-16) );
|
||||
+ uint128 g1=*( (uint128*) (gSeq+mapGen.nGenome-SAstr-16) );
|
||||
for (int ii=0; ii<L; ii++)
|
||||
{
|
||||
- register char g2=(char) (g1>>(8*(15-ii)));
|
||||
+ char g2=(char) (g1>>(8*(15-ii)));
|
||||
if (g2>3)
|
||||
{
|
||||
iL4=ii;
|
||||
11
biology/star/files/patch-bamSortByCoordinate.cpp
Normal file
11
biology/star/files/patch-bamSortByCoordinate.cpp
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
--- bamSortByCoordinate.cpp.orig 2021-11-26 16:17:37 UTC
|
||||
+++ bamSortByCoordinate.cpp
|
||||
@@ -64,7 +64,7 @@ void bamSortByCoordinate (Parameters &P, ReadAlignChun
|
||||
boolWait=false;
|
||||
totalMem+=newMem;
|
||||
};
|
||||
- sleep(0.1);
|
||||
+ usleep(10000);
|
||||
};
|
||||
BAMbinSortByCoordinate(ibin,binN,binS,P.runThreadN,P.outBAMsortTmpDir, P, genome, solo);
|
||||
#pragma omp critical
|
||||
13
biology/star/files/patch-opal_opal.cpp
Normal file
13
biology/star/files/patch-opal_opal.cpp
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
--- opal/opal.cpp.orig 2021-11-26 16:14:46 UTC
|
||||
+++ opal/opal.cpp
|
||||
@@ -5,10 +5,8 @@
|
||||
#include <limits>
|
||||
#include <vector>
|
||||
|
||||
-extern "C" {
|
||||
#define SIMDE_ENABLE_NATIVE_ALIASES
|
||||
#include <simde_avx2.h> // AVX2 and lower
|
||||
-}
|
||||
|
||||
#include "opal.h"
|
||||
|
||||
Loading…
Add table
Reference in a new issue