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