ports/140147: [NEW PORT] biology/velvet: Sequence assembler for very short reads
Motomichi Matsuzaki
mzaki at m.u-tokyo.ac.jp
Sat Oct 31 18:10:01 UTC 2009
>Number: 140147
>Category: ports
>Synopsis: [NEW PORT] biology/velvet: Sequence assembler for very short reads
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sat Oct 31 18:10:00 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: Motomichi Matsuzaki
>Release: FreeBSD 8.0-RC1 amd64
>Organization:
>Environment:
System: FreeBSD z800.m.u-tokyo.ac.jp 8.0-RC1 FreeBSD 8.0-RC1 #0: Tue Oct 13 19:07:49 JST 2009
>Description:
Velvet is a de novo genomic assembler specially designed for short read
sequencing technologies, such as Solexa or 454, developed by Daniel Zerbino
and Ewan Birney at the European Bioinformatics Institute (EMBL-EBI).
Citation:
Velvet: algorithms for de novo short read assembly using de Bruijn graphs.
D.R. Zerbino and E. Birney. Genome Research 18: 821-829 (2008)
WWW: http://www.ebi.ac.uk/~zerbino/velvet/
Generated with FreeBSD Port Tools 0.99
>How-To-Repeat:
>Fix:
--- velvet-0.7.55.shar begins here ---
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# velvet
# velvet/distinfo
# velvet/files
# velvet/files/patch-Makefile
# velvet/files/patch-src-run.c
# velvet/files/patch-contrib-VelvetOptimiser-VelvetOptimiser.pl
# velvet/pkg-descr
# velvet/Makefile
#
echo c - velvet
mkdir -p velvet > /dev/null 2>&1
echo x - velvet/distinfo
sed 's/^X//' >velvet/distinfo << '567a9516d3c29f0972442a40f735d26a'
XMD5 (velvet_0.7.55.tgz) = ea99c0b157b4195c313f93bd9f77ecb3
XSHA256 (velvet_0.7.55.tgz) = 315331f418c2de89c6c871cea3759d947320c0adbc763fea290ec78ece69b614
XSIZE (velvet_0.7.55.tgz) = 3475289
567a9516d3c29f0972442a40f735d26a
echo c - velvet/files
mkdir -p velvet/files > /dev/null 2>&1
echo x - velvet/files/patch-Makefile
sed 's/^X//' >velvet/files/patch-Makefile << '88db4fa29804901c6db62f24845d0ca8'
X--- Makefile.orig 2009-09-02 22:21:01.000000000 +0900
X+++ Makefile 2009-10-27 22:05:49.000000000 +0900
X@@ -1,18 +1,18 @@
X-CC = gcc
X-CFLAGS = -Wall
X+CC ?= gcc
X+CFLAGS += -Wall
X DEBUG = -g
X-LDFLAGS = -lm
X-OPT = -O3
X-MAXKMERLENGTH=31
X-CATEGORIES=2
X+#LDFLAGS = -lm
X+#OPT = -O3
X+MAXKMERLENGTH?=31
X+CATEGORIES?=2
X DEF = -D MAXKMERLENGTH=$(MAXKMERLENGTH) -D CATEGORIES=$(CATEGORIES)
X
X Z_LIB_DIR=third-party/zlib-1.2.3
X Z_LIB_FILES=$(Z_LIB_DIR)/*.o
X
X # Mac OS users: uncomment the following lines
X-# Z_LIB_FILES=
X-# LDFLAGS = -lm -lz
X+Z_LIB_FILES=
X+LDFLAGS += -lm -lz
X # CFLAGS = -Wall -m64
X
X # Sparc/Solaris users: uncomment the following line
X@@ -32,7 +32,7 @@
X -rm obj/*.o obj/dbg/*.o
X
X zlib :
X- cd $(Z_LIB_DIR); ./configure; make; rm minigzip.o; rm example.o
X+# cd $(Z_LIB_DIR); ./configure; make; rm minigzip.o; rm example.o
X
X velveth : $(OBJ)
X $(CC) $(CFLAGS) $(OPT) $(LDFLAGS) -o velveth obj/tightString.o obj/run.o obj/recycleBin.o obj/splay.o obj/splayTable.o obj/readSet.o obj/crc.o obj/utility.o obj/kmer.o $(Z_LIB_FILES)
88db4fa29804901c6db62f24845d0ca8
echo x - velvet/files/patch-src-run.c
sed 's/^X//' >velvet/files/patch-src-run.c << '2af71c099be70a087523b7644892eb3b'
X--- src/run.c.orig 2009-09-16 20:11:59.000000000 +0900
X+++ src/run.c 2009-10-27 22:27:27.000000000 +0900
X@@ -152,7 +152,7 @@
X double_strand);
X
X destroySplayTable(splayTable);
X- closedir(dir);
X+ if (dir) closedir(dir);
X free(filename);
X free(buf);
X
2af71c099be70a087523b7644892eb3b
echo x - velvet/files/patch-contrib-VelvetOptimiser-VelvetOptimiser.pl
sed 's/^X//' >velvet/files/patch-contrib-VelvetOptimiser-VelvetOptimiser.pl << 'cb4a718353d291773202039bb121c3da'
X--- contrib/VelvetOptimiser/VelvetOptimiser.pl.orig 2009-09-14 23:44:19.000000000 +0900
X+++ contrib/VelvetOptimiser/VelvetOptimiser.pl 2009-10-30 22:13:45.000000000 +0900
X@@ -44,9 +44,10 @@
X my @hashvals;
X my %assemblies;
X my $readfile;
X+my $MAXKMERLENGTH = %%MAXKMERLENGTH%%;
X my $logfile = "logfile.txt";
X my $hashs = 19;
X-my $hashe = 129;
X+my $hashe = $MAXKMERLENGTH;
X my $ass_num = 1;
X my $interested = 1;
X
X@@ -311,26 +312,26 @@
X my $ass = shift;
X print STDERR "\tPlease type in the insert length for the short reads: ";
X #my $len = <>;
X- my $len = "200"; #do not ask for insert size!
X+ my $len = "auto"; #do not ask for insert size!
X chomp($len);
X- while($len =~ /\D+/){
X- print STDERR "\tThe length needs to be a number, please re-enter: ";
X- $len = <>;
X- chomp($len);
X- }
X+ #while($len =~ /\D+/){
X+ # print STDERR "\tThe length needs to be a number, please re-enter: ";
X+ # $len = <>;
X+ # chomp($len);
X+ #}
X print STDERR strftime("%b %e %H:%M:%S", localtime), " Running assembly with short insert length $len\n";
X print OUT strftime("%b %e %H:%M:%S", localtime), " Running assembly with short insert length $len\n";
X
X #re-write the pstringg with the new velvetg command..
X- my $vg = $ass->{pstringg};
X- if($vg =~ /ins_length /){
X- $vg =~ s/ins_length\s+\d+/ins_length $len/;
X- }
X- else {
X- $vg .= " -ins_length $len";
X- }
X+ #my $vg = $ass->{pstringg};
X+ #if($vg =~ /ins_length /){
X+ # $vg =~ s/ins_length\s+\d+/ins_length $len/;
X+ #}
X+ #else {
X+ # $vg .= " -ins_length $len";
X+ #}
X
X- $ass->{pstringg} = $vg;
X+ #$ass->{pstringg} = $vg;
X my $worked = VelvetOpt::gwrap::objectVelvetg($ass);
X if($worked){
X $ass->getAssemblyDetails();
X@@ -347,8 +348,8 @@
X my $usage = "\nVelvetOptimiser.pl: A script to run the Velvet assembler and optimise its output. Simon Gladman - CSIRO 2008, 2009.\n\n";
X $usage .= "Usage: VelvetOptimiser.pl <-f 'velveth parameters'> [-s <hash start>] [-e <hash end>] [-a <yes>]\n\n";
X $usage .= "Where:\t<-f 'velveth parameters'> is the parameter line normally passed to velveth in quotes.\n";
X-$usage .= "\t-s <hash start> The hash value you want velvet to start looking from. Default: 19. MUST BE ODD > 0 & <=31!\n";
X-$usage .= "\t-e <hash end> The hash value you want velvet to stop looking at. Default: 31. MUST BE ODD AND > START & <= 31!\n";
X+$usage .= "\t-s <hash start> The hash value you want velvet to start looking from. Default: 19. MUST BE ODD > 0 & <=$MAXKMERLENGTH!\n";
X+$usage .= "\t-e <hash end> The hash value you want velvet to stop looking at. Default: $MAXKMERLENGTH. MUST BE ODD AND > START & <= $MAXKMERLENGTH!\n";
X $usage .= "\t-a <yes> The final optimised assembly will include read tracking and amos file outputs (however, intermediate assemblies won't.)\n";
X $usage .= "\nIf the optimizer requires an insert length for some paired end data, it will ask for it when it gets to the optimization step.\n";
X
X@@ -390,9 +391,9 @@
X $hashs = $opts{'s'};
X print STDERR "\n\t\t's-Param' is >$hashs<\n";
X unless($hashs =~ /^\d+$/){ die "\tFatal error! Start hash not a number!\n$usage";}
X- if($hashs > 129){
X- print STDERR "\tStart hash value too high. New start hash value is 129.\n";
X- $hashs = 129;
X+ if($hashs > $MAXKMERLENGTH){
X+ print STDERR "\tStart hash value too high. New start hash value is $MAXKMERLENGTH.\n";
X+ $hashs = $MAXKMERLENGTH;
X }
X if(!&isOdd($hashs)){
X $hashs = $hashs - 1;
X@@ -404,9 +405,9 @@
X if($opts{'e'}){
X $hashe = $opts{'e'};
X unless($hashe =~ /^\d+$/){ die "\tFatal error! End hash not a number!\n$usage";}
X- if($hashe > 129 || $hashe < 1){
X- print STDERR "\tEnd hash value not in workable range. New end hash value is 129.\n";
X- $hashe = 129;
X+ if($hashe > $MAXKMERLENGTH || $hashe < 1){
X+ print STDERR "\tEnd hash value not in workable range. New end hash value is $MAXKMERLENGTH.\n";
X+ $hashe = $MAXKMERLENGTH;
X }
X if($hashe < $hashs){
X print STDERR "\tEnd hash value lower than start hash value. New end hash value = $hashs.\n";
cb4a718353d291773202039bb121c3da
echo x - velvet/pkg-descr
sed 's/^X//' >velvet/pkg-descr << '5e38a15ab18c8781d890dde239e06856'
XVelvet is a de novo genomic assembler specially designed for short read
Xsequencing technologies, such as Solexa or 454, developed by Daniel Zerbino
Xand Ewan Birney at the European Bioinformatics Institute (EMBL-EBI).
X
XCitation:
X
XVelvet: algorithms for de novo short read assembly using de Bruijn graphs.
XD.R. Zerbino and E. Birney. Genome Research 18: 821-829 (2008)
X
XWWW: http://www.ebi.ac.uk/~zerbino/velvet/
5e38a15ab18c8781d890dde239e06856
echo x - velvet/Makefile
sed 's/^X//' >velvet/Makefile << '95306d57571d7991bbc7b0899257a2cd'
X# New ports collection makefile for: velvet
X# Date created: 27 Oct 2009
X# Whom: Motomichi Matsuzaki <mzaki at m.u-tokyo.ac.jp>
X#
X# $FreeBSD$
X#
X
XPORTNAME= velvet
XPORTVERSION= 0.7.55
XCATEGORIES= biology
XMASTER_SITES= http://www.ebi.ac.uk/~zerbino/velvet/
XDISTNAME= ${PORTNAME}_${PORTVERSION}
XEXTRACT_SUFX= .tgz
X
XMAINTAINER= mzaki at m.u-tokyo.ac.jp
XCOMMENT= Sequence assembler for very short reads
X
XUSE_GMAKE= yes
XALL_TARGET= default
X
XMAXKMERLENGTH?= 31
XMAKE_ENV+= MAXKMERLENGTH=${MAXKMERLENGTH}
X
XUSE_PERL5_RUN= yes
X
XBINARIES= velvetg velveth
XSCRIPTS= contrib/VelvetOptimiser/VelvetOptimiser.pl \
X contrib/afg_handling/asmbly_splitter.pl \
X contrib/afg_handling/snp_view.pl \
X contrib/estimate-exp_cov/velvet-estimate-exp_cov.pl \
X contrib/fasta2agp/fasta2agp.pl \
X contrib/extractContigReads/extractContigReads.pl \
X contrib/observed-insert-length.pl/observed-insert-length.pl \
X contrib/shuffleSequences_fasta/shuffleSequences_fasta.pl
XPERLMOD_DIRS= contrib/VelvetOptimiser/VelvetOpt
XPERLMOD_FILES= contrib/VelvetOptimiser/VelvetOpt/Assembly.pm \
X contrib/VelvetOptimiser/VelvetOpt/Utils.pm \
X contrib/VelvetOptimiser/VelvetOpt/gwrap.pm \
X contrib/VelvetOptimiser/VelvetOpt/hwrap.pm
X
X.if !defined(WITHOUT_PYTHON)
XUSE_PYTHON= yes
XSCRIPTS+= contrib/layout/graph2.py
X.endif
X
X.for f in ${BINARIES} ${SCRIPTS}
XPLIST_FILES+= bin/${f:T}
X.endfor
X.for d in ${PERLMOD_DIRS}
XPLIST_DIRS+= %%SITE_PERL%%/${d:T}
X.endfor
X.for f in ${PERLMOD_FILES}
XPLIST_FILES+= %%SITE_PERL%%/${f:H:T}/${f:T}
X.endfor
X
XPORTDOCS= ChangeLog Manual.pdf
X
Xpost-patch:
X.for f in ${SCRIPTS}
X ${REINPLACE_CMD} -e s,#!/usr/bin/perl,${PERL}, ${WRKSRC}/${f}
X.endfor
X.if !defined(WITHOUT_PYTHON)
X (IFS=''; ${REINPLACE_CMD} -e `${ECHO} '1i\'; ${ECHO} '#!${PYTHON_CMD}'` ${WRKSRC}/contrib/layout/graph2.py)
X.endif
X
Xpost-build:
X ${REINPLACE_CMD} -e s,%%MAXKMERLENGTH%%,${MAXKMERLENGTH},g ${WRKSRC}/contrib/VelvetOptimiser/VelvetOptimiser.pl
X
Xdo-install:
X.for f in ${BINARIES}
X ${INSTALL_PROGRAM} ${WRKSRC}/${f} ${PREFIX}/bin
X.endfor
X.for f in ${SCRIPTS}
X ${INSTALL_SCRIPT} ${WRKSRC}/${f} ${PREFIX}/bin/${f:T}
X.endfor
X.for d in ${PERLMOD_DIRS}
X ${MKDIR} ${PREFIX}/${SITE_PERL_REL}/${d:T}
X.endfor
X.for f in ${PERLMOD_FILES}
X ${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/${SITE_PERL_REL}/${f:H:T}/${f:T}
X.endfor
X.if !defined(NOPORTDOCS)
X ${MKDIR} ${DOCSDIR}
X.for f in ${PORTDOCS}
X ${INSTALL_MAN} ${WRKSRC}/${f} ${DOCSDIR}
X.endfor
X.endif
X
X.include <bsd.port.mk>
95306d57571d7991bbc7b0899257a2cd
exit
--- velvet-0.7.55.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list