This is an automated email from the git hooks/post-receive script. afif pushed a commit to branch master in repository canu.
commit a9101d36f75d05681f6bd16f71c63eaf6ce63abb Merge: f6f924b 15ffcc1 Author: Afif Elghraoui <[email protected]> Date: Thu May 18 01:18:32 2017 -0400 Merge tag 'upstream/1.5+dfsg' Upstream version 1.5+dfsg Conflicts: src/bogart/buildGraph.mk src/gfa/alignGFA.mk src/meryl/maskMers.mk src/pipelines/sanity/sanity.pl src/pipelines/sanity/sanity.sh README.licenses | 43 + addCopyrights-BuildData.pl | 1 + addCopyrights.dat | 729 +++++ addCopyrights.pl | 41 +- buildRelease.sh | 39 + documentation/reST-markup-hints | 10 + documentation/source/conf.py | 4 +- documentation/source/faq.rst | 95 +- documentation/source/parameter-reference.rst | 418 ++- documentation/source/quick-start.rst | 55 +- documentation/source/tutorial.rst | 114 +- src/AS_UTL/AS_UTL_fileIO.C | 149 +- src/AS_UTL/AS_UTL_fileIO.H | 8 +- src/AS_UTL/AS_UTL_stackTrace.C | 376 ++- src/AS_UTL/AS_UTL_stackTrace.H | 2 +- src/AS_UTL/bitPackedFile.C | 2 +- src/AS_UTL/libbacktrace/LICENSE | 29 + src/AS_UTL/libbacktrace/README | 15 + src/AS_UTL/libbacktrace/atomic.c | 113 + src/AS_UTL/libbacktrace/backtrace-supported.h | 66 + src/AS_UTL/libbacktrace/backtrace.c | 129 + src/AS_UTL/libbacktrace/backtrace.h | 182 ++ src/AS_UTL/libbacktrace/config.h | 128 + src/AS_UTL/libbacktrace/dwarf.c | 3123 ++++++++++++++++++++ src/AS_UTL/libbacktrace/elf.c | 983 ++++++ src/AS_UTL/libbacktrace/fileline.c | 194 ++ src/AS_UTL/libbacktrace/internal.h | 294 ++ src/AS_UTL/libbacktrace/make.out | 26 + src/AS_UTL/libbacktrace/make.sh | 22 + src/AS_UTL/libbacktrace/mmap.c | 303 ++ src/AS_UTL/libbacktrace/mmapio.c | 100 + src/AS_UTL/libbacktrace/posix.c | 100 + src/AS_UTL/libbacktrace/print.c | 92 + src/AS_UTL/libbacktrace/simple.c | 108 + src/AS_UTL/libbacktrace/sort.c | 108 + src/AS_UTL/libbacktrace/state.c | 72 + src/AS_UTL/libbacktrace/unknown.c | 68 + src/AS_global.C | 10 +- src/Makefile | 227 +- src/bogart/AS_BAT_BestOverlapGraph.C | 88 +- src/bogart/AS_BAT_BestOverlapGraph.H | 10 +- src/bogart/AS_BAT_ChunkGraph.C | 16 +- src/bogart/AS_BAT_CreateUnitigs.C | 2 +- src/bogart/AS_BAT_MergeOrphans.H | 6 +- src/bogart/AS_BAT_OverlapCache.C | 70 +- src/bogart/AS_BAT_TigGraph.C | 28 +- src/bogart/bogart.C | 25 +- src/canu_version_update.pl | 58 +- src/correction/generateCorrectionLayouts.C | 63 +- src/falcon_sense/falcon_sense.C | 21 + src/falcon_sense/falcon_sense.mk | 2 +- src/falcon_sense/libfalcon/falcon.C | 240 +- src/falcon_sense/libfalcon/falcon.H | 75 +- src/falcon_sense/libfalcon/kmer_lookup.C | 622 ---- src/fastq-utilities/fastqSimulate.C | 4 +- src/gfa/alignGFA.C | 464 +++ .../falcon_sense.mk => gfa/alignGFA.mk} | 8 +- src/gfa/gfa.C | 345 +++ src/gfa/gfa.H | 103 + src/main.mk | 43 +- src/merTrim/merTrim.C | 183 +- .../falcon_sense.mk => merTrim/merTrim.mk} | 10 +- src/merTrim/merTrimResult.H | 9 +- src/meryl/compare-counts.C | 4 + src/meryl/estimate-mer-threshold.C | 310 +- src/meryl/existDB.C | 252 ++ .../falcon_sense.mk => meryl/existDB.mk} | 12 +- src/meryl/libkmer/existDB-create-from-fasta.C | 304 ++ src/meryl/libkmer/existDB-create-from-meryl.C | 261 ++ src/meryl/libkmer/existDB-create-from-sequence.C | 293 ++ src/meryl/libkmer/existDB-state.C | 233 ++ src/meryl/libkmer/existDB.C | 211 ++ src/meryl/libkmer/existDB.H | 190 ++ src/meryl/libkmer/existDB.mk | 13 + src/meryl/libkmer/percentCovered.C | 95 + src/meryl/libkmer/percentCovered.mk | 13 + src/meryl/libkmer/posDB.mk | 13 + src/meryl/libkmer/positionDB-access.C | 376 +++ src/meryl/libkmer/positionDB-dump.C | 79 + src/meryl/libkmer/positionDB-file.C | 318 ++ src/meryl/libkmer/positionDB-mismatch.C | 412 +++ src/meryl/libkmer/positionDB-sort.C | 182 ++ src/meryl/libkmer/positionDB.C | 1186 ++++++++ src/meryl/libkmer/positionDB.H | 273 ++ src/meryl/maskMers.C | 4 + src/meryl/meryl-build.C | 20 + src/meryl/positionDB.C | 308 ++ .../falcon_sense.mk => meryl/positionDB.mk} | 12 +- src/mhap/mhapConvert.C | 33 +- src/minimap/mmapConvert.C | 36 +- src/overlapInCore/libedlib/edlib.C | 65 +- src/overlapInCore/libedlib/edlib.H | 327 +- .../prefixEditDistance-allocateMoreSpace.C | 13 +- .../liboverlap/prefixEditDistance-extend.C | 18 +- .../liboverlap/prefixEditDistance-forward.C | 36 +- .../liboverlap/prefixEditDistance-reverse.C | 36 +- src/overlapInCore/liboverlap/prefixEditDistance.H | 21 +- .../overlapInCore-Process_String_Overlaps.C | 2 +- src/overlapInCore/overlapPair.C | 700 +++-- src/pipelines/canu-object-store.pl | 152 + src/pipelines/canu.pl | 405 +-- src/pipelines/canu/Configure.pm | 193 +- src/pipelines/canu/Consensus.pm | 465 ++- src/pipelines/canu/CorrectReads.pm | 688 +++-- src/pipelines/canu/Defaults.pm | 569 ++-- src/pipelines/canu/ErrorEstimate.pm | 102 +- src/pipelines/canu/Execution.pm | 508 +++- src/pipelines/canu/Gatekeeper.pm | 369 +-- src/pipelines/canu/Grid_Cloud.pm | 347 +++ src/pipelines/canu/Grid_DNANexus.pm | 104 + src/pipelines/canu/Grid_LSF.pm | 3 - src/pipelines/canu/Grid_PBSTorque.pm | 19 +- src/pipelines/canu/Grid_SGE.pm | 34 +- src/pipelines/canu/Grid_Slurm.pm | 3 - src/pipelines/canu/HTML.pm | 214 +- src/pipelines/canu/Meryl.pm | 573 ++-- src/pipelines/canu/Output.pm | 150 +- src/pipelines/canu/OverlapBasedTrimming.pm | 165 +- src/pipelines/canu/OverlapErrorAdjustment.pm | 345 ++- src/pipelines/canu/OverlapInCore.pm | 216 +- src/pipelines/canu/OverlapMMap.pm | 298 +- src/pipelines/canu/OverlapMhap.pm | 352 ++- src/pipelines/canu/OverlapStore.pm | 428 +-- src/pipelines/canu/Report.pm | 172 ++ src/pipelines/canu/Unitig.pm | 169 +- src/pipelines/parallel-ovl-store-test.sh | 68 + src/pipelines/sanity/sanity-all-done.pl | 240 -- src/pipelines/sanity/sanity-merge-qc.pl | 121 - src/pipelines/sanity/sanity.pl | 382 --- src/pipelines/sanity/sanity.sh | 50 - src/pipelines/simple-repeat-test.pl | 107 + src/stores/gatekeeperPartition.C | 82 +- src/stores/gkStore.C | 35 +- src/stores/gkStore.H | 3 +- src/stores/ovOverlap.C | 13 +- src/stores/ovOverlap.H | 18 +- src/stores/ovStore.C | 115 +- src/stores/ovStore.H | 14 +- src/stores/ovStoreBucketizer.C | 4 +- src/stores/ovStoreBuild.C | 13 +- src/stores/ovStoreFile.C | 202 +- src/stores/ovStoreFilter.C | 23 +- src/stores/ovStoreHistogram.C | 28 +- src/stores/ovStoreHistogram.H | 4 +- src/stores/ovStoreWriter.C | 12 +- src/stores/tgStore.C | 8 +- src/stores/tgStoreCoverageStat.C | 4 +- src/stores/tgStoreDump.C | 16 +- src/stores/tgStoreLoad.C | 41 +- src/stores/tgTig.C | 32 + src/stores/tgTig.H | 2 + src/stores/tgTigMultiAlignDisplay.C | 2 +- src/utgcns/libNDFalcon/dw.C | 10 + src/utgcns/libcns/unitigConsensus.C | 134 +- src/utgcns/libcns/unitigConsensus.H | 3 +- src/utgcns/libpbutgcns/LICENSE | 72 +- src/utgcns/utgcns.C | 5 +- 157 files changed, 20800 insertions(+), 5840 deletions(-) diff --cc src/AS_global.C index 533f428,0b9304f..d7aefbb --- a/src/AS_global.C +++ b/src/AS_global.C @@@ -102,9 -102,9 +102,10 @@@ AS_configure(int argc, char **argv) // Install a signal handler to catch seg faults and errors. - AS_UTL_installCrashCatcher(); + AS_UTL_installCrashCatcher(argv[0]); + + // // Et cetera. // diff --cc src/overlapInCore/overlapPair.C index bb7ac31,63571ea..3dce0d0 --- a/src/overlapInCore/overlapPair.C +++ b/src/overlapInCore/overlapPair.C @@@ -513,18 -802,18 +802,18 @@@ main(int argc, char **argv) // Initialize thread work areas. Mirrored from overlapInCore.C for (uint32 tt=0; tt<numThreads; tt++) { - fprintf(stderr, "Initialize thread %u\n", tt); + fprintf(stderr, "Initialize thread %u\n", tt); - WA[tt].threadID = tt; - WA[tt].maxErate = maxErate; - WA[tt].partialOverlaps = partialOverlaps; - WA[tt].invertOverlaps = invertOverlaps; + WA[tt].threadID = tt; + WA[tt].maxErate = maxErate; + WA[tt].partialOverlaps = partialOverlaps; + WA[tt].invertOverlaps = invertOverlaps; - WA[tt].gkpStore = gkpStore; - WA[tt].overlaps = NULL; + WA[tt].gkpStore = gkpStore; + WA[tt].overlaps = NULL; - // preallocate some work thread memory for common tasks to avoid allocation - WA[tt].readSeq = new char[AS_MAX_READLEN+1]; + // preallocate some work thread memory for common tasks to avoid allocation + WA[tt].readSeq = new char[AS_MAX_READLEN+1]; } diff --cc src/pipelines/canu/Defaults.pm index 0c3d69e,6e91966..c7a3df3 --- a/src/pipelines/canu/Defaults.pm +++ b/src/pipelines/canu/Defaults.pm @@@ -987,17 -998,32 +998,194 @@@ sub setDefaults () } + # Get the version information. Needs to be last so that pathMap can be defined. + + sub setVersion ($) { + my $bin = shift @_; + my $version; + + open(F, "$bin/gatekeeperCreate --version 2>&1 |"); + while (<F>) { + $version = $_; chomp $version; + } + close(F); + + $global{'version'} = $version; + } + + + sub checkJava () { + return if ((getGlobal("corOverlapper") ne "mhap") && + (getGlobal("obtOverlapper") ne "mhap") && + (getGlobal("utgOverlapper") ne "mhap")); + + my $java = getGlobal("java"); + my $versionStr = "unknown"; + my $version = 0; + + # Argh, we can't use runCommand() here, because we're included in Execution.pm. Try to check ++ # it with -x. Nope. Fails if $java == "java". ++ ++ #if (! -x $java) { ++ # addCommandLineError("ERROR: java executable '$java' not found or not executable\n"); ++ #} ++ ++ open(F, "$java -Xmx1g -showversion 2>&1 |"); ++ while (<F>) { ++ # First word is either "java" or "openjdk" or ... ++ if (m/^.*\s+version\s+\"(\d+.\d+)(.*)\".*$/) { ++ $versionStr = "$1$2"; ++ $version = $1; ++ } ++ } ++ close(F); ++ ++ if ($version < 1.8) { ++ addCommandLineError("ERROR: mhap overlapper requires java version at least 1.8.0; you have $versionStr (from '$java').\n"); ++ addCommandLineError("ERROR: '$java -showversion' reports:\n"); ++ ++ open(F, "$java -showversion 2>&1 |"); ++ while (<F>) { ++ chomp; ++ addCommandLineError("ERROR: '$_'\n"); ++ } ++ close(F); ++ ++ } else { ++ print STDERR "-- Detected Java(TM) Runtime Environment '$versionStr' (from '$java').\n"; ++ } ++} ++ ++ ++ ++sub checkGnuplot () { ++ ++ return if (getGlobal("gnuPlotTested") == 1); ++ ++ my $gnuplot = getGlobal("gnuplot"); ++ my $format = getGlobal("gnuplotImageFormat"); ++ my $version = undef; ++ ++ # Check for existence of gnuplot. ++ ++ open(F, "$gnuplot -V |"); ++ while (<F>) { ++ chomp; ++ $version = $_; ++ $version = $1 if ($version =~ m/^gnuplot\s+(.*)$/); ++ } ++ close(F); ++ ++ if (!defined($version)) { ++ addCommandLineError("ERROR: Failed to run gnuplot from '$gnuplot'."); ++ addCommandLineError("ERROR: Set option gnuplot=<path-to-gnuplot> or gnuplotTested=true to skip this test and not generate plots.\n"); ++ return; ++ } ++ ++ # Check for existence of a decent output format. Need to redirect in /dev/null to make gnuplot ++ # not use it's builtin pager. ++ ++ if (!defined($format)) { ++ my $havePNG = 0; ++ my $haveSVG = 0; ++ my $haveGIF = 0; ++ ++ open(F, "> /tmp/gnuplot-$$-test.gp"); ++ print F "set terminal\n"; ++ close(F); ++ ++ system("cd /tmp && $gnuplot < /dev/null /tmp/gnuplot-$$-test.gp > /tmp/gnuplot-$$-test.err 2>&1"); ++ ++ open(F, "< /tmp/gnuplot-$$-test.err"); ++ while (<F>) { ++ s/^\s+//; ++ s/\s+$//; ++ ++ my @t = split '\s+', $_; ++ ++ $havePNG = 1 if ($t[0] eq 'png'); ++ $haveSVG = 1 if ($t[0] eq 'svg'); ++ $haveGIF = 1 if ($t[0] eq 'gif'); ++ } ++ close(F); ++ ++ $format = "gif" if ($haveGIF); ++ $format = "svg" if ($haveSVG); ++ $format = "png" if ($havePNG); ++ ++ setGlobal("gnuplotImageFormat", $format); ++ ++ unlink "/tmp/gnuplot-$$-test.gp"; ++ unlink "/tmp/gnuplot-$$-test.err"; ++ } ++ ++ if (!defined($format)) { ++ addCommandLineError("ERROR: Failed to detect a suitable output format for gnuplot.\n"); ++ addCommandLineError("ERROR: Looked for png, svg and gif, found none of them.\n"); ++ addCommandLineError("Set option gnuplotImageFormat=<type>, or gnuplotTested=true to skip this test and not generate plots.\n"); ++ return; ++ } ++ ++ # Test if we can actually make images. ++ ++ open(F, "> /tmp/gnuplot-$$-test.gp"); ++ print F "set title 'gnuplot test'\n"; ++ print F "set xlabel 'X'\n"; ++ print F "set xlabel 'Y'\n"; ++ print F "\n"; ++ print F "set terminal $format size 1024,1024\n"; ++ print F "set output '/tmp/gnuplot-$$-test.1.$format'\n"; ++ print F "\n"; ++ print F "plot [-30:20] sin(x*20) * atan(x)\n\n"; ++ print F "\n"; ++ print F "set terminal $format size 256,256\n"; ++ print F "set output '/tmp/gnuplot-$$-test.2.$format'\n"; ++ print F "\n"; ++ print F "bogus line\n"; ++ close(F); ++ ++ # Dang, we don't have runCommandSilently here, so have to do it the hard way. ++ ++ system("cd /tmp && $gnuplot < /dev/null /tmp/gnuplot-$$-test.gp > /tmp/gnuplot-$$-test.err 2>&1"); ++ ++ if ((! -e "/tmp/gnuplot-$$-test.1.$format") || ++ (! -e "/tmp/gnuplot-$$-test.2.$format")) { ++ addCommandLineError("ERROR: gnuplot failed to generate images.\n"); ++ ++ open(F, "< /tmp/gnuplot-$$-test.err"); ++ while (<F>) { ++ chomp; ++ addCommandLineError("ERROR: gnuplot reports: $_\n"); ++ } ++ close(F); ++ ++ addCommandLineError("ERROR: Set option gnuplotImageFormat=<type>, or gnuplotTested=true to skip this test and not generate plots.\n"); ++ return; ++ } ++ ++ # Yay, gnuplot works! ++ ++ print STDERR "-- Detected gnuplot version '$version' (from '$gnuplot') and image format '$format'.\n"; ++ #addCommandLineOption("gnuplotTested=1"); ++ ++ unlink "/tmp/gnuplot-$$-test.gp"; ++ unlink "/tmp/gnuplot-$$-test.err"; ++ unlink "/tmp/gnuplot-$$-test.1.$format"; ++ unlink "/tmp/gnuplot-$$-test.2.$format"; ++} ++ ++ + +sub checkJava () { + return if ((getGlobal("corOverlapper") ne "mhap") && + (getGlobal("obtOverlapper") ne "mhap") && + (getGlobal("utgOverlapper") ne "mhap")); + + my $java = getGlobal("java"); + my $versionStr = "unknown"; + my $version = 0; + + # Argh, we can't use runCommand() here, because we're included in Execution.pm. Try to check # it with -x. Nope. Fails if $java == "java". #if (! -x $java) { diff --cc src/stores/ovStore.H index d86a6b1,fdaee47..dfec980 --- a/src/stores/ovStore.H +++ b/src/stores/ovStore.H @@@ -322,14 -322,13 +322,19 @@@ public // of evalues must agree. void addEvalues(vector<char *> &fileList); - void addEvalues(uint32 bgnID, uint32 endID, uint16 *evalues, uint64 evaluesLen); + + // Return the statistics associated with this store + + ovStoreHistogram *getHistogram(void) { + return(new ovStoreHistogram(_storePath)); + }; + // Return the statistics associated with this store + + ovStoreHistogram *getHistogram(void) { + return(new ovStoreHistogram(_gkp, _storePath)); + }; + private: char _storePath[FILENAME_MAX]; -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/canu.git _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
