diff options
author | Ted Tanberry <ted.tanberry@gmail.com> | 2015-12-23 10:03:29 +0100 |
---|---|---|
committer | Justin Lecher <jlec@gentoo.org> | 2015-12-23 17:32:22 +0100 |
commit | 38789fe4d68d3806961afe972dd89d236a5995df (patch) | |
tree | e4195f3478be4ac45ca3def2f76712086fa2edc2 /sci-biology/allpathslg | |
parent | sys-libs/pam: avoid regenerating docs #569338 (diff) | |
download | gentoo-38789fe4d68d3806961afe972dd89d236a5995df.tar.gz gentoo-38789fe4d68d3806961afe972dd89d236a5995df.tar.bz2 gentoo-38789fe4d68d3806961afe972dd89d236a5995df.zip |
sci-biology/allpathslg: Version bump and fix bug 568440.
Package-Manager: portage-2.2.26
Diffstat (limited to 'sci-biology/allpathslg')
4 files changed, 1832 insertions, 0 deletions
diff --git a/sci-biology/allpathslg/Manifest b/sci-biology/allpathslg/Manifest index 8209935b6d9e..8db6db48f867 100644 --- a/sci-biology/allpathslg/Manifest +++ b/sci-biology/allpathslg/Manifest @@ -1,3 +1,4 @@ DIST allpathslg-42337.tar.gz 2739498 SHA256 a2c8f64f6ba1705b2331ca07761d189183c6745f8717ffc67ee98e9e3ca3dba6 SHA512 7595fbe14a5029578b57d16f781cbb2a0f0ad6b1af2dd770e2274f8fe2e11d0013fdff12cc85c1be748e769ffb23b7d5fe30920feef38e0e8b947d05b8bda31c WHIRLPOOL 79bda55d49877641eb55630950472a06d8f25db467dbfecde8b4d04c3ce16c071d32dd312fa9a0f72723bf4caa8f9b1d0346acf438b9671b4bed2c0672c788b9 DIST allpathslg-47093.tar.gz 3057279 SHA256 493e21ae727250ea632b73b61545c32de2d8fb31e6a92605393ebb4af251f828 SHA512 499d23de52cad666fac663eb4a7d770b2129c4f9622f6c808ce30283429b6f67fb343f8712b07c7cb062c429117a0855da960ffc1d2ffb4e7ec2f544ba5a6314 WHIRLPOOL a3bc58dc140be3cddbd44c7035e628c4425bf86bc38592004df21d4dc91958ced9f08d667b43c15c214e53e3098805f368a856e66e5c2049b0e03d043b098ebc DIST allpathslg-52415.tar.gz 3129266 SHA256 3c62024a0eacdc223bc727be4718da644fb302f785c7c7347a09ff422ce96362 SHA512 afe25b07d2e07dee3ced2283ffe858f24acfb35d53e9c11fcbcc47373594453d798c344d5604eb24d5c8d3685a185a3b8807bb3547d8066cbaab8d8cf927d1d6 WHIRLPOOL de15dfeddeca2f64fd8780839c45096c28cb47ec219d781f6754f9cf65ad6dfc39b8a48aaa2c36f777282fb08ac78ef8cd04c2e1d79f4f797710d3bb38792785 +DIST allpathslg-52488.tar.gz 3121949 SHA256 035b49cb21b871a6b111976757d7aee9c2513dd51af04678f33375e620998542 SHA512 c44ef1a3ed5b343bf096663309cc399e79d65e83175232743cf330fd0d426633bd0d388922fd0c73ac0927d85ea9005549c8e4f7711c79fea7107068510ef30d WHIRLPOOL c63a13450c55fce8f2c5399bdd5d8f32939e31d9d13a120835b1d826ae96e251fea81caa134d5d45ad857af0777c22e4ad1d894c81a74db6d83a7d9ad83b12b4 diff --git a/sci-biology/allpathslg/allpathslg-52488.ebuild b/sci-biology/allpathslg/allpathslg-52488.ebuild new file mode 100644 index 000000000000..0b0b806e5cf6 --- /dev/null +++ b/sci-biology/allpathslg/allpathslg-52488.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit autotools eutils flag-o-matic + +DESCRIPTION="De novo assembly of whole-genome shotgun microreads" +# see also http://www.broadinstitute.org/software/allpaths-lg/blog/?page_id=12 +HOMEPAGE="http://www.broadinstitute.org/science/programs/genome-biology/crd" +SRC_URI="ftp://ftp.broadinstitute.org/pub/crd/ALLPATHS/Release-LG/latest_source_code/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="openmp" + +DEPEND=" + dev-libs/boost + !sci-biology/allpaths + sci-biology/vaal" +RDEPEND="" + +PATCHES=("${FILESDIR}/${P}_fix-buildsystem.patch" "${FILESDIR}/${P}_remove-namespace-std.patch") + +pkg_pretend() { + # as of release 44849, GCC 4.7.0 (or higher) is required + # seems pre gcc-4.7 users must stay with: + # ftp://ftp.broadinstitute.org/pub/crd/ALLPATHS/Release-LG/latest_source_code/2013/2013-01/allpathslg-44837.tar.gz + if [[ ${MERGE_TYPE} != binary ]]; then + [[ $(tc-getCC) == *gcc* ]] && [[ $(gcc-version) < 4.7 ]] && \ + die "You need to use gcc >4.7" + fi +} + +src_prepare() { + default_src_prepare + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable openmp) + ) + default_src_configure +} diff --git a/sci-biology/allpathslg/files/allpathslg-52488_fix-buildsystem.patch b/sci-biology/allpathslg/files/allpathslg-52488_fix-buildsystem.patch new file mode 100644 index 000000000000..7944eb5469dc --- /dev/null +++ b/sci-biology/allpathslg/files/allpathslg-52488_fix-buildsystem.patch @@ -0,0 +1,33 @@ +Fix build system to remove hardcoded debugging flags. + +--- allpathslg-52488/configure.ac ++++ allpathslg-52488/configure.ac +@@ -12,7 +12,7 @@ + AC_OPENMP + AC_OPENMP_CHECK + +-CXXFLAGS="$CXXFLAGS -std=c++11 -Wextra -Wall -Wsign-promo -Woverloaded-virtual -Wendif-labels -Wno-unused -Wno-deprecated -Wno-long-long -Wno-parentheses -Wno-unused-parameter -fno-nonansi-builtins -mieee-fp -fno-strict-aliasing -iquote . -ggdb -DNDEBUG" ++CXXFLAGS="$CXXFLAGS -std=c++11 -Wextra -Wall -Wsign-promo -Woverloaded-virtual -Wendif-labels -Wno-unused -Wno-deprecated -Wno-long-long -Wno-parentheses -Wno-unused-parameter -mieee-fp -fno-strict-aliasing -iquote . -DNDEBUG" + + OS_RELEASE="`uname -r`" + AC_SUBST(CXXFLAGS) +--- allpathslg-52488/m4/broad.m4 ++++ allpathslg-52488/m4/broad.m4 +@@ -35,12 +35,14 @@ + OLD_CFLAGS=$CFLAGS + CFLAGS="$OPENMP_CFLAGS $CFLAGS" + AC_MSG_CHECKING([validity of OpenMP configuation.]) +- AC_LINK_IFELSE([#ifndef _OPENMP ++ AC_LINK_IFELSE([ ++ AC_LANG_SOURCE([[ ++ #ifndef _OPENMP + choke me + #endif + #include <omp.h> +- int main () { return omp_get_num_threads (); }], +- [], ++ int main () { return omp_get_num_threads (); } ++ ]])],[], + [AC_MSG_BROAD_FAIL([Your compiler must support OpenMP.])]) + CXXFLAGS=$OLD_CXXFLAGS + CFLAGS=$OLD_CFLAGS diff --git a/sci-biology/allpathslg/files/allpathslg-52488_remove-namespace-std.patch b/sci-biology/allpathslg/files/allpathslg-52488_remove-namespace-std.patch new file mode 100644 index 000000000000..a094c530dcd7 --- /dev/null +++ b/sci-biology/allpathslg/files/allpathslg-52488_remove-namespace-std.patch @@ -0,0 +1,1750 @@ +Remove 'using namespace std' causing massive havoc with newly +introduced std::align in GCC-5. Fix bug +https://bugs.gentoo.org/show_bug.cgi?id=568440 + +--- allpathslg-52488/src/agp/AgpFile.cc ++++ allpathslg-52488/src/agp/AgpFile.cc +@@ -4,6 +4,8 @@ + #include "agp/AgpFile.h" + #include "TokenizeString.h" + ++using std::cerr; ++ + char agp_contig::TypeChar_() const + { + switch ( type_ ) +--- allpathslg-52488/src/agp/AgpFile.h ++++ allpathslg-52488/src/agp/AgpFile.h +@@ -9,6 +9,8 @@ + + #include "agp/AgpMods.h" + ++using std::max; ++ + class agp_entry + { + public: +--- allpathslg-52488/src/agp/AgpMods.cc ++++ allpathslg-52488/src/agp/AgpMods.cc +@@ -7,6 +7,8 @@ + + #include "system/System.h" + ++using std::istrstream; ++ + bool + agp_mods::SuperShouldBeRemoved( int super_id ) const + { +--- allpathslg-52488/src/agp/AgpMods.h ++++ allpathslg-52488/src/agp/AgpMods.h +@@ -7,6 +7,8 @@ + #include "String.h" + #include "Vec.h" + ++using std::swap; ++ + // The class contig_range provides begin and end positions on a + // contig. If the end position is before the begin position, the + // range is considered reversed. If a length is provided, the range +--- allpathslg-52488/src/allpaths_cache/CacheReadsMerge.cc ++++ allpathslg-52488/src/allpaths_cache/CacheReadsMerge.cc +@@ -56,6 +56,8 @@ + #include "feudal/VirtualMasterVec.h" + #include "random/Shuffle.h" + ++using std::map; ++ + typedef VirtualMasterVec<BaseVec> VBaseVecVec; + typedef VirtualMasterVec<QualVec> VQualVecVec; + +--- allpathslg-52488/src/AnAssemblyClass.h ++++ allpathslg-52488/src/AnAssemblyClass.h +@@ -19,6 +19,8 @@ + #include "ReadLocation.h" + #include "ReadPairing.h" + ++using std::map; ++ + class assembly; + + class super { +--- allpathslg-52488/src/efasta/EfastaTools.cc ++++ allpathslg-52488/src/efasta/EfastaTools.cc +@@ -19,6 +19,8 @@ + #include "math/Array.h" + #include <iostream> + ++using std::set; ++ + #define Err(message) \ + { cout << message << endl << "\nInvalid.\n" << endl; \ + TracebackThisProcess( ); } +--- allpathslg-52488/src/Equiv.cc ++++ allpathslg-52488/src/Equiv.cc +@@ -9,6 +9,8 @@ + #include "Equiv.h" + #include "Vec.h" + ++using std::swap; ++ + bool equivalence_relation::equiv(int a, int b) const + { if ( a == b ) return true; + int c = a; +--- allpathslg-52488/src/FastaFilestream.cc ++++ allpathslg-52488/src/FastaFilestream.cc +@@ -13,6 +13,8 @@ + + #include <strstream> + ++using std::string; ++ + template <typename vecT, typename seqT, typename convT, typename verifT> + FastaFilestream<vecT,seqT,convT,verifT>::FastaFilestream( const String& filename, + FastaNameParser* name_parser ) +--- allpathslg-52488/src/FastaFilestreamPreview.cc ++++ allpathslg-52488/src/FastaFilestreamPreview.cc +@@ -11,6 +11,8 @@ + + #include <algorithm> + ++using std::streamoff; ++ + FastaFilestreamPreview::FastaFilestreamPreview(istream& filestream) + : max_sequence_size_(0), start_offset_(0) + { +--- allpathslg-52488/src/FastaFilestreamPreview.h ++++ allpathslg-52488/src/FastaFilestreamPreview.h +@@ -12,6 +12,8 @@ + + #include "Vec.h" + ++using std::streampos; ++ + // FastaFilestreamPreview understands just enough about the fasta + // format to be able to count the number of sequences in the specified + // filestream and to know where each sequence starts in that filestream. +--- allpathslg-52488/src/Fastavector.cc ++++ allpathslg-52488/src/Fastavector.cc +@@ -14,6 +14,8 @@ + #include <istream> + #include <string> + ++using std::max; ++ + // Split this into chunks, separated by gaps ('n'), and return each chunk as a + // gapless fastavector. + // TODO: generalize this into a templatized STL algorithm. +--- allpathslg-52488/src/Fastavector.h ++++ allpathslg-52488/src/Fastavector.h +@@ -24,6 +24,9 @@ + #include <iostream> + #include <unistd.h> + ++using std::string; ++using std::istringstream; ++ + typedef std::tuple<String, int, int> FastaRegion; + + class fastaindex { +--- allpathslg-52488/src/FetchReads.cc ++++ allpathslg-52488/src/FetchReads.cc +@@ -36,6 +36,8 @@ + #include "Qualvector.h" + #include "random/Random.h" + ++using std::istringstream; ++ + // Heuristic constants: + + namespace +--- allpathslg-52488/src/feudal/BaseVec.cc ++++ allpathslg-52488/src/feudal/BaseVec.cc +@@ -21,6 +21,7 @@ + using std::ostream; + using std::cout; + using std::endl; ++using std::max_element; + + // Cap: in a given basevector, replace any sequence of N > n identical + // bases by n of the same base. +--- allpathslg-52488/src/graph/Digraph.cc ++++ allpathslg-52488/src/graph/Digraph.cc +@@ -17,6 +17,9 @@ + #include "graph/Digraph.h" + #include "math/Functions.h" + ++using std::make_pair; ++using std::priority_queue; ++ + void digraph::TransferEdges( int v, int w, const Bool enter_only ) + { ForceAssert( v != w ); + +--- allpathslg-52488/src/graph/Digraph.h ++++ allpathslg-52488/src/graph/Digraph.h +@@ -52,6 +52,8 @@ + #include "system/TraceVal.h" + #include <cstddef> + ++using std::function; ++ + typedef pair<int, int> VertexPair; + + typedef int vrtx_t; +--- allpathslg-52488/src/graph/DigraphTemplate.h ++++ allpathslg-52488/src/graph/DigraphTemplate.h +@@ -34,6 +34,8 @@ + #include "graph/Digraph.h" + #include <cstddef> + ++using std::make_pair; ++ + template<class E> vec<int> digraphE<E>:: EdgesBoundedBy( const int e1, const int e2, + const vec<int>& to_left, const vec<int>& to_right ) const + { int v = to_right[e1], w = to_left[e2]; +--- allpathslg-52488/src/graph/GraphAlgorithms.h ++++ allpathslg-52488/src/graph/GraphAlgorithms.h +@@ -9,7 +9,7 @@ + #ifndef GRAPH__GRAPH_ALGORITHMS__H_ + #define GRAPH__GRAPH_ALGORITHMS__H_ + +- ++using std::map; + + // -------------- Union Find --------------- + // +--- allpathslg-52488/src/IndexedAlignmentPlusVector.h ++++ allpathslg-52488/src/IndexedAlignmentPlusVector.h +@@ -15,6 +15,8 @@ + + #include "Alignment.h" + ++using std::streampos; ++using std::streamoff; + + // This class encapsulates the header information for both vectors and indices. + +--- allpathslg-52488/src/kmers/kmer_parcels/KmerParcelsClasses.h ++++ allpathslg-52488/src/kmers/kmer_parcels/KmerParcelsClasses.h +@@ -6,6 +6,9 @@ + // Institute is not responsible for its use, misuse, or functionality. // + /////////////////////////////////////////////////////////////////////////////// + ++using std::hex; ++using std::dec; ++ + // --------------------------------- + // NaifTimer + // --------------------------------- +--- allpathslg-52488/src/kmers/naif_kmer/KernelErrorFinder.h ++++ allpathslg-52488/src/kmers/naif_kmer/KernelErrorFinder.h +@@ -13,8 +13,8 @@ + #include "kmers/naif_kmer/LockedBlocks.h" + #include "kmers/naif_kmer/Kmers.h" + +- +- ++using std::make_pair; ++using std::stringstream; + + + +--- allpathslg-52488/src/kmers/naif_kmer/Kmers.h ++++ allpathslg-52488/src/kmers/naif_kmer/Kmers.h +@@ -14,7 +14,7 @@ + + #include "kmers/naif_kmer/KmerFunctions.h" + +- ++using std::string; + + // ---- 256 random 64bit numbers to compute hash key + +--- allpathslg-52488/src/layout/ContigActualloc.h ++++ allpathslg-52488/src/layout/ContigActualloc.h +@@ -17,6 +17,8 @@ + #include "system/Crash.h" + #include "Misc.h" + ++using std::set; ++using std::map; + + // + // Class contig_actualloc +--- allpathslg-52488/src/lookup/ImperfectLookup.h ++++ allpathslg-52488/src/lookup/ImperfectLookup.h +@@ -51,6 +51,8 @@ + #include "lookup/LookupTools.h" + #include "lookup/AlignCollector.h" + ++using std::auto_ptr; ++ + class TaskTimer; + + +--- allpathslg-52488/src/lookup/LookAlign.cc ++++ allpathslg-52488/src/lookup/LookAlign.cc +@@ -29,6 +29,8 @@ + #include "random/Random.h" + #include "system/ParsedArgs.h" + ++using std::istrstream; ++ + String QUERY("QUERY"); + + void look_align::ResetFromAlign(const align & al, const basevector & b1, +--- allpathslg-52488/src/lookup/LookupTable.h ++++ allpathslg-52488/src/lookup/LookupTable.h +@@ -18,6 +18,8 @@ + + #include <set> + ++using std::set; ++ + typedef pair<unsigned int, unsigned int> LocSeq; + + /// +--- allpathslg-52488/src/lookup/QueryLookupTableCore.cc ++++ allpathslg-52488/src/lookup/QueryLookupTableCore.cc +@@ -465,6 +465,9 @@ + #include "system/ParsedArgs.h" + #include "system/file/FileReader.h" + ++using std::istrstream; ++using std::less_equal; ++ + #define ABORT(MSG) \ + { out << MSG << " Abort." << endl << endl; \ + exit(1); } +--- allpathslg-52488/src/lookup/ShortQueryLookup.cc ++++ allpathslg-52488/src/lookup/ShortQueryLookup.cc +@@ -32,6 +32,8 @@ + #include "lookup/AlignCollector.h" + #include "lookup/ImperfectLookup.h" + ++using std::ios_base; ++ + // Run an alignment processing chain: seqs -> look -> receiver -> aligns + // That is, look turns seqs into hits, which receiver accepts + // and turns into alignments which are passed to aligns. The +--- allpathslg-52488/src/Map.h ++++ allpathslg-52488/src/Map.h +@@ -23,7 +23,7 @@ + #include <unordered_map> + #include <ext/hash_map> + using namespace __gnu_cxx; +- ++using std::map; + + template <class K, class V, class C=std::less<K>> + using StdMap = std::map<K,V,C,typename DefaultAllocator<std::pair<K const,V>>::type>; +--- allpathslg-52488/src/math/Array.h ++++ allpathslg-52488/src/math/Array.h +@@ -13,6 +13,8 @@ + #include "Vec.h" + #include "Map.h" + ++using std::fill; ++ + // ============================================================================== + // A fixed-size simple c-style 2D array that allocates faster than vec< vec<T> > + // The elements are uninitialized. +--- allpathslg-52488/src/math/Functions.cc ++++ allpathslg-52488/src/math/Functions.cc +@@ -10,7 +10,7 @@ + #include "STLExtensions.h" + #include "math/Functions.h" + +- ++using std::make_pair; + + + /* CombineNormalDistribution Filipe Ribeiro 2009-06-22 +--- allpathslg-52488/src/math/Functions.h ++++ allpathslg-52488/src/math/Functions.h +@@ -15,6 +15,10 @@ + #include <cmath> + #include <numeric> + ++using std::min; ++using std::cerr; ++using std::swap; ++ + // =========================================================================== + // + // Min functions +--- allpathslg-52488/src/math/HoInterval.cc ++++ allpathslg-52488/src/math/HoInterval.cc +@@ -10,6 +10,8 @@ + #include "math/HoInterval.h" + #include "STLExtensions.h" + ++using std::make_pair; ++ + bool ho_interval::Merge(const ho_interval & o) { + if (!Meets(*this,o)) return false; + *this = Span(*this, o); +--- allpathslg-52488/src/math/HoInterval.h ++++ allpathslg-52488/src/math/HoInterval.h +@@ -14,6 +14,8 @@ + #include "feudal/MasterVec.h" + #include "feudal/SerfVec.h" + ++using std::max; ++ + /// Class: ho_interval + /// A half-open interval [a, b). + class ho_interval { +--- allpathslg-52488/src/math/IntFunction.h ++++ allpathslg-52488/src/math/IntFunction.h +@@ -21,6 +21,8 @@ + + #include "MainTools.h" + ++using std::deque; ++using std::fixed; + + #define __INT_FUNCTION_BINARY_VERSION__ 2 + +--- allpathslg-52488/src/PackAlign.h ++++ allpathslg-52488/src/PackAlign.h +@@ -133,6 +133,8 @@ + #include "pairwise_aligners/Mutmer.h" + #include "feudal/BinaryStream.h" + ++using std::make_pair; ++ + const int Bits2 = 3, Bits3 = 7, Bits4 = 15, Bits10 = 1023, Bits12 = 4095, + Bits16 = 65535; + +--- allpathslg-52488/src/PairsManager.h ++++ allpathslg-52488/src/PairsManager.h +@@ -61,6 +61,7 @@ + #include "feudal/BinaryStream.h" + #include <cstddef> + ++using std::make_pair; + + class PairsManager; // forward declaration + +--- allpathslg-52488/src/pairwise_aligners/MakeAlignsMethod.cc ++++ allpathslg-52488/src/pairwise_aligners/MakeAlignsMethod.cc +@@ -19,6 +19,9 @@ + #include "pairwise_aligners/AlignFromMutmers.h" + #include "pairwise_aligners/SmithWatBandedA.h" + ++using std::map; ++using std::set; ++ + // If there's a perfect match of length at least perf but we produced no proper + // alignment, use banded Smith-Waterman to create one. + +--- allpathslg-52488/src/pairwise_aligners/MatchList.cc ++++ allpathslg-52488/src/pairwise_aligners/MatchList.cc +@@ -9,6 +9,8 @@ + + #include "pairwise_aligners/MatchList.h" + ++using std::max; ++ + bool MatchList::FindMatchInSorted( const int id1, const Match& newMatch ) const + { + const vec<Match>& sortedMatches = m_sortedMatches[id1]; +--- allpathslg-52488/src/paths/AlignHyperKmerPath.cc ++++ allpathslg-52488/src/paths/AlignHyperKmerPath.cc +@@ -23,6 +23,9 @@ + #include "paths/KmerBaseBroker.h" + #include "paths/KmerPath.h" + ++using std::ostringstream; ++using std::set; ++ + // Function: AlignHyperKmerPath + // + // AlignHyperKmerPath takes a HyperKmerPath h, whose KmerPath edges are assumed +--- allpathslg-52488/src/paths/CAltFasta.cc ++++ allpathslg-52488/src/paths/CAltFasta.cc +@@ -11,7 +11,7 @@ + #include "paths/FixSomeIndelsUtils.h" + #include "efasta/EfastaTools.h" + +- ++using std::set; + + /** + * CAltFasta +--- allpathslg-52488/src/paths/ChangeLibraryStats.cc ++++ allpathslg-52488/src/paths/ChangeLibraryStats.cc +@@ -47,8 +47,10 @@ + + int libID = pairs.libraryID( libName ); + ForceAssertLt( libID, nLibraries); ForceAssertGe( libID, 0 ); +- cout << "old: " << PRINT4( libName, libID, pairs.getLibrarySep(libID), pairs.getLibrarySD(libID) ); +- cout << "new: " << PRINT4( libName, libID, sep, dev ); ++ cout << "old: "; ++ PRINT4( libName, libID, pairs.getLibrarySep(libID), pairs.getLibrarySD(libID) ); ++ cout << "new: "; ++ PRINT4( libName, libID, sep, dev ); + pairs.changeLibrarySepSd( libID, sep, dev ); + } + in.close(); +--- allpathslg-52488/src/paths/CorrectLongReadsTools.h ++++ allpathslg-52488/src/paths/CorrectLongReadsTools.h +@@ -16,6 +16,8 @@ + #include "paths/LongReadTools.h" + #include "paths/Uniseq.h" + ++using std::map; ++ + class heuristics { + + public: +--- allpathslg-52488/src/paths/ExtendUnipathSeqs.cc ++++ allpathslg-52488/src/paths/ExtendUnipathSeqs.cc +@@ -13,6 +13,9 @@ + + #include <set> + ++using std::set; ++using std::back_inserter; ++ + void ExtendUnipathSeqs( const vecKmerPath& unipaths, + const vecUnipathSeq& unipathSeqs, + vecUnipathSeq& extendedUnipathSeqs, +--- allpathslg-52488/src/paths/FindErrorsCore.cc ++++ allpathslg-52488/src/paths/FindErrorsCore.cc +@@ -20,6 +20,8 @@ + #include "kmers/naif_kmer/KernelPreCorrector.h" + #include "system/WorklistN.h" + ++using std::map; ++ + static inline + String Tag(String S = "FEC") { return Date() + " (" + S + "): "; } + +--- allpathslg-52488/src/paths/FindErrorsCore.h ++++ allpathslg-52488/src/paths/FindErrorsCore.h +@@ -14,7 +14,7 @@ + + #include "kmers/KmerSpectra.h" + +- ++using std::set; + + class PC_Params + { +--- allpathslg-52488/src/paths/FindUnipathSeedsLG.cc ++++ allpathslg-52488/src/paths/FindUnipathSeedsLG.cc +@@ -16,6 +16,8 @@ + #include "paths/simulation/Placement.h" + #include <thread> + ++using std::ostringstream; ++ + // A whole bunch of variables that are shared by parallel threads. + + static const digraphE<fsepdev>* FG_ptr; +--- allpathslg-52488/src/paths/FindUnipathSeedsLG.h ++++ allpathslg-52488/src/paths/FindUnipathSeedsLG.h +@@ -19,7 +19,7 @@ + #include "paths/simulation/Placement.h" // placement + #include "paths/UnipathNhoodLG.h" // sepdev, fsepdev + +- ++using std::string; + + enum SeedStatus + { SEED_GOOD, SEED_ISOLATED, SEED_SHORT, SEED_HIGH_CN, SEED_ZERO_CN, SEED_RC_ON_REF, SEED_REDUNDANT, SEED_RC_OF_SEED }; +--- allpathslg-52488/src/paths/FixLocal.cc ++++ allpathslg-52488/src/paths/FixLocal.cc +@@ -88,6 +88,8 @@ + #include "paths/Unipath.h" + #include "paths/FindErrorsCore.h" + ++using std::ostringstream; ++ + void AddToPileup( const read_loc& rl, const basevector& b, const qualvector& q, + const basevector& tig, vec<dumbcall>& calls ) + { align a; +--- allpathslg-52488/src/paths/FragmentFillerDefs.h ++++ allpathslg-52488/src/paths/FragmentFillerDefs.h +@@ -28,6 +28,8 @@ + #include <set> + #include <time.h> + ++using std::map; ++ + namespace + { + +--- allpathslg-52488/src/paths/GetHomes.cc ++++ allpathslg-52488/src/paths/GetHomes.cc +@@ -17,6 +17,8 @@ + #include "paths/Uniseq.h" + #include "util/SearchFastb2Core.h" + ++using std::ostringstream; ++ + class vepath { + + public: +--- allpathslg-52488/src/paths/HyperFastavector.cc ++++ allpathslg-52488/src/paths/HyperFastavector.cc +@@ -14,6 +14,8 @@ + #include "feudal/BinaryStream.h" + #include <thread> + ++using std::ostringstream; ++ + // Order a pair of vec<int>s lexicographically using subset relation. + + struct order_vecint_binsubset_pair +--- allpathslg-52488/src/paths/HyperKmerPathCleaner.cc ++++ allpathslg-52488/src/paths/HyperKmerPathCleaner.cc +@@ -11,6 +11,7 @@ + #include "paths/HyperKmerPathCleaner.h" + #include <set> + ++using std::set; + + void HyperKmerPathCleaner::CleanUpGraph( HyperKmerPath& ans ) const { + +--- allpathslg-52488/src/paths/InsertWalker.h ++++ allpathslg-52488/src/paths/InsertWalker.h +@@ -34,7 +34,7 @@ + #include "paths/KmerPath.h" + #include "TaskTimer.h" // TaskTimer + +- ++using std::set; + + + +--- allpathslg-52488/src/paths/InternalMergeImpl.cc ++++ allpathslg-52488/src/paths/InternalMergeImpl.cc +@@ -17,7 +17,7 @@ + #include "paths/InternalMergeImpl.h" + #include "graph/Digraph.h" + +- ++using std::set; + + + /******************************************************************************* +--- allpathslg-52488/src/paths/KmerAlignSet.h ++++ allpathslg-52488/src/paths/KmerAlignSet.h +@@ -12,6 +12,8 @@ + #include "Basevector.h" + #include "CoreTools.h" + ++using std::make_pair; ++ + // KmerAlignSet. It represents a set of alignments of a read to unibases, although + // in principle the 'read' could be any sequence and the 'unibases' could be any set + // of sequences. +--- allpathslg-52488/src/paths/KmerBaseBroker.h ++++ allpathslg-52488/src/paths/KmerBaseBroker.h +@@ -20,6 +20,8 @@ + #include <algorithm> // for set_union + #include <map> + ++using std::map; ++ + /** + Class: KmerBaseBrokerTemplate + +--- allpathslg-52488/src/paths/KmerPathDatabase.cc ++++ allpathslg-52488/src/paths/KmerPathDatabase.cc +@@ -4,6 +4,8 @@ + #include "feudal/BinaryStream.h" + #include <map> + ++using std::map; ++ + // Methods of class KmerPathDatabaseTemplate. + + template <class TAG> +--- allpathslg-52488/src/paths/KmerPath.h ++++ allpathslg-52488/src/paths/KmerPath.h +@@ -22,6 +22,8 @@ + #include "HashSimple.h" + #include "graph/Digraph.h" + ++using std::make_pair; ++ + class KmerPathLoc; // forward declaration + + /** +--- allpathslg-52488/src/paths/KmerPathInterval.cc ++++ allpathslg-52488/src/paths/KmerPathInterval.cc +@@ -128,11 +128,11 @@ + } + + template void Contains( const vec<tagged_rpint>& segs, kmer_id_t index, +- vec<longlong>& answer, bool append, int cap ); ++ vec<longlong>& answer, bool append = false, int cap = -1 ); + template void Contains( const vec<big_tagged_rpint>& segs, kmer_id_t index, +- vec<longlong>& answer, bool append, int cap ); ++ vec<longlong>& answer, bool append = false, int cap = -1 ); + template void Contains( const vec<new_tagged_rpint>& segs, kmer_id_t index, +- vec<longlong>& answer, bool append, int cap ); ++ vec<longlong>& answer, bool append = false, int cap = -1 ); + + // Overload Contains() with a second version that looks for all intervals overlapping + // a given KmerPathInterval, instead of a single kmer. +@@ -203,11 +203,11 @@ + } + + template void Contains( const vec<tagged_rpint>& segs, KmerPathInterval rpi, +- vec<longlong>& answer, bool append, int cap ); ++ vec<longlong>& answer, bool append = false, int cap = -1 ); + template void Contains( const vec<big_tagged_rpint>& segs, KmerPathInterval rpi, +- vec<longlong>& answer, bool append, int cap ); ++ vec<longlong>& answer, bool append = false, int cap = -1 ); + template void Contains( const vec<new_tagged_rpint>& segs, KmerPathInterval rpi, +- vec<longlong>& answer, bool append, int cap ); ++ vec<longlong>& answer, bool append = false, int cap = -1 ); + + // This will efficiently find a single instance of the requested kmer. + // Intended for base lookup, where you don't need to find all of them. +--- allpathslg-52488/src/paths/KmerPathInterval.h ++++ allpathslg-52488/src/paths/KmerPathInterval.h +@@ -8,6 +8,8 @@ + #include "CommonSemanticTypes.h" + #include "feudal/BinaryStreamTraits.h" + ++using std::max; ++ + // Portability note: endianness + // The implementations here would need to be changed for big endian architectures. + +@@ -116,6 +118,15 @@ + To do: check that "gaps in kmer paths are not used for assembly from short reads" + is true. + */ ++ ++class KmerPathInterval; ++ ++template<class TAG> ++void Contains( const vec<TAG>& segs, kmer_id_t index, vec<longlong>& answer, bool append = false, int cap = -1 ); ++ ++template<class TAG> ++void Contains( const vec<TAG>& segs, KmerPathInterval rpi, vec<longlong>& answer, bool append = false, int cap = -1 ); ++ + class KmerPathInterval { + public: + KmerPathInterval( ) { } +@@ -364,11 +375,11 @@ + + template<class TAG> + friend void Contains( const vec<TAG>& segs, kmer_id_t index, +- vec<longlong>& answer, bool append = false, int cap = -1 ); ++ vec<longlong>& answer, bool append, int cap ); + + template<class TAG> + friend void Contains( const vec<TAG>& segs, KmerPathInterval rpi, +- vec<longlong>& answer, bool append = false, int cap = -1 ); ++ vec<longlong>& answer, bool append, int cap ); + + template<class TAG> + friend longlong Instance( const vec<TAG>& segs, kmer_id_t k ); +@@ -491,11 +502,11 @@ + + template<class TAG> + friend void Contains( const vec<TAG>& segs, kmer_id_t index, +- vec<longlong>& answer, bool append = false, int cap = -1 ); ++ vec<longlong>& answer, bool append, int cap ); + + template<class TAG> + friend void Contains( const vec<TAG>& segs, KmerPathInterval rpi, +- vec<longlong>& answer, bool append = false, int cap = -1 ); ++ vec<longlong>& answer, bool append, int cap ); + + template<class TAG> + friend longlong Instance( const vec<TAG>& segs, kmer_id_t k ); +@@ -622,11 +633,11 @@ + + template<class TAG> + friend void Contains( const vec<TAG>& segs, kmer_id_t index, +- vec<longlong>& answer, bool append = false, int cap = -1 ); ++ vec<longlong>& answer, bool append, int cap ); + + template<class TAG> + friend void Contains( const vec<TAG>& segs, KmerPathInterval rpi, +- vec<longlong>& answer, bool append = false, int cap = -1 ); ++ vec<longlong>& answer, bool append, int cap ); + + template<class TAG> + friend kmer_id_t Instance( const vec<TAG>& segs, kmer_id_t k ); +--- allpathslg-52488/src/paths/KPatch.cc ++++ allpathslg-52488/src/paths/KPatch.cc +@@ -32,6 +32,8 @@ + #include "paths/AssemblyEdit.h" + #include "paths/GetNexts.h" + ++using std::ostringstream; ++ + template<int K> void PatchMe( const vec<basevector>& jbases_sorted, + const vec<int64_t>& jbases_sorted_id, const PairsManager& jpairs, + const vec< triple<int64_t,int,int> >& jaligns, const vec<superb>& scaffolds, +--- allpathslg-52488/src/paths/LinkingPairs.cc ++++ allpathslg-52488/src/paths/LinkingPairs.cc +@@ -9,6 +9,8 @@ + #include "paths/LinkingPairs.h" + #include "math/Array.h" + ++using std::multiset; ++ + void LinkingPairs::Init(int nlibs_, const vec<int>& lens ) + { + nlibs = nlibs_; +--- allpathslg-52488/src/paths/long/EvalByReads.cc ++++ allpathslg-52488/src/paths/long/EvalByReads.cc +@@ -19,6 +19,8 @@ + #include <queue> + #include <omp.h> + ++using std::priority_queue; ++ + namespace { + struct CompareReadPlaceByQsum { + bool operator() (const read_place& a, const read_place& b) +--- allpathslg-52488/src/paths/long/EvalCorrected.cc ++++ allpathslg-52488/src/paths/long/EvalCorrected.cc +@@ -25,6 +25,8 @@ + #include "paths/long/MakeKmerStuff.h" + #include "random/Random.h" + ++using std::set; ++ + void EvalCorrected( + const VecEFasta& corrected0, // corrected reads + const vec<int>& cid, // ids of corrected reads +--- allpathslg-52488/src/paths/long/fosmid/Fosmids.cc ++++ allpathslg-52488/src/paths/long/fosmid/Fosmids.cc +@@ -15,6 +15,9 @@ + #include "paths/long/fosmid/Fosmids.h" + #include "math/HoInterval.h" + ++using std::istringstream; ++using std::ostringstream; ++ + vec<int> ChrSizes(void) + { + return {249250621,243199373,198022430,191154276,180915260,171115067, +--- allpathslg-52488/src/paths/long/KmerAlign.cc ++++ allpathslg-52488/src/paths/long/KmerAlign.cc +@@ -12,6 +12,8 @@ + #include "Equiv.h" + #include "VecUtilities.h" + ++using std::map; ++ + void KmerAlign( + const vec< pair<int,int> > & offset, + vec< pair<int,int> > & aligns, +--- allpathslg-52488/src/paths/long/OverlapReads.cc ++++ allpathslg-52488/src/paths/long/OverlapReads.cc +@@ -10,6 +10,10 @@ + #include "FeudalMimic.h" + #include <queue> + ++using std::max; ++using std::queue; ++using std::make_pair; ++ + // ================================ static methods ============================= + + // If tail b1[len1-overlap:len1) is the same as head b2[0: overlap) +--- allpathslg-52488/src/paths/long/RefTraceTools.cc ++++ allpathslg-52488/src/paths/long/RefTraceTools.cc +@@ -10,6 +10,8 @@ + #include "VecUtilities.h" + #include "math/HoInterval.h" + ++using std::get; ++ + void CreateHBPlus(const HyperBasevector& hb, const vec<int>& inv, + HyperBasevector& hbp, vec<pair<int,Bool>>& hbp_to_hb) + { +--- allpathslg-52488/src/paths/long/ultra/ConsensusScoreModel.cc ++++ allpathslg-52488/src/paths/long/ultra/ConsensusScoreModel.cc +@@ -12,6 +12,8 @@ + #include "VecUtilities.h" + #include <map> + ++using std::map; ++ + ConsensusScoreModel::ConsensusScoreModel( double del_rate, double ins_rate, double sub_rate, + bool ignore_matching_score, bool score_fast ) + { +--- allpathslg-52488/src/paths/long/VariantCallTools.cc ++++ allpathslg-52488/src/paths/long/VariantCallTools.cc +@@ -27,6 +27,8 @@ + #include "paths/long/VariantReadSupport.h" + #include "kmers/KMer.h" + ++using std::stack; ++ + namespace { + + bool IsBubbleEdge(int eid, const HyperBasevector& hb, const vec<int>& to_left, +--- allpathslg-52488/src/paths/long/VariantReadSupport.cc ++++ allpathslg-52488/src/paths/long/VariantReadSupport.cc +@@ -23,6 +23,11 @@ + #include "paths/long/ReadOriginTracker.h" + #include "paths/long/EvalByReads.h" + ++using std::get; ++using std::make_tuple; ++using std::ignore; ++using std::tie; ++ + namespace { + void CalcLengthProbSimple(vec<double>&vOut,const double dProbIns_len, const double dProbDel_len, const uint64_t org_length){ + const double dProbIns=dProbIns_len; +--- allpathslg-52488/src/paths/long/VariantReadSupport.h ++++ allpathslg-52488/src/paths/long/VariantReadSupport.h +@@ -5,6 +5,8 @@ + #include "Qualvector.h" + #include "paths/HyperBasevector.h" + ++using std::tuple; ++ + // forward declaration + class read_place; + class ReadOriginTracker; +--- allpathslg-52488/src/paths/long/Variants.cc ++++ allpathslg-52488/src/paths/long/Variants.cc +@@ -22,6 +22,8 @@ + #include "paths/long/VariantFilters.h" + #include "paths/long/VariantPostProcess.h" + ++using std::set; ++ + int MarkVariants( HyperEfasta& he, const vec<VariantSignature>& v_signatures, + const long_logging& logc ) + { double clock = WallClockTime( ); +--- allpathslg-52488/src/paths/LongReadTools.h ++++ allpathslg-52488/src/paths/LongReadTools.h +@@ -17,6 +17,8 @@ + #include "kmers/KmerRecord.h" + #include "paths/AssemblyEdit.h" + ++using std::ostringstream; ++ + // A gap patcher is defined by left and right ints u1 and u2, and a BaseVec r, + // whose left end aligns to u1 starting at tpos1 and whose right end aligns to u2 + // ending at tpos2, where the positions are in terms of the BaseVecs associated +--- allpathslg-52488/src/paths/MakeScaffoldsCloseBest.cc ++++ allpathslg-52488/src/paths/MakeScaffoldsCloseBest.cc +@@ -29,6 +29,8 @@ + #include "paths/reporting/CLinkBundle.h" + #include <sstream> + ++using std::ostringstream; ++ + // An slink is a link between scaffolds. The first scaffold is not represented + // in the object. + +--- allpathslg-52488/src/paths/Mixmer.cc ++++ allpathslg-52488/src/paths/Mixmer.cc +@@ -73,6 +73,9 @@ + #include "util/ReadTracker.h" + #include "util/SearchFastb2Core.h" + ++using std::ostringstream; ++using std::istrstream; ++ + // CorrectErrors. + + void CorrectErrors( vecbasevector& bases, vecqualvector& quals, +--- allpathslg-52488/src/paths/MuxGraph.cc ++++ allpathslg-52488/src/paths/MuxGraph.cc +@@ -6,6 +6,7 @@ + + #include <set> + ++using std::set; + + // Functions to translate pathIds to nodeIds and back. + +--- allpathslg-52488/src/paths/MuxSearchAgent.h ++++ allpathslg-52488/src/paths/MuxSearchAgent.h +@@ -15,6 +15,10 @@ + #include "paths/MuxSearchState.h" + #include "paths/MuxSearchPolicy.h" + ++using std::hex; ++using std::dec; ++using std::mem_fun; ++ + /// The search agent directed by the SearchDirector of a + /// KmerPathMuxSearcher. + /// +--- allpathslg-52488/src/paths/MuxSearchPolicy.h ++++ allpathslg-52488/src/paths/MuxSearchPolicy.h +@@ -29,6 +29,7 @@ + #include <hash_set> + #endif + ++using std::map; + + //////////////////////////////////////////////////////////////////////////// + /// +--- allpathslg-52488/src/paths/OffsetTracker.cc ++++ allpathslg-52488/src/paths/OffsetTracker.cc +@@ -10,6 +10,8 @@ + #include "paths/OffsetTracker.h" + #include <queue> + ++using std::priority_queue; ++ + MutableOffsetTracker::MutableOffsetTracker( const vecUnipathSeq& unipathSeqs, + const MuxGraph& inverseMuxGraph, + const int firstSuperSeq, +--- allpathslg-52488/src/paths/PairDistFitting.h ++++ allpathslg-52488/src/paths/PairDistFitting.h +@@ -38,7 +38,7 @@ + // + template <class T> + void MostProbableGap( const T& distr, const int len1, const int len2, const vec< pair< int, int > >& links, +- int& gap, int& std, bool verbose=false ) ++ int& gap, int& std, bool verbose ) + { + ForceAssertGt( links.isize(), 0 ); + // find the averge of x1 + x2 ( <x1+x2> = <L> - g in the ideal case ) +--- allpathslg-52488/src/paths/PairDistModels.h ++++ allpathslg-52488/src/paths/PairDistModels.h +@@ -23,6 +23,8 @@ + #include <map> + #include "math/IntDistribution.h" + ++using std::map; ++ + // ===================================================== + // Class ProbFuncInterface + // +--- allpathslg-52488/src/paths/PatcherCottageCore.cc ++++ allpathslg-52488/src/paths/PatcherCottageCore.cc +@@ -22,6 +22,8 @@ + #include "system/AllOfOutput.h" + #include "system/SharedMem.h" + ++using std::ostringstream; ++ + void PatcherCottageCore( basevector L, basevector R, const int sep, + const int dev, vecbasevector& reads, vecqualvector& quals, + vec< pair<int,int> >& pairs, String& report, +--- allpathslg-52488/src/paths/PolymorphismRemoveCore.h ++++ allpathslg-52488/src/paths/PolymorphismRemoveCore.h +@@ -19,7 +19,7 @@ + + #include "kmers/naif_kmer/KmerFreqAffixesMap.h" + +- ++using std::map; + + typedef Kmer29 Kmer_t; + typedef KmerFreqAffixes<Kmer_t> KmerRec_t; +--- allpathslg-52488/src/paths/ReadsToPathsCoreX.cc ++++ allpathslg-52488/src/paths/ReadsToPathsCoreX.cc +@@ -20,6 +20,8 @@ + #include "paths/MakeAlignsPathsParallelX.h" + #include "paths/ReadsToPathsCoreX.h" + ++using std::map; ++ + static inline + String Tag(String S = "RTPCX") { return Date() + " (" + S + "): "; } + +--- allpathslg-52488/src/paths/RemodelGapTools.cc ++++ allpathslg-52488/src/paths/RemodelGapTools.cc +@@ -18,6 +18,9 @@ + #include "paths/RemodelGapTools.h" + #include "random/NormalDistribution.h" + ++using std::istringstream; ++using std::ostringstream; ++ + // GapComp + // + // d = possible gap +--- allpathslg-52488/src/paths/reporting/CLinkBundle.cc ++++ allpathslg-52488/src/paths/reporting/CLinkBundle.cc +@@ -8,6 +8,8 @@ + + #include "paths/reporting/CLinkBundle.h" + ++using std::make_pair; ++ + /** + * CLinkBundle + * Constructor +--- allpathslg-52488/src/paths/reporting/CSuperLinks.cc ++++ allpathslg-52488/src/paths/reporting/CSuperLinks.cc +@@ -15,6 +15,8 @@ + #include "paths/reporting/COffset.h" + #include "paths/reporting/CSuperLinks.h" + ++using std::set; ++ + /** + * class CSuperLinks + * Constructor +--- allpathslg-52488/src/paths/reporting/MapSeeds.cc ++++ allpathslg-52488/src/paths/reporting/MapSeeds.cc +@@ -24,7 +24,7 @@ + #include "paths/simulation/Placement.h" + #include "feudal/BinaryStream.h" + +- ++using std::ostringstream; + + // MakeDepend: dependency QueryLookupTable + +--- allpathslg-52488/src/paths/SamplePairedReadDistributions.cc ++++ allpathslg-52488/src/paths/SamplePairedReadDistributions.cc +@@ -68,6 +68,8 @@ + #include "math/IntDistribution.h" + #include "math/IntFrequencies.h" + ++using std::list; ++ + static inline + String Tag(String S = "SPRD") { return Date() + " (" + S + "): "; } + +--- allpathslg-52488/src/paths/SamplePairedReadStats.cc ++++ allpathslg-52488/src/paths/SamplePairedReadStats.cc +@@ -46,6 +46,8 @@ + #include "paths/HyperBasevector.h" + #include "paths/ReadsToPathsCoreX.h" + ++using std::list; ++ + // auxiliary routines ------------------------------- + void pair_alignment_data( const PairsManager& pairs, const vecbasevector& reads, const VecQualNibbleVec &quals, + FirstLookupFinderECJ& lfinder, FirstLookupFilterECJ& lfilter, +--- allpathslg-52488/src/paths/SimpleGapCloser.cc ++++ allpathslg-52488/src/paths/SimpleGapCloser.cc +@@ -44,6 +44,8 @@ + #include "paths/Unipath.h" + #include "system/AllOfOutput.h" + ++using std::ostringstream; ++ + class bridge { + + public: +--- allpathslg-52488/src/paths/SimpleWalk.cc ++++ allpathslg-52488/src/paths/SimpleWalk.cc +@@ -15,6 +15,9 @@ + #include "paths/PairedPair.h" + #include "paths/SimpleWalk.h" + ++using std::make_pair; ++using std::priority_queue; ++ + namespace + { + +--- allpathslg-52488/src/paths/simulation/VCF.cc ++++ allpathslg-52488/src/paths/simulation/VCF.cc +@@ -16,6 +16,8 @@ + #include "system/Assert.h" + #include <utility> + ++using std::istringstream; ++ + namespace { + + // split - tokenize a string based on a separator and return a vector of strings representing the +--- allpathslg-52488/src/paths/simulation/VCF.h ++++ allpathslg-52488/src/paths/simulation/VCF.h +@@ -21,7 +21,8 @@ + + using std::string; + using std::vector; +- ++using std::ostringstream; ++using std::map; + + // VCFWriter use a streamlined data structure compared to VCF, which was hard coded to use VCFChromosome + class VCFWriter +--- allpathslg-52488/src/paths/SubmissionPrep.cc ++++ allpathslg-52488/src/paths/SubmissionPrep.cc +@@ -21,6 +21,8 @@ + #include "paths/AssemblyCleanupTools.h" + #include "math/HoInterval.h" + ++using std::ostringstream; ++ + /** + * SubmissionPrep + * +--- allpathslg-52488/src/paths/SubsumptionList.cc ++++ allpathslg-52488/src/paths/SubsumptionList.cc +@@ -2,6 +2,8 @@ + + #include "paths/SubsumptionList.h" + ++using std::back_inserter; ++ + // Functions to translate pathIds to indexes and back. + + OrientedKmerPathId PathIdFromIndex( int index ) +--- allpathslg-52488/src/paths/SuperBaseVector.h ++++ allpathslg-52488/src/paths/SuperBaseVector.h +@@ -10,6 +10,8 @@ + #include <numeric> + #include <functional> + ++using std::mem_fun_ref; ++ + /// A simple class which holds a series of basevectors with + /// (possibly negative) gaps between them. This is what a + /// KmerPath logically maps to in sequence space. The function +--- allpathslg-52488/src/paths/UnibaseCopyNumber3.cc ++++ allpathslg-52488/src/paths/UnibaseCopyNumber3.cc +@@ -43,7 +43,7 @@ + #include <omp.h> + // MakeDepend: library OMP + +- ++using std::istrstream; + + // Check if the gap size from u1 to u2 is the same as from u2* to u1*. + void CheckGaps( +--- allpathslg-52488/src/paths/UnipathEval.cc ++++ allpathslg-52488/src/paths/UnipathEval.cc +@@ -35,6 +35,9 @@ + #include <omp.h> + // MakeDepend: library OMP + ++using std::ostringstream; ++using std::list; ++ + typedef double gc_t; + typedef int unipath_size_t; + typedef BinsVec2 < unipath_size_t, gc_t, PredictionStats > bin2PredStat; +--- allpathslg-52488/src/paths/UnipathFixerTools.cc ++++ allpathslg-52488/src/paths/UnipathFixerTools.cc +@@ -33,6 +33,8 @@ + #include "util/SearchFastb2Core.h" + #include <vector> + ++using std::ostringstream; ++ + size_t const PCottageJoinData::HEADER; + + void AlignReadsToUnipaths( const String& run_dir, const String& jump_reads, +--- allpathslg-52488/src/paths/UnipathNhoodCommon.cc ++++ allpathslg-52488/src/paths/UnipathNhoodCommon.cc +@@ -12,6 +12,8 @@ + #include "paths/simulation/Placement.h" + #include <sstream> + ++using std::ostringstream; ++ + /** + Function: PrintNhood + +--- allpathslg-52488/src/paths/UnipathPatcher.cc ++++ allpathslg-52488/src/paths/UnipathPatcher.cc +@@ -47,6 +47,8 @@ + #include "paths/UnipathFixerTools.h" + #include "system/SharedMem.h" + ++using std::istrstream; ++ + void GapStatsAlt( vec<int> gap, vec<int> gapdev, int& gap_ave, int& gapdev_ave ) + { + // If there are less than six gaps, we directly compute their mean. +--- allpathslg-52488/src/paths/Uniseq.cc ++++ allpathslg-52488/src/paths/Uniseq.cc +@@ -498,7 +498,7 @@ + const gapster& gx = G( ).EdgeObjectByIndexFrom( x, 0 ); + uniseq p = Vert(x); + int y = From(x)[0]; +- if ( !To(y).size( ) == 2 ) continue; ++ if ( !(To(y).size( ) == 2) ) continue; + int e = -1; + for ( int j = 0; j < To(y).isize( ); j++ ) + if ( To(y)[j] != x ) e = j; +@@ -518,7 +518,7 @@ + const gapster& gx = G( ).EdgeObjectByIndexTo( x, 0 ); + uniseq p = Vert(x); + int y = To(x)[0]; +- if ( !From(y).size( ) == 2 ) continue; ++ if ( !(From(y).size( ) == 2) ) continue; + int e = -1; + for ( int j = 0; j < From(y).isize( ); j++ ) + if ( From(y)[j] != x ) e = j; +--- allpathslg-52488/src/paths/Useq.cc ++++ allpathslg-52488/src/paths/Useq.cc +@@ -10,6 +10,8 @@ + #include "CoreTools.h" + #include "paths/Useq.h" + ++using std::make_pair; ++ + int useq::Kmers( ) const + { Assert( unibases_ != 0 ); + int kmers = 0; +--- allpathslg-52488/src/PrintAlignment.h ++++ allpathslg-52488/src/PrintAlignment.h +@@ -14,6 +14,8 @@ + #include "CoreTools.h" + #include "Qualvector.h" + ++using std::ostringstream; ++ + void PrintBlanks( ostream& out, int n ); + + template<class BASEVEC> +--- allpathslg-52488/src/Qualvector.cc ++++ allpathslg-52488/src/Qualvector.cc +@@ -10,6 +10,8 @@ + #include "FastIfstream.h" + #include "Qualvector.h" + ++using std::istrstream; ++ + /// \file + /// \ingroup grp_quals + /// \copydoc Qualvector.h +--- allpathslg-52488/src/ReadLocation.cc ++++ allpathslg-52488/src/ReadLocation.cc +@@ -16,6 +16,9 @@ + #include "Vec.h" + #include "system/file/FileReader.h" + ++using std::streampos; ++using std::map; ++ + void read_location::ForceInBounds( ostream * out_ptr ) + { if ( (int) LengthOfRead( ) > LengthOfContig( ) ) + { if ( out_ptr ) +--- allpathslg-52488/src/ReadLocationUtil.cc ++++ allpathslg-52488/src/ReadLocationUtil.cc +@@ -9,7 +9,7 @@ + #include "STLExtensions.h" + #include "VecAlignmentPlus.h" + +- ++using std::map; + + int AlignsCount( const vec<read_location> &locs, + int loc_id, +--- allpathslg-52488/src/reporting/ScaffoldLayout.cc ++++ allpathslg-52488/src/reporting/ScaffoldLayout.cc +@@ -21,6 +21,8 @@ + #include <omp.h> + // MakeDepend: library OMP + ++using std::ostringstream; ++ + int main(int argc, char **argv) + { + RunTime( ); +--- allpathslg-52488/src/SeqInterval.cc ++++ allpathslg-52488/src/SeqInterval.cc +@@ -9,6 +9,7 @@ + #include "SeqInterval.h" + #include "Vec.h" + ++using std::min; + + /* + * seq_interval +--- allpathslg-52488/src/SeqInterval.h ++++ allpathslg-52488/src/SeqInterval.h +@@ -14,7 +14,10 @@ + #include <algorithm> + #include <iostream> + +-using namespace std; ++using std::binary_function; ++using std::ostream; ++using std::istream; ++using std::max; + + /* + * class seq_interval +--- allpathslg-52488/src/Set.h ++++ allpathslg-52488/src/Set.h +@@ -16,6 +16,8 @@ + #include <iostream> + #include <set> + ++using std::set; ++ + template <class T, class C=std::less<T>> + using StdSet = std::set<T,C,typename DefaultAllocator<T>::type>; + +--- allpathslg-52488/src/ShortVector.h ++++ allpathslg-52488/src/ShortVector.h +@@ -14,6 +14,8 @@ + #include "system/Types.h" + #include "feudal/BinaryStream.h" + ++using std::uninitialized_fill_n; ++ + // ================================================================================ + // + // A shortvector holds a list of up to 255 things of any type T. +--- allpathslg-52488/src/STLExtensions.h ++++ allpathslg-52488/src/STLExtensions.h +@@ -9,8 +9,6 @@ + #ifndef STLEXTENSIONS_H + #define STLEXTENSIONS_H + +-using namespace std; +- + #include <functional> + #include <vector> + #include <bitset> +@@ -21,6 +19,14 @@ + #include "feudal/BinaryStream.h" + #include "system/StaticAssert.h" + ++using std::binary_function; ++using std::unary_function; ++using std::pair; ++using std::bitset; ++using std::initializer_list; ++using std::vector; ++using std::ostream; ++ + /// minimum<T> is a function object. + /// + /// If f is an object of class minimum<T> and x and y are objects of +--- allpathslg-52488/src/system/MiscUtil.cc ++++ allpathslg-52488/src/system/MiscUtil.cc +@@ -21,6 +21,8 @@ + #include "system/HTMLUtils.h" + #include "system/Utils.h" + ++using std::list; ++ + static Bool makeOnlyIfNeeded = True; + + void SetMakeOnlyIfNeeded( Bool newMakeOnlyIfNeeded ) { +--- allpathslg-52488/src/system/MiscUtil.h ++++ allpathslg-52488/src/system/MiscUtil.h +@@ -27,6 +27,9 @@ + #include "CommonSemanticTypes.h" + #include "graph/Digraph.h" + ++using std::map; ++using std::set; ++ + // Semantic type: shellcmd_t + // The name of a shell command. + SemanticType( String, shellcmd_t ); +--- allpathslg-52488/src/system/ParsedArgs.cc ++++ allpathslg-52488/src/system/ParsedArgs.cc +@@ -26,6 +26,9 @@ + #include "system/HostName.h" + #include "system/UseGDB.h" + ++using std::istrstream; ++using std::mem_fun_ref; ++ + #ifndef FatalErr + #define FatalErr(message) { cout << message << endl << endl; exit(-1); } + #endif +--- allpathslg-52488/src/system/ParsedArgs.h ++++ allpathslg-52488/src/system/ParsedArgs.h +@@ -97,6 +97,8 @@ + #include "TokenizeString.h" + #include "ParseSet.h" + ++using std::stringstream; ++ + class parsed_arg_help { + + public: +--- allpathslg-52488/src/system/ProcBuf.cc ++++ allpathslg-52488/src/system/ProcBuf.cc +@@ -15,6 +15,8 @@ + #include <sys/wait.h> + #include <unistd.h> + ++using std::ios_base; ++ + namespace + { + size_t const BUFFER_SIZE = 8192; +--- allpathslg-52488/src/system/RunTime.cc ++++ allpathslg-52488/src/system/RunTime.cc +@@ -41,6 +41,10 @@ + #include <unwind.h> + #endif + ++using std::strstream; ++using std::hex; ++using std::setw; ++ + /// =========================================================================== + /// + /// ReturnAddress(i), where 0 <= i <= 100: get the return address. The +--- allpathslg-52488/src/system/RunTime.h ++++ allpathslg-52488/src/system/RunTime.h +@@ -14,6 +14,8 @@ + #include "system/Exit.h" + #include "system/Types.h" + ++using std::ostream; ++ + typedef void ArachneSignalHandler(int, siginfo_t*, void*); + + void arachne_signal_handler( int signal_number, siginfo_t* info, void* context, +--- allpathslg-52488/src/system/System.cc ++++ allpathslg-52488/src/system/System.cc +@@ -36,6 +36,10 @@ + + #include <dirent.h> + ++using std::istringstream; ++using std::istream_iterator; ++using std::ostringstream; ++ + int SystemInternal( String command, const char *shell, + int* pStatus, int* pErrNo ) + { +@@ -1088,7 +1092,7 @@ + + bool isReadable( String const& filename ) + { ifstream ifs(filename.c_str()); +- return ifs; } ++ return static_cast<bool>(ifs); } + + int Glob( const String& x, vector<String>& xs ) + { glob_t globbuf; +--- allpathslg-52488/src/system/System.h ++++ allpathslg-52488/src/system/System.h +@@ -21,6 +21,18 @@ + #include "system/Exit.h" + #include "system/file/TempFile.h" + ++using std::vector; ++using std::ostream; ++using std::ofstream; ++using std::ifstream; ++using std::istream; ++using std::ios; ++using std::cout; ++using std::flush; ++using std::endl; ++using std::setprecision; ++using std::fixed; ++ + #ifndef InputErr + #define InputErr(message) \ + cout << "\nFatal error at " << Date() << ": " << message \ +--- allpathslg-52488/src/system/TraceVal.h ++++ allpathslg-52488/src/system/TraceVal.h +@@ -25,6 +25,9 @@ + #include "system/Assert.h" + #include "system/Exit.h" + ++using std::cout; ++using std::endl; ++ + // Macros: Tracing macros + // TRACEVAL_ON - undefine if you're not doing tracing + // TRACEVAL_STOP_TRACING_COPIES -- call before an operation that shuffles +--- allpathslg-52488/src/system/Types.h ++++ allpathslg-52488/src/system/Types.h +@@ -14,7 +14,7 @@ + #include <cstdlib> + #include <netinet/in.h> + +-using namespace std; ++ + + // This assumes that all suns run Solaris... + #if __sun == 1 +--- allpathslg-52488/src/system/WorklistUtils.cc ++++ allpathslg-52488/src/system/WorklistUtils.cc +@@ -32,6 +32,10 @@ + #include <sys/resource.h> + #include <unistd.h> + ++using std::istringstream; ++using std::istream_iterator; ++using std::min; ++ + namespace + { + pthread_t gMainThread; +--- allpathslg-52488/src/util/FastaParser.cc ++++ allpathslg-52488/src/util/FastaParser.cc +@@ -22,6 +22,7 @@ + + using std::string; + using std::vector; ++using std::istringstream; + + char* FastaParser::readLine() + { +--- allpathslg-52488/src/util/FastaParser.h ++++ allpathslg-52488/src/util/FastaParser.h +@@ -24,6 +24,8 @@ + #include <fstream> + #include <vector> + ++using std::max; ++ + /// Base class for the parsers for sequence, quality, and bits which follow. + class FastaParser + { +--- allpathslg-52488/src/util/FastbStats.cc ++++ allpathslg-52488/src/util/FastbStats.cc +@@ -18,6 +18,8 @@ + + #include "random/Random.h" + ++using std::map; ++ + typedef VirtualMasterVec<BaseVec> VBaseVecVec; + + +--- allpathslg-52488/src/util/Happening.cc ++++ allpathslg-52488/src/util/Happening.cc +@@ -25,6 +25,8 @@ + #include "FastIfstream.h" + #include "MainTools.h" + ++using std::istringstream; ++ + vec<String> tracebacks; + Bool TALLYG; + +--- allpathslg-52488/src/util/MemMonitor.cc ++++ allpathslg-52488/src/util/MemMonitor.cc +@@ -21,7 +21,7 @@ + #include <signal.h> + #include <time.h> + +-using namespace std; ++using std::string; + + // convertion factors between jiffies and seconds (check your system!!!) + const double sec_jif = 100.0; +--- allpathslg-52488/src/util/Quala2Qualb.cc ++++ allpathslg-52488/src/util/Quala2Qualb.cc +@@ -11,6 +11,8 @@ + #include "FastIfstream.h" + #include "Qualvector.h" + ++using std::istrstream; ++ + int main(int argc, char *argv[]) + { + RunTime(); +--- allpathslg-52488/src/util/QualbStats.cc ++++ allpathslg-52488/src/util/QualbStats.cc +@@ -20,6 +20,7 @@ + #include "Qualvector.h" + #include "Basevector.h" + ++using std::scientific; + + #define NQ 256 + +--- allpathslg-52488/src/util/ReadTrack.cc ++++ allpathslg-52488/src/util/ReadTrack.cc +@@ -33,6 +33,9 @@ + #include "util/ReadTracker.h" + #include "util/RunCommand.h" + ++using std::map; ++using std::set; ++ + // Return filename portion of path (after last slash) + String basename(const String path) + { +--- allpathslg-52488/src/util/ReadTracker.cc ++++ allpathslg-52488/src/util/ReadTracker.cc +@@ -11,6 +11,9 @@ + #include "VecUtilities.h" + #include "util/ReadTracker.h" + ++using std::string; ++using std::istringstream; ++ + unsigned int + ReadTracker::AddSource(String s) + { +--- allpathslg-52488/src/util/RunCommand.cc ++++ allpathslg-52488/src/util/RunCommand.cc +@@ -14,6 +14,8 @@ + #include <unistd.h> + #include <sstream> + ++using std::ostringstream; ++ + /** + * RunCommand + */ +--- allpathslg-52488/src/util/TextTable.cc ++++ allpathslg-52488/src/util/TextTable.cc +@@ -13,6 +13,8 @@ + #include <sstream> + #include <iterator> + ++using std::max; ++ + vec<vec<String> > TextTable::GetTable( ) const { + vec<vec<String> > table; + for ( size_t i = 0; i < lines.size(); ++i ) { +--- allpathslg-52488/src/util/TextTable.h ++++ allpathslg-52488/src/util/TextTable.h +@@ -33,6 +33,8 @@ + #include "Vec.h" + #include "feudal/TrackingAllocator.h" + ++using std::string; ++ + class TextTable { + public: + // == Special types to draw line and manipulate tables == +--- allpathslg-52488/src/Vec.h ++++ allpathslg-52488/src/Vec.h +@@ -50,6 +50,11 @@ + #include "Compare.h" + #include "system/file/FileReader.h" + ++using std::numeric_limits; ++using std::ostream_iterator; ++using std::setfill; ++using std::setw; ++ + ///////////////////////////////////////////////////////////////////////////// + // + // vec Class Declaration and Template Definitions +--- allpathslg-52488/src/VecOverlap.cc ++++ allpathslg-52488/src/VecOverlap.cc +@@ -12,6 +12,9 @@ + #include "STLExtensions.h" + #include <numeric> + ++using std::max; ++using std::make_pair; ++ + // Represents the suffix of the index'th word starting at the pos'th + // character. + template <class T> +--- allpathslg-52488/src/VecUtilities.h ++++ allpathslg-52488/src/VecUtilities.h +@@ -37,6 +37,9 @@ + #include "Vec.h" + #include <cstddef> + ++using std::less; ++using std::equal_to; ++using std::greater; + + ///////////////////////////////////////////////////////////////////////////// + // |