1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-19 19:59:43 +00:00

biology/ucsc-userapps: Command line tools from the UCSC Genome Browser project

These are the command-line bioinformatics utilities associated with the UCSC
genome browser.  Care has been taken to install only the freely available
tools.  However, the license information at https://genome.ucsc.edu/license/
is not entirely clear and we may add non-free utilities in the future.

Contact UCSC if you are using this port for commercial purposes.
This commit is contained in:
Jason W. Bacon 2021-04-25 12:18:38 -05:00
parent e8530452e7
commit 6b63ef7436
13 changed files with 342 additions and 0 deletions

View File

@ -0,0 +1,76 @@
# Created by: J. Bacon <jwb@FreeBSD.org>
PORTNAME= ucsc-userapps
DISTVERSION= 413
CATEGORIES= biology perl5 python
MASTER_SITES= http://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/
DISTNAME= userApps.v${PORTVERSION}.src
MAINTAINER= jwb@FreeBSD.org
COMMENT= Command line tools from the UCSC Genome Browser project
LICENSE= UCSC-GB
LICENSE_NAME= UCSC Genome Browser License
LICENSE_TEXT= To the best of our knowledge, all of the tools installed by\
this port are freely available. However, a license is\
required for commercial download and installation of some\
binaries and source code in the UCSC Genome Browser\
distribution.\n\nContact UCSC directly if you are using these\
tools for commercial purposes.\n\nSee\
https://genome.ucsc.edu/license/ for full terms.
LICENSE_PERMS= no-dist-mirror no-dist-sell no-pkg-mirror no-pkg-sell
ONLY_FOR_ARCHS= amd64
ONLY_FOR_ARCHS_REASON= _mm_popcnt_u64
BUILD_DEPENDS= bash:shells/bash
LIB_DEPENDS= libiconv.so:converters/libiconv \
libmysqlclient.so:databases/mysql57-client \
libpng.so:graphics/png
RUN_DEPENDS= bash:shells/bash
USES= gmake localbase:ldflags shebangfix perl5 python:3.6+ ssl tar:tgz
RESTRICTED= Redistribution is limited, see license
SHEBANG_FILES= kent/src/checkUmask.sh \
kent/src/utils/bigHeat \
kent/src/utils/chromToUcsc/chromToUcsc \
kent/src/utils/tdbRename \
kent/src/utils/tdbSort \
kent/src/utils/trackDbIndexBb/trackDbIndexBb \
kent/src/utils/ucscApiClient \
kent/src/utils/webSync
WRKSRC= ${WRKDIR}/userApps
CFLAGS+= -fcommon
MAKEFILE= [Mm]akefile
MAKE_ENV= BINDIR=${WRKSRC}/bin
SUB_FILES= ucsc-shell
# Build only non-commercial tools
do-build:
@${MV} ${WRKSRC}/kent/src/inc/uuid.h ${WRKSRC}/kent/src/inc/my_uuid.h
@${MKDIR} ${WRKSRC}/bin
@(cd ${WRKSRC}/kent/src/lib && ${DO_MAKE_BUILD})
@(cd ${WRKSRC}/kent/src/htslib && ${DO_MAKE_BUILD})
@(cd ${WRKSRC}/kent/src/jkOwnLib && ${DO_MAKE_BUILD})
@(cd ${WRKSRC}/kent/src/hg/lib && ${DO_MAKE_BUILD})
@(cd ${WRKSRC}/kent/src/utils && ${DO_MAKE_BUILD})
do-install:
@${MKDIR} ${WRKSRC}/scripts ${WRKSRC}/binaries
@${CP} $$(file ${WRKSRC}/bin/* | fgrep ELF | cut -d : -f 1) \
${WRKSRC}/binaries
@${CP} $$(file ${WRKSRC}/bin/* | fgrep -v ELF | cut -d : -f 1) \
${WRKSRC}/scripts
@${MKDIR} ${STAGEDIR}${PREFIX}/userapps/bin
${INSTALL_PROGRAM} ${WRKSRC}/binaries/* \
${STAGEDIR}${PREFIX}/userapps/bin
${INSTALL_SCRIPT} ${WRKSRC}/scripts/* \
${STAGEDIR}${PREFIX}/userapps/bin
${INSTALL_SCRIPT} ${WRKDIR}/ucsc-shell \
${STAGEDIR}${PREFIX}/bin
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1619366655
SHA256 (userApps.v413.src.tgz) = 91c51fec26bc61ea0dd9c4d0d13c76ce26e1c7d7f7dddbd3067c70beaec0af19
SIZE (userApps.v413.src.tgz) = 19186621

View File

@ -0,0 +1,11 @@
--- kent/src/hg/encode3/eap/eapFinish/eapFinish.c.orig 2021-04-14 11:23:30 UTC
+++ kent/src/hg/encode3/eap/eapFinish/eapFinish.c
@@ -3,7 +3,7 @@
/* Copyright (C) 2014 The Regents of the University of California
* See README in this or parent directory for licensing information. */
-#include <uuid/uuid.h>
+#include <uuid.h>
#include "common.h"
#include "linefile.h"
#include "hash.h"

View File

@ -0,0 +1,11 @@
--- kent/src/hg/encode3/encodeDataWarehouse/edwWebRegisterScript/edwWebRegisterScript.c.orig 2021-04-14 11:23:12 UTC
+++ kent/src/hg/encode3/encodeDataWarehouse/edwWebRegisterScript/edwWebRegisterScript.c
@@ -2,7 +2,7 @@
/* Copyright (C) 2014 The Regents of the University of California
* See README in this or parent directory for licensing information. */
-#include <uuid/uuid.h>
+#include <uuid.h>
#include "common.h"
#include "linefile.h"
#include "hash.h"

View File

@ -0,0 +1,13 @@
--- kent/src/inc/common.mk.orig 2021-04-02 22:47:03 UTC
+++ kent/src/inc/common.mk
@@ -61,6 +61,10 @@ else
endif
endif
+ifeq ($(UNAME_S),FreeBSD)
+ ICONVLIB=-L${LOCALBASE}/lib -liconv
+endif
+
# autodetect if openssl is installed
ifeq (${SSLDIR},)
SSLDIR = /usr/include/openssl

View File

@ -0,0 +1,11 @@
--- kent/src/inc/uuid.h.orig 2021-04-14 11:17:54 UTC
+++ kent/src/inc/uuid.h
@@ -5,7 +5,7 @@
*
* If you use this file you need to add -luuid to your link line. */
-#include <uuid/uuid.h>
+#include <uuid.h>
#define UUID_STRING_SIZE 37

View File

@ -0,0 +1,11 @@
--- kent/src/lib/uuid.c.orig 2021-04-14 11:22:38 UTC
+++ kent/src/lib/uuid.c
@@ -6,7 +6,7 @@
* If you use this file you need to add -luuid to your link line. */
#include "common.h"
-#include "uuid.h"
+#include "my_uuid.h"
char *makeUuidString(char buf[37])
/* Generate a random uuid and put it in the usual hex-plus-dashes form */

View File

@ -0,0 +1,10 @@
--- kent/src/utils/dnsInfo/dnsInfo.c.orig 2021-04-18 01:19:08 UTC
+++ kent/src/utils/dnsInfo/dnsInfo.c
@@ -7,6 +7,7 @@
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/utsname.h>
+#include <sys/socket.h>
#include "linefile.h"
#include "hash.h"
#include "options.h"

View File

@ -0,0 +1,11 @@
--- kent/src/utils/dnsInfo/makefile.orig 2021-04-18 01:20:21 UTC
+++ kent/src/utils/dnsInfo/makefile
@@ -1,7 +1,7 @@
kentSrc = ../..
include ../../inc/common.mk
-L += -lm -lresolv
+L += -lm
MYLIBDIR = ../../lib/$(MACHTYPE)
MYLIBS = $(MYLIBDIR)/jkweb.a

View File

@ -0,0 +1,28 @@
#!/bin/sh -e
ucsc_bin=%%PREFIX%%/userapps/bin
cat << EOM
Adding $ucsc_bin to \$PATH.
UCSC kent utils contains commands that conflict with other tools, including
at least "calc", "mktime", and "stringify".
The other commands with these names may serve entirely different functions
and will not be accessible while running this shell unless you refer to them
by their absolute path name (e.g. /usr/local/bin/calc), which is not portable,
BTW, so don't hard-code such paths into your scripts.
Type "exit" or "Ctrl+D" to return to your normal shell.
EOM
export PATH=${ucsc_bin}:$PATH
# FIXME: Update shell prompts to include (ucsc-kent)?
# Invoke the user's chosen shell
if echo $SHELL | egrep -q '/t?csh'; then
args='-f'
fi
exec $SHELL $args

View File

@ -0,0 +1,8 @@
These are the command-line bioinformatics utilities associated with the UCSC
genome browser. Care has been taken to install only the freely available
tools. However, the license information at https://genome.ucsc.edu/license/
is not entirely clear and we may add non-free utilities in the future.
Contact UCSC if you are using this port for commercial purposes.
WWW: http://hgdownload.cse.ucsc.edu/admin/exe/

View File

@ -0,0 +1,14 @@
[
{ type: install
message: <<EOM
ucsc-kentutils is installed in it's own directory in order to avoid install
conflicts with other ports. Run "ucsc-shell" to gain access to ucsc-kentutils
commands in your PATH.
This port installs only freely available components of the UCSC userApps
distribution. See http://genome.ucsc.edu/license/ for more information.
EOM
}
]

View File

@ -0,0 +1,135 @@
bin/ucsc-shell
userapps/bin/aNotB
userapps/bin/addCols
userapps/bin/ave
userapps/bin/aveCols
userapps/bin/bamToPsl
userapps/bin/bedClip
userapps/bin/bedCommonRegions
userapps/bin/bedGeneParts
userapps/bin/bedGraphPack
userapps/bin/bedGraphToBigWig
userapps/bin/bedJoinTabOffset
userapps/bin/bedPileUps
userapps/bin/bedRemoveOverlap
userapps/bin/bedRestrictToPositions
userapps/bin/bedToBigBed
userapps/bin/bigBedInfo
userapps/bin/bigBedNamedItems
userapps/bin/bigBedSummary
userapps/bin/bigBedToBed
userapps/bin/bigWigAverageOverBed
userapps/bin/bigWigCat
userapps/bin/bigWigCluster
userapps/bin/bigWigCorrelate
userapps/bin/bigWigInfo
userapps/bin/bigWigMerge
userapps/bin/bigWigSummary
userapps/bin/bigWigToBedGraph
userapps/bin/bigWigToWig
userapps/bin/calc
userapps/bin/catDir
userapps/bin/catUncomment
userapps/bin/ccCp
userapps/bin/chopFaLines
userapps/bin/clusterMatrixToBarChartBed
userapps/bin/colTransform
userapps/bin/convolve
userapps/bin/countChars
userapps/bin/cpg_lh
userapps/bin/detab
userapps/bin/dnsInfo
userapps/bin/endsInLf
userapps/bin/faAlign
userapps/bin/faCmp
userapps/bin/faCount
userapps/bin/faFilter
userapps/bin/faFilterN
userapps/bin/faFlyBaseToUcsc
userapps/bin/faFrag
userapps/bin/faGapLocs
userapps/bin/faGapSizes
userapps/bin/faNcbiToUcsc
userapps/bin/faNoise
userapps/bin/faOneRecord
userapps/bin/faPolyASizes
userapps/bin/faRandomize
userapps/bin/faRc
userapps/bin/faSimplify
userapps/bin/faSize
userapps/bin/faSomeRecords
userapps/bin/faSplit
userapps/bin/faToFastq
userapps/bin/faToNib
userapps/bin/faToTab
userapps/bin/faToTwoBit
userapps/bin/faTrans
userapps/bin/faTrimPolyA
userapps/bin/faTrimRead
userapps/bin/fastqStatsAndSubsample
userapps/bin/fastqToFa
userapps/bin/findMotif
userapps/bin/fixCr
userapps/bin/gapSplit
userapps/bin/gffPeek
userapps/bin/git-reports
userapps/bin/gmtime
userapps/bin/headRest
userapps/bin/htmlCheck
userapps/bin/htmlPics
userapps/bin/jkUniq
userapps/bin/lineCount
userapps/bin/linesToRa
userapps/bin/localtime
userapps/bin/mktime
userapps/bin/newProg
userapps/bin/newPythonProg
userapps/bin/nibFrag
userapps/bin/nibSize
userapps/bin/nt4Frag
userapps/bin/paraFetch
userapps/bin/paraSync
userapps/bin/pslLiftSubrangeBlat
userapps/bin/pslPosTarget
userapps/bin/pslRemoveFrameShifts
userapps/bin/pslScore
userapps/bin/pslToPslx
userapps/bin/pslToXa
userapps/bin/raSqlQuery
userapps/bin/raToLines
userapps/bin/raToTab
userapps/bin/randomLines
userapps/bin/rmFaDups
userapps/bin/rowsToCols
userapps/bin/scaffoldFaToAgp
userapps/bin/scrambleFa
userapps/bin/sizeof
userapps/bin/spacedToTab
userapps/bin/splitFile
userapps/bin/splitFileByColumn
userapps/bin/strexCalc
userapps/bin/stringify
userapps/bin/subChar
userapps/bin/subColumn
userapps/bin/subs
userapps/bin/tableSum
userapps/bin/tailLines
userapps/bin/textHist2
userapps/bin/textHistogram
userapps/bin/tickToDate
userapps/bin/toLower
userapps/bin/toUpper
userapps/bin/trackDbIndexBb
userapps/bin/twoBitDup
userapps/bin/twoBitInfo
userapps/bin/twoBitToFa
userapps/bin/udcCleanup
userapps/bin/undupFa
userapps/bin/upper
userapps/bin/vcfFilter
userapps/bin/venn
userapps/bin/verticalSplitSqlTable
userapps/bin/weedLines
userapps/bin/wigCorrelate
userapps/bin/wigToBigWig
userapps/bin/wordLine