[med-svn] [Git][med-team/velvet][master] 12 commits: Use 2to3 to port to Python3

Andreas Tille gitlab at salsa.debian.org
Mon Dec 2 13:13:38 GMT 2019



Andreas Tille pushed to branch master at Debian Med / velvet


Commits:
506d07e3 by Andreas Tille at 2019-12-02T12:38:54Z
Use 2to3 to port to Python3

- - - - -
7ee7880b by Andreas Tille at 2019-12-02T12:39:37Z
Recommends: s/python/python3/

- - - - -
060decf1 by Andreas Tille at 2019-12-02T12:40:13Z
debhelper-compat 12

- - - - -
81e6cf88 by Andreas Tille at 2019-12-02T12:40:21Z
Standards-Version: 4.4.1

- - - - -
7aea43bb by Andreas Tille at 2019-12-02T12:40:22Z
Secure URI in copyright format

- - - - -
7e806e22 by Andreas Tille at 2019-12-02T12:40:22Z
Remove trailing whitespace in debian/changelog

- - - - -
a6954176 by Andreas Tille at 2019-12-02T12:40:22Z
Remove trailing whitespace in debian/control

- - - - -
a3e21dd2 by Andreas Tille at 2019-12-02T12:40:22Z
autopkgtest: s/ADTTMP/AUTOPKGTEST_TMP/g

- - - - -
20a87b57 by Andreas Tille at 2019-12-02T12:40:33Z
Use secure URI in Homepage field.

Fixes lintian: homepage-field-uses-insecure-uri
See https://lintian.debian.org/tags/homepage-field-uses-insecure-uri.html for more details.

- - - - -
836b998b by Andreas Tille at 2019-12-02T12:40:33Z
Set upstream metadata fields: Repository-Browse.
- - - - -
d76e404f by Andreas Tille at 2019-12-02T12:40:34Z
Remove obsolete fields Contact, Name from debian/upstream/metadata.
- - - - -
28164884 by Andreas Tille at 2019-12-02T12:46:41Z
Upload to unstable

- - - - -


8 changed files:

- debian/changelog
- − debian/compat
- debian/control
- debian/copyright
- + debian/patches/2to3.patch
- debian/patches/series
- debian/tests/run-unit-test
- debian/upstream/metadata


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,19 @@
+velvet (1.2.10+dfsg1-6) unstable; urgency=medium
+
+  * Use 2to3 to port to Python3
+    Closes: #945743
+  * debhelper-compat 12
+  * Standards-Version: 4.4.1
+  * Secure URI in copyright format
+  * Remove trailing whitespace in debian/changelog
+  * Remove trailing whitespace in debian/control
+  * autopkgtest: s/ADTTMP/AUTOPKGTEST_TMP/g
+  * Use secure URI in Homepage field.
+  * Set upstream metadata fields: Repository-Browse.
+  * Remove obsolete fields Contact, Name from debian/upstream/metadata.
+
+ -- Andreas Tille <tille at debian.org>  Mon, 02 Dec 2019 13:40:35 +0100
+
 velvet (1.2.10+dfsg1-5) unstable; urgency=medium
 
   [ Steffen Moeller ]
@@ -347,7 +363,7 @@ velvet (0.7.44-1) unstable; urgency=low
 
 velvet (0.7.37-1) unstable; urgency=low
 
-  * New upstream release. 
+  * New upstream release.
     - Small formatting change to error messages
     - K > 31 now possible
     - --help option corrected for velvetg
@@ -367,7 +383,7 @@ velvet (0.7.34-1) unstable; urgency=low
   * Added the programs velveth_de and velvetg_de to the package in /usr/bin,
     and the scripts shuffleSequences_fasta.pl and shuffleSequences_fastq.pl in
     /usr/share/velvet (debian/rules, debian/install).
-  * Refreshed debian/copyright. 
+  * Refreshed debian/copyright.
   * Temporarly disabled the manpage generation of velvetg* because the --help
     option is not available (debian/rules).
 


=====================================
debian/compat deleted
=====================================
@@ -1 +0,0 @@
-11


=====================================
debian/control
=====================================
@@ -4,14 +4,14 @@ Uploaders: Charles Plessy <plessy at debian.org>,
            Andreas Tille <tille at debian.org>
 Section: science
 Priority: optional
-Build-Depends: debhelper (>= 11~),
+Build-Depends: debhelper-compat (= 12),
                zlib1g-dev,
                texlive-latex-base,
                texlive-latex-recommended
-Standards-Version: 4.1.4
+Standards-Version: 4.4.1
 Vcs-Browser: https://salsa.debian.org/med-team/velvet
 Vcs-Git: https://salsa.debian.org/med-team/velvet.git
-Homepage: http://www.ebi.ac.uk/~zerbino/velvet/
+Homepage: https://www.ebi.ac.uk/~zerbino/velvet/
 
 Package: velvet
 Architecture: any
@@ -49,7 +49,7 @@ Description: Nucleic acid sequence assembler for very short reads, long version
 Package: velvet-example
 Architecture: all
 Depends: ${misc:Depends}
-Recommends: python
+Recommends: python3
 Description: Example data for the Velvet sequence assembler
  Velvet is a de novo genomic assembler specially designed for short read
  sequencing technologies, such as Solexa or 454, developed by Daniel Zerbino and
@@ -61,12 +61,12 @@ Description: Example data for the Velvet sequence assembler
  available, to retrieve the repeated areas between contigs.
  .
  This package contains the example data distributed in the sources of Velvet,
- a de novo genomic assembler. 
+ a de novo genomic assembler.
 
 Package: velvet-tests
 Architecture: all
 Depends: ${misc:Depends}
-Recommends: python
+Recommends: python3
 Description: Test data for the Velvet sequence assembler
  Velvet is a de novo genomic assembler specially designed for short read
  sequencing technologies, such as Solexa or 454, developed by Daniel Zerbino and


=====================================
debian/copyright
=====================================
@@ -1,4 +1,4 @@
-Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 Upstream-Name: Velvet
 Upstream-Contact: Daniel Zerbino <zerbino at ebi.ac.uk>
 Source: http://www.ebi.ac.uk/~zerbino/velvet/velvet_1.2.10.tgz


=====================================
debian/patches/2to3.patch
=====================================
@@ -0,0 +1,272 @@
+Description: Use 2to3 to port to Python3
+Bug-Debian: https://bugs.debian.org/945743
+Author: Andreas Tille <tille at debian.org>
+Last-Update: Mon, 02 Dec 2019 13:36:55 +0100
+
+--- a/contrib/AssemblyAssembler1.3/AssemblyAssembler1.3.py
++++ b/contrib/AssemblyAssembler1.3/AssemblyAssembler1.3.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+ #
+ #       AssemblyAssembler.pl
+ #
+@@ -37,11 +37,11 @@ if sys.version_info < (2, 5):
+ ## Setting working directory
+ parDir = os.getcwd()
+ 
+-print str('============================================== \n')
++print(str('============================================== \n'))
+ ## Retrieve user input
+ ptester = [0,0,0,0,0,0,0,0,0]
+ increads = str('n')
+-print '\nRetrieving your input values \n'
++print('\nRetrieving your input values \n')
+ for i in  range(len(sys.argv)):
+ 	if (sys.argv[i] == '-s'):
+ 		if(int(sys.argv[i+1])%2 == 1):
+@@ -79,36 +79,36 @@ for i in  range(len(sys.argv)):
+ 		ptester[8] = 1
+ 
+ ## Check and set hash value range
+-print 'Checking your hash value range...'
++print('Checking your hash value range...')
+ if ((int(hashe)-int(hashs))>=16):
+-	print 'Looks good\n'
+-	hashrange = range(int(hashs),(int(hashe)+1),2)
++	print('Looks good\n')
++	hashrange = list(range(int(hashs),(int(hashe)+1),2))
+ 	hashlist = [hashrange[0],hashrange[int(round(len(hashrange)*0.12))],hashrange[int(round(len(hashrange)*0.25))],hashrange[int(round(len(hashrange)*0.37))],hashrange[int(round(len(hashrange)*0.5))],hashrange[int(round(len(hashrange)*0.6))],hashrange[int(round(len(hashrange)*0.7))],hashrange[int(round(len(hashrange)*0.82))],hashrange[len(hashrange)-1]]
+ else:
+ 	sys.exit('Insufficient hash range. This routine is only useful if kmer range >= 16. \n\n')
+ 		
+ ## Checking to make sure minimum parameters are in place
+-print 'Checking to make sure minimum parameters are in place...'
++print('Checking to make sure minimum parameters are in place...')
+ if (sum(ptester[0:4]) < 4):
+ 	sys.exit('Incorrect command line entry.  Please enter parameters values for -s, -e, -f -v and -d \n')
+ elif(sum(ptester[0:4]) == 4): 
+ 	if(sum(ptester[4:6])==0):
+-		print str('Okay, will conduct assemblies across range of kmer values from '+hashs+' to '+hashe+' with no coverage cutoff \n')
++		print(str('Okay, will conduct assemblies across range of kmer values from '+hashs+' to '+hashe+' with no coverage cutoff \n'))
+ 	elif(sum(ptester[4:6])==1):
+ 		sys.exit('Incorrect command line entry.  Not quite enough information. Please enter both a coverage cutoff value (or auto) and the lowest kmer value to implement the cutoff \n')
+ 	elif(sum(ptester[4:6])==2):
+-		print str('Okay, will conduct assemblies across range of kmer values from '+hashs+' to '+hashe+' with coverage cutoff of '+covcut+' implemented at kmer values between '+thresh+' and '+hashe+ '\n') 
++		print(str('Okay, will conduct assemblies across range of kmer values from '+hashs+' to '+hashe+' with coverage cutoff of '+covcut+' implemented at kmer values between '+thresh+' and '+hashe+ '\n')) 
+ 	if(sum(ptester[6:8])==0):
+-		print str('Running assemblies with unpaired reads \n')	
++		print(str('Running assemblies with unpaired reads \n'))	
+ 	elif(sum(ptester[6:8])==1):
+ 		if(ptester[7]==0):
+ 			sys.exit('Incorrect command line entry.  Not quite enough information. Please enter both a expected coverage value (or auto) and the expected length of the total sequenced fragment (see Velvet manual) \n')	
+ 	elif(sum(ptester[6:8])==2):
+-		print str('Will run assemblies with paired reads \n')	
++		print(str('Will run assemblies with paired reads \n'))	
+ 
+ 
+-print str('==============================================')
+-print str('Step 1: Exploratory Assemblies \n')
++print(str('=============================================='))
++print(str('Step 1: Exploratory Assemblies \n'))
+ ## Constructing Velvetg call
+ vgcallb = str(velvDir+'/velvetg ./')
+ if(sum(ptester[6:8])==2):
+@@ -147,7 +147,7 @@ except:
+ hashes = [hashlist[0],hashlist[2],hashlist[4],hashlist[6],hashlist[8]]
+ 
+ ## Call velveth and velvetg for hash values across coarse sampling of range and determining best assembly
+-print 'Running velvet with intitial set of hash values \n'
++print('Running velvet with intitial set of hash values \n')
+ contigs = []
+ unu = []
+ MAXCONT = {}
+@@ -155,17 +155,17 @@ maxcheck = [0,0,0,0,0]
+ for i in range(5):
+ 	os.mkdir(str('Dir'+str(hashes[i])))
+ 	os.chdir(str(os.getcwd()+'/Dir'+str(hashes[i])))
+-	print 'Running velveth with k= '+str(hashes[i])
++	print('Running velveth with k= '+str(hashes[i]))
+ 	os.system(str(velvDir+'/velveth ./ '+str(hashes[i])+' '+velvethcall+' >> '+parDir+'/FinalDir/GrandVelvetLog.txt'))
+ 	if(sum(ptester[4:6])==0):
+-		print 'Running velvetg on k= '+str(hashes[i])+' velveth files'
++		print('Running velvetg on k= '+str(hashes[i])+' velveth files')
+ 		os.system(vgcall)
+ 	elif(sum(ptester[4:6])==2):
+ 		if(hashes[i] < thresh):
+-			print 'Running velvetg on k= '+str(hashes[i])+' velveth files'
++			print('Running velvetg on k= '+str(hashes[i])+' velveth files')
+ 			os.system(vgcall)
+ 		elif(hashes[i] >= thresh):
+-			print 'Running velvetg with coverage cutoff on k= '+str(hashes[i])+' velveth files'
++			print('Running velvetg with coverage cutoff on k= '+str(hashes[i])+' velveth files')
+ 			os.system(vgcallat)
+ 	os.system(str('mv contigs.fa '+parDir+'/FinalDir/contigs'+str(hashes[i])+'.fa'))
+ 	os.system(str('mv Log '+parDir+'/FinalDir/Log'+str(hashes[i])))
+@@ -181,7 +181,7 @@ for i in range(5):
+ 	for j in input:
+ 		j = j.split(' ')
+ 		if (j[0] == 'Final'):
+-			if not MAXCONT.has_key(hashes[i]):
++			if hashes[i] not in MAXCONT:
+ 				MAXCONT[hashes[i]] = 0
+ 			MAXCONT[hashes[i]] = int(j[10][:-1])
+ 			maxcheck[i] = 1
+@@ -190,19 +190,19 @@ for i in range(5):
+ if (sum(maxcheck) < 5):
+ 	sys.exit('One or more of the exploratory assemblies failed.  Please examine log files to determine the cause and try again.')
+ 
+-print str('==============================================')
+-print str('Step 2: Optimisation Assemblies \n')
++print(str('=============================================='))
++print(str('Step 2: Optimisation Assemblies \n'))
+ ## Make directories and do additional velvet runs
+ BEST = max(MAXCONT, key = MAXCONT.get)
+-print str('Of the first 5 assemblies k='+str(BEST)+' had the longest contig')
+-print str('Sampling deeper around '+str(BEST)+'\n')
++print(str('Of the first 5 assemblies k='+str(BEST)+' had the longest contig'))
++print(str('Sampling deeper around '+str(BEST)+'\n'))
+ if (BEST == hashlist[0]):
+-	print 'Running velveth with k= '+str(hashlist[1])
++	print('Running velveth with k= '+str(hashlist[1]))
+ 	hashes.append(hashlist[1])
+ 	os.mkdir(str('Dir'+str(hashlist[1])))
+ 	os.chdir(str(os.getcwd()+'/Dir'+str(hashlist[1])))
+ 	os.system(str(velvDir+'/velveth ./ '+str(hashlist[1])+' '+velvethcall+' >> '+parDir+'/FinalDir/GrandVelvetLog.txt'))
+-	print 'Running velvetg on k= '+str(hashlist[1])+' velveth files'
++	print('Running velvetg on k= '+str(hashlist[1])+' velveth files')
+ 	if(sum(ptester[4:6])==0):
+ 		os.system(vgcallOpt)
+ 	elif(sum(ptester[4:6])==2):
+@@ -217,12 +217,12 @@ if (BEST == hashlist[0]):
+ 	os.system(str('rm -rf Dir'+str(hashlist[1])))
+ 	
+ elif (BEST == hashlist[8]):
+-	print 'Running velveth with k= '+str(hashlist[7])
++	print('Running velveth with k= '+str(hashlist[7]))
+ 	hashes.append(hashlist[7])
+ 	os.mkdir(str('Dir'+str(hashlist[7])))
+ 	os.chdir(str(os.getcwd()+'/Dir'+str(hashlist[7])))
+ 	os.system(str(velvDir+'/velveth ./ '+str(hashlist[7])+' '+velvethcall+' >> '+parDir+'/FinalDir/GrandVelvetLog.txt'))
+-	print 'Running velvetg on k= '+str(hashlist[7])+' velveth files'
++	print('Running velvetg on k= '+str(hashlist[7])+' velveth files')
+ 	if(sum(ptester[4:6])==2):
+ 		if(BEST < thresh):
+ 			os.system(vgcallOpt)
+@@ -245,9 +245,9 @@ else:
+ 	hashes.append(HASHDWN)
+ 	os.mkdir(str('Dir'+str(HASHUP)))
+ 	os.chdir(str(os.getcwd()+'/Dir'+str(HASHUP)))
+-	print 'Running velveth with k= '+str(HASHUP)
++	print('Running velveth with k= '+str(HASHUP))
+ 	os.system(str(velvDir+'/velveth ./ '+str(HASHUP)+' '+velvethcall+' >> '+parDir+'/FinalDir/GrandVelvetLog.txt'))
+-	print 'Running velvetg on k= '+str(HASHUP)+' velveth files'
++	print('Running velvetg on k= '+str(HASHUP)+' velveth files')
+ 	if(sum(ptester[4:6])==0):
+ 		os.system(vgcallOpt)
+ 	elif(sum(ptester[4:6])==2):
+@@ -262,9 +262,9 @@ else:
+ 	os.system(str('rm -rf Dir'+str(HASHUP)))
+ 	os.mkdir(str('Dir'+str(HASHDWN)))
+ 	os.chdir(str(os.getcwd()+'/Dir'+str(HASHDWN)))
+-	print 'Running velveth with k= '+str(HASHDWN)
++	print('Running velveth with k= '+str(HASHDWN))
+ 	os.system(str(velvDir+'/velveth ./ '+str(HASHDWN)+' '+velvethcall+' >> '+parDir+'/FinalDir/GrandVelvetLog.txt'))
+-	print 'Running velvetg on k= '+str(HASHDWN)+' velveth files'
++	print('Running velvetg on k= '+str(HASHDWN)+' velveth files')
+ 	if(sum(ptester[4:6])==0):
+ 		os.system(vgcallOpt)
+ 	elif(sum(ptester[4:6])==2):
+@@ -280,18 +280,18 @@ else:
+ 
+ ## Assemble unused reads 	
+ os.chdir(str(parDir+'/FinalDir/UU'))
+-print '\nConducting assembly of Unused reads from exploratory assemblies'
+-print 'Running velveth with k= '+str(hashlist[4])
++print('\nConducting assembly of Unused reads from exploratory assemblies')
++print('Running velveth with k= '+str(hashlist[4]))
+ os.system(str(velvDir+'/velveth ./ '+str(hashlist[4])+'-fasta -short '+''.join(unu)+' >> '+parDir+'/FinalDir/GrandVelvetLog.txt'))
+-print 'Running velvetg on k= '+str(hashlist[4])+' velveth files'
++print('Running velvetg on k= '+str(hashlist[4])+' velveth files')
+ os.system(str(velvDir+'/velvetg ./ >> '+parDir+'/FinalDir/GrandVelvetLog.txt'))
+ os.system(str('mv contigs.fa '+parDir+'/FinalDir/UnusedOut.fa'))
+ os.system(str('mv Log '+parDir+'/FinalDir/LogUU'))
+ os.chdir('..')
+ os.system('rm -rf UU')
+ 
+-print str('==============================================')
+-print str('Step 3: Summary Assemblies \n')
++print(str('=============================================='))
++print(str('Step 3: Summary Assemblies \n'))
+ ## Do first round of summary assemblies
+ sumhashes = [hashlist[2],hashlist[4],hashlist[6]]
+ contigsSum = []
+@@ -302,14 +302,14 @@ for i in range(3):
+ 	for j in range(len(contigs)):
+ 		files = str(files+parDir+'/FinalDir/'+contigs[j]+' ')
+ 	files = str(files+parDir+'/FinalDir/UnusedOut.fa')
+-	print 'Running velveth with k= '+str(sumhashes[i])
++	print('Running velveth with k= '+str(sumhashes[i]))
+ 	if(increads==str('n')):
+ 		os.system(str(velvDir+'/velveth ./ '+str(sumhashes[i])+' -fasta -long '+files+' >> '+parDir+'/FinalDir/GrandVelvetLog.txt'))
+-		print 'Running velvetg on k= '+str(sumhashes[i])+' velveth files'
++		print('Running velvetg on k= '+str(sumhashes[i])+' velveth files')
+ 		os.system(str(velvDir+'/velvetg ./ >> '+parDir+'/FinalDir/GrandVelvetLog.txt'))
+ 	elif(increads==str('y')):
+ 		os.system(str(velvDir+'/velveth ./ '+str(sumhashes[i])+' -fasta -long '+files+' '+velvethcall+' >> '+parDir+'/FinalDir/GrandVelvetLog.txt'))
+-		print 'Running velvetg on k= '+str(sumhashes[i])+' velveth files'
++		print('Running velvetg on k= '+str(sumhashes[i])+' velveth files')
+ 		if(sum(ptester[6:8])<2):
+ 			os.system(str(velvDir+'/velvetg ./ >> '+parDir+'/FinalDir/GrandVelvetLog.txt'))	
+ 		elif(sum(ptester[6:8])==2):
+@@ -322,15 +322,15 @@ for i in range(3):
+ 
+ ## Do final summary assembly
+ os.chdir(str(parDir+'/FinalDir'))
+-print '\nConducting final summary assembly'
+-print 'Running velveth with k= '+str(hashlist[4])
++print('\nConducting final summary assembly')
++print('Running velveth with k= '+str(hashlist[4]))
+ if(increads==str('n')):
+ 	os.system(str(velvDir+'/velveth ./ '+str(hashlist[4])+' -fasta -long '+' '.join(contigsSum)+' >> '+parDir+'/FinalDir/GrandVelvetLog.txt'))
+-	print 'Running velvetg on k= '+str(hashlist[4])+' velveth files'
++	print('Running velvetg on k= '+str(hashlist[4])+' velveth files')
+ 	os.system(str(velvDir+'/velvetg ./ >> '+parDir+'/FinalDir/GrandVelvetLog.txt'))
+ elif(increads==str('y')):
+ 	os.system(str(velvDir+'/velveth ./ '+str(hashlist[4])+' -fasta -long '+' '.join(contigsSum)+' '+velvethcall+' >> '+parDir+'/FinalDir/GrandVelvetLog.txt'))
+-	print 'Running velvetg on k= '+str(hashlist[4])+' velveth files'
++	print('Running velvetg on k= '+str(hashlist[4])+' velveth files')
+ 	if(sum(ptester[6:8])<2):
+ 		os.system(str(velvDir+'/velvetg ./ >> '+parDir+'/FinalDir/GrandVelvetLog.txt'))	
+ 	elif(sum(ptester[6:8])==2):
+@@ -342,14 +342,14 @@ os.system('mv Log LogSumFinal')
+ os.chdir('..')
+ os.system('rm -rf SceneOfTheCrime')
+ 
+-print str('============================================== \n')	
+-print 'Assembly Assembler Job Complete \n' 
++print(str('============================================== \n'))	
++print('Assembly Assembler Job Complete \n') 
+ 
+ input = open(str(parDir+'/FinalDir/LogSumFinal'),'r')
+ for i in input:
+ 	i = i.split(' ')
+ 	if (i[0] == 'Final'):
+-		print ' '.join(i)
++		print(' '.join(i))
+ input.close()
+ 
+ 
+--- a/contrib/shuffleSequences_fasta/shuffleSequences_fasta.py
++++ b/contrib/shuffleSequences_fasta/shuffleSequences_fasta.py
+@@ -3,8 +3,8 @@ import sys
+ from Bio import SeqIO
+ def interleave(iter1, iter2) :
+     while True :
+-        yield iter1.next()
+-        yield iter2.next()
++        yield next(iter1)
++        yield next(iter2)
+ f1, f2 = open(sys.argv[1]), open(sys.argv[2])
+ outfile = open(sys.argv[3], 'w')
+ format = 'fasta' #or "fastq" or ...


=====================================
debian/patches/series
=====================================
@@ -4,3 +4,4 @@ fix-perl-path.patch
 0001-isCreateBinary-should-not-be-inline.patch
 hardening.patch
 spelling.patch
+2to3.patch


=====================================
debian/tests/run-unit-test
=====================================
@@ -1,12 +1,12 @@
 #!/bin/sh -e
 
 pkg=velvet
-if [ "$ADTTMP" = "" ] ; then
-  ADTTMP=`mktemp -d /tmp/${pkg}-test.XXXXXX`
+if [ "$AUTOPKGTEST_TMP" = "" ] ; then
+  AUTOPKGTEST_TMP=`mktemp -d /tmp/${pkg}-test.XXXXXX`
 fi
-cd $ADTTMP
-cp -a /usr/share/doc/${pkg}/tests/* $ADTTMP
+cd $AUTOPKGTEST_TMP
+cp -a /usr/share/doc/${pkg}/tests/* $AUTOPKGTEST_TMP
 gunzip [RS]*.gz
 chmod +x run-tests*
 ./run-tests.sh
-# rm -f $ADTTMP/*
+# rm -f $AUTOPKGTEST_TMP/*


=====================================
debian/upstream/metadata
=====================================
@@ -1,25 +1,24 @@
-Contact: Daniel Zerbino <zerbino at ebi.ac.uk>
-Name: Velvet
 Reference:
- - Author: Zerbino, Daniel R. and Birney, Ewan
-   Title: >
+- Author: Zerbino, Daniel R. and Birney, Ewan
+  Title: >
     Velvet: Algorithms for de novo short read assembly using de Bruijn graphs
-   Journal: Genome Research
-   Volume: 18
-   Number: 5
-   Pages: 821-829
-   Year: 2008
-   DOI: 10.1101/gr.074492.107
-   PMID: 18349386
-   URL: http://genome.cshlp.org/content/18/5/821.abstract
-   ePrint: http://genome.cshlp.org/content/18/5/821.full.pdf+html
+  Journal: Genome Research
+  Volume: 18
+  Number: 5
+  Pages: 821-829
+  Year: 2008
+  DOI: 10.1101/gr.074492.107
+  PMID: 18349386
+  URL: http://genome.cshlp.org/content/18/5/821.abstract
+  ePrint: http://genome.cshlp.org/content/18/5/821.full.pdf+html
 Registry:
- - Name: SciCrunch
-   Entry: SCR_010755
- - Name: OMICtools
-   Entry: OMICS_00038
- - Name: bio.tools
-   Entry: velvet
- - Name: conda:bioconda
-   Entry: velvet
+- Name: SciCrunch
+  Entry: SCR_010755
+- Name: OMICtools
+  Entry: OMICS_00038
+- Name: bio.tools
+  Entry: velvet
+- Name: conda:bioconda
+  Entry: velvet
 Repository: http://github.com/dzerbino/velvet
+Repository-Browse: https://github.com/dzerbino/velvet



View it on GitLab: https://salsa.debian.org/med-team/velvet/compare/2998d1a13edd6fa995b79f74cd57a28ac09c78d7...2816488461eef41167c8d13533ce8e714bc8c94f

-- 
View it on GitLab: https://salsa.debian.org/med-team/velvet/compare/2998d1a13edd6fa995b79f74cd57a28ac09c78d7...2816488461eef41167c8d13533ce8e714bc8c94f
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20191202/96cc85c4/attachment-0001.html>


More information about the debian-med-commit mailing list