1 |
commit: a23a7df736f724ce516b19ce5648ae58be6b301b |
2 |
Author: Ted Tanberry <ted.tanberry <AT> gmail <DOT> com> |
3 |
AuthorDate: Sun Dec 27 12:49:35 2015 +0000 |
4 |
Commit: Justin Lecher <jlec <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Dec 27 12:49:35 2015 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a23a7df7 |
7 |
|
8 |
sci-biology/vaal: Gentoo-Bug: 568438, fix global namespace std:: clash. |
9 |
|
10 |
Package-Manager: portage-2.2.26 |
11 |
|
12 |
.../files/vaal-46233_remove-namespace-std.patch | 911 +++++++++++++++++++++ |
13 |
sci-biology/vaal/vaal-46233-r1.ebuild | 42 + |
14 |
2 files changed, 953 insertions(+) |
15 |
|
16 |
diff --git a/sci-biology/vaal/files/vaal-46233_remove-namespace-std.patch b/sci-biology/vaal/files/vaal-46233_remove-namespace-std.patch |
17 |
new file mode 100644 |
18 |
index 0000000..c3c3ec0 |
19 |
--- /dev/null |
20 |
+++ b/sci-biology/vaal/files/vaal-46233_remove-namespace-std.patch |
21 |
@@ -0,0 +1,911 @@ |
22 |
+Remove 'using namespace std' causing massive havoc with newly |
23 |
+introduced std::align in GCC-5. Fix bug |
24 |
+https://bugs.gentoo.org/show_bug.cgi?id=568438 |
25 |
+ |
26 |
+--- vaal-46233/src/efasta/EfastaTools.cc |
27 |
++++ vaal-46233/src/efasta/EfastaTools.cc |
28 |
+@@ -18,6 +18,8 @@ |
29 |
+ #include "math/Functions.h" |
30 |
+ #include "math/Array.h" |
31 |
+ |
32 |
++using std::set; |
33 |
++ |
34 |
+ #define Err(message) \ |
35 |
+ { cout << message << endl << "\nInvalid.\n" << endl; \ |
36 |
+ TracebackThisProcess( ); } |
37 |
+--- vaal-46233/src/Equiv.cc |
38 |
++++ vaal-46233/src/Equiv.cc |
39 |
+@@ -9,6 +9,8 @@ |
40 |
+ #include "Equiv.h" |
41 |
+ #include "Vec.h" |
42 |
+ |
43 |
++using std::swap; |
44 |
++ |
45 |
+ bool equivalence_relation::equiv(int a, int b) const |
46 |
+ { if ( a == b ) return true; |
47 |
+ int c = a; |
48 |
+--- vaal-46233/src/FastaFilestream.cc |
49 |
++++ vaal-46233/src/FastaFilestream.cc |
50 |
+@@ -13,6 +13,8 @@ |
51 |
+ |
52 |
+ #include <strstream> |
53 |
+ |
54 |
++using std::string; |
55 |
++ |
56 |
+ template <typename vecT, typename seqT, typename convT, typename verifT> |
57 |
+ FastaFilestream<vecT,seqT,convT,verifT>::FastaFilestream( const String& filename, |
58 |
+ FastaNameParser* name_parser ) |
59 |
+--- vaal-46233/src/FastaFilestreamPreview.cc |
60 |
++++ vaal-46233/src/FastaFilestreamPreview.cc |
61 |
+@@ -11,6 +11,8 @@ |
62 |
+ |
63 |
+ #include <algorithm> |
64 |
+ |
65 |
++using std::streamoff; |
66 |
++ |
67 |
+ FastaFilestreamPreview::FastaFilestreamPreview(istream& filestream) |
68 |
+ : max_sequence_size_(0), start_offset_(0) |
69 |
+ { |
70 |
+--- vaal-46233/src/FastaFilestreamPreview.h |
71 |
++++ vaal-46233/src/FastaFilestreamPreview.h |
72 |
+@@ -12,6 +12,8 @@ |
73 |
+ |
74 |
+ #include "Vec.h" |
75 |
+ |
76 |
++using std::streampos; |
77 |
++ |
78 |
+ // FastaFilestreamPreview understands just enough about the fasta |
79 |
+ // format to be able to count the number of sequences in the specified |
80 |
+ // filestream and to know where each sequence starts in that filestream. |
81 |
+--- vaal-46233/src/Fastavector.cc |
82 |
++++ vaal-46233/src/Fastavector.cc |
83 |
+@@ -14,6 +14,8 @@ |
84 |
+ #include <istream> |
85 |
+ #include <string> |
86 |
+ |
87 |
++using std::max; |
88 |
++ |
89 |
+ // Split this into chunks, separated by gaps ('n'), and return each chunk as a |
90 |
+ // gapless fastavector. |
91 |
+ // TODO: generalize this into a templatized STL algorithm. |
92 |
+--- vaal-46233/src/Fastavector.h |
93 |
++++ vaal-46233/src/Fastavector.h |
94 |
+@@ -24,6 +24,9 @@ |
95 |
+ #include <iostream> |
96 |
+ #include <unistd.h> |
97 |
+ |
98 |
++using std::string; |
99 |
++using std::istringstream; |
100 |
++ |
101 |
+ typedef std::tuple<String, int, int> FastaRegion; |
102 |
+ |
103 |
+ class fastaindex { |
104 |
+--- vaal-46233/src/FetchReads.cc |
105 |
++++ vaal-46233/src/FetchReads.cc |
106 |
+@@ -36,6 +36,8 @@ |
107 |
+ #include "Qualvector.h" |
108 |
+ #include "random/Random.h" |
109 |
+ |
110 |
++using std::istringstream; |
111 |
++ |
112 |
+ // Heuristic constants: |
113 |
+ |
114 |
+ namespace |
115 |
+--- vaal-46233/src/feudal/BaseVec.cc |
116 |
++++ vaal-46233/src/feudal/BaseVec.cc |
117 |
+@@ -21,6 +21,7 @@ |
118 |
+ using std::ostream; |
119 |
+ using std::cout; |
120 |
+ using std::endl; |
121 |
++using std::max_element; |
122 |
+ |
123 |
+ // Cap: in a given basevector, replace any sequence of N > n identical |
124 |
+ // bases by n of the same base. |
125 |
+--- vaal-46233/src/graph/Digraph.cc |
126 |
++++ vaal-46233/src/graph/Digraph.cc |
127 |
+@@ -16,6 +16,8 @@ |
128 |
+ #include "graph/Digraph.h" |
129 |
+ #include "math/Functions.h" |
130 |
+ |
131 |
++using std::make_pair; |
132 |
++ |
133 |
+ Bool digraph::HasEdge( int v, int w ) const { |
134 |
+ return find( from_[v].begin(), from_[v].end(), w ) != from_[v].end(); |
135 |
+ } |
136 |
+--- vaal-46233/src/graph/DigraphTemplate.h |
137 |
++++ vaal-46233/src/graph/DigraphTemplate.h |
138 |
+@@ -34,6 +34,8 @@ |
139 |
+ #include "graph/Digraph.h" |
140 |
+ #include <cstddef> |
141 |
+ |
142 |
++using std::make_pair; |
143 |
++ |
144 |
+ template<class E> vec<int> digraphE<E>::EdgesConnectedTo( const vec<int>& v ) const |
145 |
+ { vec<int> G = VerticesConnectedTo(v), e; |
146 |
+ for ( int x = 0; x < G.isize( ); x++ ) |
147 |
+--- vaal-46233/src/IndexedAlignmentPlusVector.cc |
148 |
++++ vaal-46233/src/IndexedAlignmentPlusVector.cc |
149 |
+@@ -9,6 +9,8 @@ |
150 |
+ #include "IndexedAlignmentPlusVector.h" |
151 |
+ #include "VecAlignmentPlus.h" |
152 |
+ |
153 |
++using std::streamoff; |
154 |
++ |
155 |
+ // These strings are at the head of the vector and index files for verification purposes. |
156 |
+ |
157 |
+ const String VecAlignmentPlusHeaderIO::mStrVectorHeader( "alignment_plus vector V.2\n" ); |
158 |
+--- vaal-46233/src/IndexedAlignmentPlusVector.h |
159 |
++++ vaal-46233/src/IndexedAlignmentPlusVector.h |
160 |
+@@ -15,6 +15,7 @@ |
161 |
+ |
162 |
+ #include "Alignment.h" |
163 |
+ |
164 |
++using std::streampos; |
165 |
+ |
166 |
+ // This class encapsulates the header information for both vectors and indices. |
167 |
+ |
168 |
+--- vaal-46233/src/kmers/kmer_parcels/KmerParcelsBuilder.cc |
169 |
++++ vaal-46233/src/kmers/kmer_parcels/KmerParcelsBuilder.cc |
170 |
+@@ -10,6 +10,7 @@ |
171 |
+ #include "kmers/KmerParcels.h" |
172 |
+ #include "system/WorklistN.h" |
173 |
+ |
174 |
++using std::fixed; |
175 |
+ |
176 |
+ inline String Tag(String S = "KPs") { return Date() + " (" + S + "): "; } |
177 |
+ |
178 |
+--- vaal-46233/src/kmers/kmer_parcels/KmerParcelsClasses.h |
179 |
++++ vaal-46233/src/kmers/kmer_parcels/KmerParcelsClasses.h |
180 |
+@@ -6,6 +6,9 @@ |
181 |
+ // Institute is not responsible for its use, misuse, or functionality. // |
182 |
+ /////////////////////////////////////////////////////////////////////////////// |
183 |
+ |
184 |
++using std::hex; |
185 |
++using std::dec; |
186 |
++ |
187 |
+ // --------------------------------- |
188 |
+ // NaifTimer |
189 |
+ // --------------------------------- |
190 |
+--- vaal-46233/src/kmers/kmer_parcels/KmerParcelsStatistics.h |
191 |
++++ vaal-46233/src/kmers/kmer_parcels/KmerParcelsStatistics.h |
192 |
+@@ -10,7 +10,7 @@ |
193 |
+ #ifndef KMERS__KMER_PARCELS__KMER_PARCELS_STATISTICS_H |
194 |
+ #define KMERS__KMER_PARCELS__KMER_PARCELS_STATISTICS_H |
195 |
+ |
196 |
+- |
197 |
++using std::map; |
198 |
+ |
199 |
+ // -------------------------------------- |
200 |
+ // MapOfCounters |
201 |
+--- vaal-46233/src/layout/ContigActualloc.h |
202 |
++++ vaal-46233/src/layout/ContigActualloc.h |
203 |
+@@ -17,6 +17,8 @@ |
204 |
+ #include "system/Crash.h" |
205 |
+ #include "Misc.h" |
206 |
+ |
207 |
++using std::set; |
208 |
++using std::map; |
209 |
+ |
210 |
+ // |
211 |
+ // Class contig_actualloc |
212 |
+--- vaal-46233/src/lookup/ImperfectLookup.h |
213 |
++++ vaal-46233/src/lookup/ImperfectLookup.h |
214 |
+@@ -52,6 +52,8 @@ |
215 |
+ #include "lookup/AlignCollector.h" |
216 |
+ #include "solid/Solid.h" |
217 |
+ |
218 |
++using std::unique_ptr; |
219 |
++ |
220 |
+ class TaskTimer; |
221 |
+ |
222 |
+ |
223 |
+@@ -534,7 +536,7 @@ |
224 |
+ aligns.resize( nqueries ); |
225 |
+ } |
226 |
+ |
227 |
+- auto_ptr<TaskTimer> t1, t2; |
228 |
++ unique_ptr<TaskTimer> t1, t2; |
229 |
+ |
230 |
+ if ( m_instr_level & IO_TIMER != 0 ) t1.reset( new TaskTimer() ); |
231 |
+ if ( m_instr_level & CPU_TIMER != 0 ) t2.reset( new TaskTimer() ); |
232 |
+--- vaal-46233/src/lookup/LookAlign.cc |
233 |
++++ vaal-46233/src/lookup/LookAlign.cc |
234 |
+@@ -29,6 +29,8 @@ |
235 |
+ #include "random/Random.h" |
236 |
+ #include "system/ParsedArgs.h" |
237 |
+ |
238 |
++using std::istrstream; |
239 |
++ |
240 |
+ String QUERY("QUERY"); |
241 |
+ |
242 |
+ void look_align::ResetFromAlign(const align & al, const basevector & b1, |
243 |
+--- vaal-46233/src/lookup/LookAlignFinder.h |
244 |
++++ vaal-46233/src/lookup/LookAlignFinder.h |
245 |
+@@ -12,6 +12,8 @@ |
246 |
+ #include "lookup/LookAlign.h" |
247 |
+ #include "Vec.h" |
248 |
+ |
249 |
++using std::set; |
250 |
++ |
251 |
+ /** |
252 |
+ Class: LookAlignFinder |
253 |
+ |
254 |
+--- vaal-46233/src/lookup/LookAlignSort.h |
255 |
++++ vaal-46233/src/lookup/LookAlignSort.h |
256 |
+@@ -15,6 +15,8 @@ |
257 |
+ |
258 |
+ #include <functional> |
259 |
+ |
260 |
++using std::set; |
261 |
++ |
262 |
+ /// Read in look_aligns from file, sort, and load into vecs |
263 |
+ /// \param fname name of look_align text file |
264 |
+ /// \param aligns vector into which to put the alignments |
265 |
+--- vaal-46233/src/lookup/LookupTable.h |
266 |
++++ vaal-46233/src/lookup/LookupTable.h |
267 |
+@@ -18,6 +18,8 @@ |
268 |
+ |
269 |
+ #include <set> |
270 |
+ |
271 |
++using std::set; |
272 |
++ |
273 |
+ typedef pair<unsigned int, unsigned int> LocSeq; |
274 |
+ |
275 |
+ /// |
276 |
+--- vaal-46233/src/lookup/QueryLookupTableCore.cc |
277 |
++++ vaal-46233/src/lookup/QueryLookupTableCore.cc |
278 |
+@@ -456,6 +456,9 @@ |
279 |
+ #include "system/ParsedArgs.h" |
280 |
+ #include "system/file/FileReader.h" |
281 |
+ |
282 |
++using std::istrstream; |
283 |
++using std::less_equal; |
284 |
++ |
285 |
+ #define ABORT(MSG) \ |
286 |
+ { out << MSG << " Abort." << endl << endl; \ |
287 |
+ exit(1); } |
288 |
+--- vaal-46233/src/lookup/ShortQueryLookup.cc |
289 |
++++ vaal-46233/src/lookup/ShortQueryLookup.cc |
290 |
+@@ -32,6 +32,8 @@ |
291 |
+ #include "lookup/AlignCollector.h" |
292 |
+ #include "lookup/ImperfectLookup.h" |
293 |
+ |
294 |
++using std::ios_base; |
295 |
++ |
296 |
+ // Run an alignment processing chain: seqs -> look -> receiver -> aligns |
297 |
+ // That is, look turns seqs into hits, which receiver accepts |
298 |
+ // and turns into alignments which are passed to aligns. The |
299 |
+--- vaal-46233/src/Map.h |
300 |
++++ vaal-46233/src/Map.h |
301 |
+@@ -21,7 +21,7 @@ |
302 |
+ #include <map> |
303 |
+ #include <ext/hash_map> |
304 |
+ using namespace __gnu_cxx; |
305 |
+- |
306 |
++using std::map; |
307 |
+ |
308 |
+ ///Return true if k is a key in map m |
309 |
+ template<class Key, class Value, typename Cmp> |
310 |
+--- vaal-46233/src/math/Array.h |
311 |
++++ vaal-46233/src/math/Array.h |
312 |
+@@ -12,6 +12,9 @@ |
313 |
+ #include "CoreTools.h" |
314 |
+ #include "Vec.h" |
315 |
+ |
316 |
++using std::map; |
317 |
++using std::fill; |
318 |
++ |
319 |
+ // ============================================================================== |
320 |
+ // A fixed-size simple c-style 2D array that allocates faster than vec< vec<T> > |
321 |
+ // The elements are uninitialized. |
322 |
+--- vaal-46233/src/math/Functions.cc |
323 |
++++ vaal-46233/src/math/Functions.cc |
324 |
+@@ -10,8 +10,8 @@ |
325 |
+ #include "STLExtensions.h" |
326 |
+ #include "math/Functions.h" |
327 |
+ |
328 |
+- |
329 |
+- |
330 |
++using std::isfinite; |
331 |
++using std::make_pair; |
332 |
+ |
333 |
+ /* CombineNormalDistribution Filipe Ribeiro 2009-06-22 |
334 |
+ * |
335 |
+--- vaal-46233/src/math/Functions.h |
336 |
++++ vaal-46233/src/math/Functions.h |
337 |
+@@ -14,6 +14,10 @@ |
338 |
+ #include <cmath> |
339 |
+ #include <numeric> |
340 |
+ |
341 |
++using std::min; |
342 |
++using std::cerr; |
343 |
++using std::swap; |
344 |
++ |
345 |
+ // =========================================================================== |
346 |
+ // |
347 |
+ // Min functions |
348 |
+--- vaal-46233/src/math/HoInterval.cc |
349 |
++++ vaal-46233/src/math/HoInterval.cc |
350 |
+@@ -10,6 +10,8 @@ |
351 |
+ #include "math/HoInterval.h" |
352 |
+ #include "STLExtensions.h" |
353 |
+ |
354 |
++using std::make_pair; |
355 |
++ |
356 |
+ bool ho_interval::Merge(const ho_interval & o) { |
357 |
+ if (!Meets(*this,o)) return false; |
358 |
+ *this = Span(*this, o); |
359 |
+--- vaal-46233/src/math/HoInterval.h |
360 |
++++ vaal-46233/src/math/HoInterval.h |
361 |
+@@ -14,6 +14,8 @@ |
362 |
+ #include "feudal/MasterVec.h" |
363 |
+ #include "feudal/SerfVec.h" |
364 |
+ |
365 |
++using std::max; |
366 |
++ |
367 |
+ /// Class: ho_interval |
368 |
+ /// A half-open interval [a, b). |
369 |
+ class ho_interval { |
370 |
+--- vaal-46233/src/PackAlign.h |
371 |
++++ vaal-46233/src/PackAlign.h |
372 |
+@@ -133,6 +133,8 @@ |
373 |
+ #include "pairwise_aligners/Mutmer.h" |
374 |
+ #include "feudal/BinaryStream.h" |
375 |
+ |
376 |
++using std::make_pair; |
377 |
++ |
378 |
+ const int Bits2 = 3, Bits3 = 7, Bits4 = 15, Bits10 = 1023, Bits12 = 4095, |
379 |
+ Bits16 = 65535; |
380 |
+ |
381 |
+--- vaal-46233/src/pairwise_aligners/MakeAlignsMethod.cc |
382 |
++++ vaal-46233/src/pairwise_aligners/MakeAlignsMethod.cc |
383 |
+@@ -19,6 +19,9 @@ |
384 |
+ #include "pairwise_aligners/AlignFromMutmers.h" |
385 |
+ #include "pairwise_aligners/SmithWatBandedA.h" |
386 |
+ |
387 |
++using std::map; |
388 |
++using std::set; |
389 |
++ |
390 |
+ // If there's a perfect match of length at least perf but we produced no proper |
391 |
+ // alignment, use banded Smith-Waterman to create one. |
392 |
+ |
393 |
+--- vaal-46233/src/pairwise_aligners/MatchList.cc |
394 |
++++ vaal-46233/src/pairwise_aligners/MatchList.cc |
395 |
+@@ -9,6 +9,8 @@ |
396 |
+ |
397 |
+ #include "pairwise_aligners/MatchList.h" |
398 |
+ |
399 |
++using std::max; |
400 |
++ |
401 |
+ bool MatchList::FindMatchInSorted( const int id1, const Match& newMatch ) const |
402 |
+ { |
403 |
+ const vec<Match>& sortedMatches = m_sortedMatches[id1]; |
404 |
+--- vaal-46233/src/pairwise_aligners/SuffixTree.h |
405 |
++++ vaal-46233/src/pairwise_aligners/SuffixTree.h |
406 |
+@@ -23,6 +23,8 @@ |
407 |
+ #include <list> |
408 |
+ #include <string> |
409 |
+ |
410 |
++using std::list; |
411 |
++ |
412 |
+ /** |
413 |
+ * Implementation of a suffix tree for basevectors. |
414 |
+ * This is a data structure for exact (sub)string matching. |
415 |
+--- vaal-46233/src/paths/AlignHyperKmerPath.cc |
416 |
++++ vaal-46233/src/paths/AlignHyperKmerPath.cc |
417 |
+@@ -23,6 +23,9 @@ |
418 |
+ #include "paths/KmerBaseBroker.h" |
419 |
+ #include "paths/KmerPath.h" |
420 |
+ |
421 |
++using std::ostringstream; |
422 |
++using std::set; |
423 |
++ |
424 |
+ // Function: AlignHyperKmerPath |
425 |
+ // |
426 |
+ // AlignHyperKmerPath takes a HyperKmerPath h, whose KmerPath edges are assumed |
427 |
+--- vaal-46233/src/paths/AlignSeqsToHyper.cc |
428 |
++++ vaal-46233/src/paths/AlignSeqsToHyper.cc |
429 |
+@@ -26,6 +26,7 @@ |
430 |
+ #include "paths/ReadsToPathsCoreX.h" |
431 |
+ #include "paths/SeqOnHyper.h" |
432 |
+ |
433 |
++using std::multimap; |
434 |
+ |
435 |
+ // Local class: simple_align |
436 |
+ // |
437 |
+--- vaal-46233/src/paths/HyperKmerPath.cc |
438 |
++++ vaal-46233/src/paths/HyperKmerPath.cc |
439 |
+@@ -19,6 +19,8 @@ |
440 |
+ #include "paths/HyperKmerPath.h" |
441 |
+ #include "paths/KmerBaseBroker.h" |
442 |
+ |
443 |
++using std::ostrstream; |
444 |
++using std::ends; |
445 |
+ |
446 |
+ void HyperKmerPath::ReduceLoops( ) |
447 |
+ { for ( int v = 0; v < N( ); v++ ) |
448 |
+--- vaal-46233/src/paths/KmerBaseBroker.h |
449 |
++++ vaal-46233/src/paths/KmerBaseBroker.h |
450 |
+@@ -20,6 +20,8 @@ |
451 |
+ #include <algorithm> // for set_union |
452 |
+ #include <map> |
453 |
+ |
454 |
++using std::map; |
455 |
++ |
456 |
+ /** |
457 |
+ Class: KmerBaseBrokerTemplate |
458 |
+ |
459 |
+--- vaal-46233/src/paths/KmerPath.h |
460 |
++++ vaal-46233/src/paths/KmerPath.h |
461 |
+@@ -22,6 +22,8 @@ |
462 |
+ #include "HashSimple.h" |
463 |
+ #include "graph/Digraph.h" |
464 |
+ |
465 |
++using std::make_pair; |
466 |
++ |
467 |
+ class KmerPathLoc; // forward declaration |
468 |
+ |
469 |
+ /** |
470 |
+--- vaal-46233/src/paths/KmerPathInterval.h |
471 |
++++ vaal-46233/src/paths/KmerPathInterval.h |
472 |
+@@ -8,6 +8,8 @@ |
473 |
+ #include "CommonSemanticTypes.h" |
474 |
+ #include "feudal/BinaryStreamTraits.h" |
475 |
+ |
476 |
++using std::max; |
477 |
++ |
478 |
+ // Portability note: endianness |
479 |
+ // The implementations here would need to be changed for big endian architectures. |
480 |
+ |
481 |
+@@ -285,6 +287,12 @@ |
482 |
+ Models <tagged read path interval>. |
483 |
+ */ |
484 |
+ // TODO: potentially dangerous truncation of index by PathId, ReadId |
485 |
++template<class TAG> |
486 |
++void Contains( const vec<TAG>& segs, kmer_id_t index, vec<longlong>& answer, bool append = false, int cap = -1 ); |
487 |
++ |
488 |
++template<class TAG> |
489 |
++void Contains( const vec<TAG>& segs, KmerPathInterval rpi, vec<longlong>& answer, bool append = false, int cap = -1 ); |
490 |
++ |
491 |
+ class tagged_rpint { |
492 |
+ |
493 |
+ public: /* PUBLIC METHODS */ |
494 |
+@@ -362,11 +370,11 @@ |
495 |
+ |
496 |
+ template<class TAG> |
497 |
+ friend void Contains( const vec<TAG>& segs, kmer_id_t index, |
498 |
+- vec<longlong>& answer, bool append = false, int cap = -1 ); |
499 |
++ vec<longlong>& answer, bool append, int cap ); |
500 |
+ |
501 |
+ template<class TAG> |
502 |
+ friend void Contains( const vec<TAG>& segs, KmerPathInterval rpi, |
503 |
+- vec<longlong>& answer, bool append = false, int cap = -1 ); |
504 |
++ vec<longlong>& answer, bool append, int cap ); |
505 |
+ |
506 |
+ template<class TAG> |
507 |
+ friend longlong Instance( const vec<TAG>& segs, kmer_id_t k ); |
508 |
+@@ -489,11 +497,11 @@ |
509 |
+ |
510 |
+ template<class TAG> |
511 |
+ friend void Contains( const vec<TAG>& segs, kmer_id_t index, |
512 |
+- vec<longlong>& answer, bool append = false, int cap = -1 ); |
513 |
++ vec<longlong>& answer, bool append, int cap ); |
514 |
+ |
515 |
+ template<class TAG> |
516 |
+ friend void Contains( const vec<TAG>& segs, KmerPathInterval rpi, |
517 |
+- vec<longlong>& answer, bool append = false, int cap = -1 ); |
518 |
++ vec<longlong>& answer, bool append, int cap ); |
519 |
+ |
520 |
+ template<class TAG> |
521 |
+ friend longlong Instance( const vec<TAG>& segs, kmer_id_t k ); |
522 |
+@@ -620,11 +628,11 @@ |
523 |
+ |
524 |
+ template<class TAG> |
525 |
+ friend void Contains( const vec<TAG>& segs, kmer_id_t index, |
526 |
+- vec<longlong>& answer, bool append = false, int cap = -1 ); |
527 |
++ vec<longlong>& answer, bool append, int cap ); |
528 |
+ |
529 |
+ template<class TAG> |
530 |
+ friend void Contains( const vec<TAG>& segs, KmerPathInterval rpi, |
531 |
+- vec<longlong>& answer, bool append = false, int cap = -1 ); |
532 |
++ vec<longlong>& answer, bool append, int cap ); |
533 |
+ |
534 |
+ template<class TAG> |
535 |
+ friend kmer_id_t Instance( const vec<TAG>& segs, kmer_id_t k ); |
536 |
+--- vaal-46233/src/paths/ReadsToPathsCoreX.cc |
537 |
++++ vaal-46233/src/paths/ReadsToPathsCoreX.cc |
538 |
+@@ -20,6 +20,8 @@ |
539 |
+ #include "paths/MakeAlignsPathsParallelX.h" |
540 |
+ #include "paths/ReadsToPathsCoreX.h" |
541 |
+ |
542 |
++using std::map; |
543 |
++ |
544 |
+ static inline |
545 |
+ String Tag(String S = "RTPCX") { return Date() + " (" + S + "): "; } |
546 |
+ |
547 |
+--- vaal-46233/src/paths/SuperBaseVector.h |
548 |
++++ vaal-46233/src/paths/SuperBaseVector.h |
549 |
+@@ -10,6 +10,8 @@ |
550 |
+ #include <numeric> |
551 |
+ #include <functional> |
552 |
+ |
553 |
++using std::mem_fun_ref; |
554 |
++ |
555 |
+ /// A simple class which holds a series of basevectors with |
556 |
+ /// (possibly negative) gaps between them. This is what a |
557 |
+ /// KmerPath logically maps to in sequence space. The function |
558 |
+--- vaal-46233/src/polymorphism/VAAL2.cc |
559 |
++++ vaal-46233/src/polymorphism/VAAL2.cc |
560 |
+@@ -42,7 +42,7 @@ |
561 |
+ #include "feudal/BinaryStream.h" |
562 |
+ #include "feudal/VirtualMasterVec.h" |
563 |
+ |
564 |
+-using namespace std; |
565 |
++ |
566 |
+ |
567 |
+ // Trim reads so that they contain only kmers in the unipaths. |
568 |
+ |
569 |
+--- vaal-46233/src/polymorphism/VAAL3.cc |
570 |
++++ vaal-46233/src/polymorphism/VAAL3.cc |
571 |
+@@ -29,6 +29,8 @@ |
572 |
+ #include "polymorphism/VAALTools.h" |
573 |
+ #include "solexa/SolexaTools.h" |
574 |
+ |
575 |
++using std::ostringstream; |
576 |
++ |
577 |
+ int main( int argc, char *argv[] ) |
578 |
+ { |
579 |
+ RunTime( ); |
580 |
+--- vaal-46233/src/PrintAlignment.h |
581 |
++++ vaal-46233/src/PrintAlignment.h |
582 |
+@@ -14,6 +14,8 @@ |
583 |
+ #include "CoreTools.h" |
584 |
+ #include "Qualvector.h" |
585 |
+ |
586 |
++using std::ostringstream; |
587 |
++ |
588 |
+ void PrintBlanks( ostream& out, int n ); |
589 |
+ |
590 |
+ template<class BASEVEC> |
591 |
+--- vaal-46233/src/Qualvector.cc |
592 |
++++ vaal-46233/src/Qualvector.cc |
593 |
+@@ -10,6 +10,8 @@ |
594 |
+ #include "FastIfstream.h" |
595 |
+ #include "Qualvector.h" |
596 |
+ |
597 |
++using std::istrstream; |
598 |
++ |
599 |
+ /// \file |
600 |
+ /// \ingroup grp_quals |
601 |
+ /// \copydoc Qualvector.h |
602 |
+--- vaal-46233/src/SeqInterval.cc |
603 |
++++ vaal-46233/src/SeqInterval.cc |
604 |
+@@ -9,6 +9,8 @@ |
605 |
+ #include "SeqInterval.h" |
606 |
+ #include "Vec.h" |
607 |
+ |
608 |
++using std::max; |
609 |
++using std::min; |
610 |
+ |
611 |
+ /* |
612 |
+ * seq_interval |
613 |
+--- vaal-46233/src/SeqInterval.h |
614 |
++++ vaal-46233/src/SeqInterval.h |
615 |
+@@ -14,7 +14,9 @@ |
616 |
+ #include <algorithm> |
617 |
+ #include <iostream> |
618 |
+ |
619 |
+-using namespace std; |
620 |
++using std::binary_function; |
621 |
++using std::ostream; |
622 |
++using std::istream; |
623 |
+ |
624 |
+ /* |
625 |
+ * class seq_interval |
626 |
+--- vaal-46233/src/Set.h |
627 |
++++ vaal-46233/src/Set.h |
628 |
+@@ -16,7 +16,7 @@ |
629 |
+ #include <set> |
630 |
+ #include "CoreTools.h" |
631 |
+ |
632 |
+-using namespace std; |
633 |
++using std::set; |
634 |
+ |
635 |
+ template<class T> bool Member( const set<T>& the_set, const T& value ) |
636 |
+ { return the_set.find(value) != the_set.end( ); } // Breaks cxx |
637 |
+--- vaal-46233/src/ShortVector.h |
638 |
++++ vaal-46233/src/ShortVector.h |
639 |
+@@ -14,6 +14,8 @@ |
640 |
+ #include "system/Types.h" |
641 |
+ #include "feudal/BinaryStream.h" |
642 |
+ |
643 |
++using std::uninitialized_fill_n; |
644 |
++ |
645 |
+ // ================================================================================ |
646 |
+ // |
647 |
+ // A shortvector holds a list of up to 255 things of any type T. |
648 |
+--- vaal-46233/src/solexa/FourBase2.h |
649 |
++++ vaal-46233/src/solexa/FourBase2.h |
650 |
+@@ -15,6 +15,10 @@ |
651 |
+ #include "feudal/MasterVec.h" |
652 |
+ #include "feudal/SerfVec.h" |
653 |
+ |
654 |
++using std::max_element; |
655 |
++using std::min_element; |
656 |
++using std::accumulate; |
657 |
++ |
658 |
+ class four_base2 { |
659 |
+ |
660 |
+ public: |
661 |
+--- vaal-46233/src/solexa/FourBase.cc |
662 |
++++ vaal-46233/src/solexa/FourBase.cc |
663 |
+@@ -9,6 +9,9 @@ |
664 |
+ |
665 |
+ #include "solexa/FourBase.h" |
666 |
+ |
667 |
++using std::string; |
668 |
++using std::istringstream; |
669 |
++ |
670 |
+ int four_base::Call( ) const |
671 |
+ { |
672 |
+ int result = 0; |
673 |
+--- vaal-46233/src/solexa/FourBase.h |
674 |
++++ vaal-46233/src/solexa/FourBase.h |
675 |
+@@ -16,6 +16,8 @@ |
676 |
+ #include "feudal/MasterVec.h" |
677 |
+ #include "feudal/SerfVec.h" |
678 |
+ |
679 |
++using std::max; |
680 |
++ |
681 |
+ /* |
682 |
+ Class: four_base |
683 |
+ |
684 |
+--- vaal-46233/src/solexa/SolexaMetrics.h |
685 |
++++ vaal-46233/src/solexa/SolexaMetrics.h |
686 |
+@@ -42,6 +42,8 @@ |
687 |
+ #include "CommonSemanticTypes.h" |
688 |
+ #include <map> |
689 |
+ |
690 |
++using std::map; |
691 |
++ |
692 |
+ /// Definition of general macros. |
693 |
+ |
694 |
+ class solexa_metric_db { |
695 |
+--- vaal-46233/src/solexa/SolexaTools.cc |
696 |
++++ vaal-46233/src/solexa/SolexaTools.cc |
697 |
+@@ -20,6 +20,8 @@ |
698 |
+ #include "FastaFileset.h" |
699 |
+ #include "util/BaitMap.h" |
700 |
+ |
701 |
++using std::ostringstream; |
702 |
++ |
703 |
+ void SolexaPredictorParameters::SetFromFile(const String & fname) { |
704 |
+ Ifstream(is, fname); |
705 |
+ String params = Slurp(is); |
706 |
+--- vaal-46233/src/STLExtensions.h |
707 |
++++ vaal-46233/src/STLExtensions.h |
708 |
+@@ -9,7 +9,7 @@ |
709 |
+ #ifndef STLEXTENSIONS_H |
710 |
+ #define STLEXTENSIONS_H |
711 |
+ |
712 |
+-using namespace std; |
713 |
++ |
714 |
+ |
715 |
+ #include <functional> |
716 |
+ #include <vector> |
717 |
+@@ -21,6 +21,13 @@ |
718 |
+ #include "feudal/BinaryStream.h" |
719 |
+ #include "system/StaticAssert.h" |
720 |
+ |
721 |
++using std::binary_function; |
722 |
++using std::unary_function; |
723 |
++using std::pair; |
724 |
++using std::bitset; |
725 |
++using std::vector; |
726 |
++using std::ostream; |
727 |
++ |
728 |
+ /// minimum<T> is a function object. |
729 |
+ /// |
730 |
+ /// If f is an object of class minimum<T> and x and y are objects of |
731 |
+--- vaal-46233/src/system/ParsedArgs.cc |
732 |
++++ vaal-46233/src/system/ParsedArgs.cc |
733 |
+@@ -26,6 +26,9 @@ |
734 |
+ #include "system/HostName.h" |
735 |
+ #include "system/UseGDB.h" |
736 |
+ |
737 |
++using std::istrstream; |
738 |
++using std::mem_fun_ref; |
739 |
++ |
740 |
+ #ifndef FatalErr |
741 |
+ #define FatalErr(message) { cout << message << endl << endl; exit(-1); } |
742 |
+ #endif |
743 |
+--- vaal-46233/src/system/ParsedArgs.h |
744 |
++++ vaal-46233/src/system/ParsedArgs.h |
745 |
+@@ -97,6 +97,8 @@ |
746 |
+ #include "TokenizeString.h" |
747 |
+ #include "ParseSet.h" |
748 |
+ |
749 |
++using std::stringstream; |
750 |
++ |
751 |
+ class parsed_arg_help { |
752 |
+ |
753 |
+ public: |
754 |
+--- vaal-46233/src/system/ProcBuf.cc |
755 |
++++ vaal-46233/src/system/ProcBuf.cc |
756 |
+@@ -15,6 +15,8 @@ |
757 |
+ #include <sys/wait.h> |
758 |
+ #include <unistd.h> |
759 |
+ |
760 |
++using std::ios_base; |
761 |
++ |
762 |
+ namespace |
763 |
+ { |
764 |
+ size_t const BUFFER_SIZE = 8192; |
765 |
+--- vaal-46233/src/system/RunTime.cc |
766 |
++++ vaal-46233/src/system/RunTime.cc |
767 |
+@@ -41,6 +41,10 @@ |
768 |
+ #include <unwind.h> |
769 |
+ #endif |
770 |
+ |
771 |
++using std::strstream; |
772 |
++using std::hex; |
773 |
++using std::setw; |
774 |
++ |
775 |
+ /// =========================================================================== |
776 |
+ /// |
777 |
+ /// ReturnAddress(i), where 0 <= i <= 100: get the return address. The |
778 |
+--- vaal-46233/src/system/RunTime.h |
779 |
++++ vaal-46233/src/system/RunTime.h |
780 |
+@@ -14,6 +14,8 @@ |
781 |
+ #include "system/Exit.h" |
782 |
+ #include "system/Types.h" |
783 |
+ |
784 |
++using std::ostream; |
785 |
++ |
786 |
+ typedef void ArachneSignalHandler(int, siginfo_t*, void*); |
787 |
+ |
788 |
+ void arachne_signal_handler( int signal_number, siginfo_t* info, void* context, |
789 |
+--- vaal-46233/src/system/System.cc |
790 |
++++ vaal-46233/src/system/System.cc |
791 |
+@@ -35,6 +35,11 @@ |
792 |
+ |
793 |
+ #include <dirent.h> |
794 |
+ |
795 |
++using std::istringstream; |
796 |
++using std::istream_iterator; |
797 |
++using std::ostrstream; |
798 |
++using std::ends; |
799 |
++ |
800 |
+ int SystemInternal( String command, const char *shell ) |
801 |
+ { |
802 |
+ flush(cout); |
803 |
+--- vaal-46233/src/system/System.h |
804 |
++++ vaal-46233/src/system/System.h |
805 |
+@@ -21,6 +21,17 @@ |
806 |
+ #include "system/Exit.h" |
807 |
+ #include "system/file/TempFile.h" |
808 |
+ |
809 |
++using std::vector; |
810 |
++using std::ostream; |
811 |
++using std::ofstream; |
812 |
++using std::cout; |
813 |
++using std::flush; |
814 |
++using std::endl; |
815 |
++using std::istream; |
816 |
++using std::ifstream; |
817 |
++using std::ios; |
818 |
++using std::setprecision; |
819 |
++ |
820 |
+ #ifndef InputErr |
821 |
+ #define InputErr(message) \ |
822 |
+ { cout << "\nFatal error at " << Date( ) << ": " << message << endl; \ |
823 |
+--- vaal-46233/src/system/TraceVal.h |
824 |
++++ vaal-46233/src/system/TraceVal.h |
825 |
+@@ -24,6 +24,9 @@ |
826 |
+ #include "system/Types.h" |
827 |
+ #include "system/Assert.h" |
828 |
+ |
829 |
++using std::cout; |
830 |
++using std::endl; |
831 |
++ |
832 |
+ // Macros: Tracing macros |
833 |
+ // TRACEVAL_ON - undefine if you're not doing tracing |
834 |
+ // TRACEVAL_STOP_TRACING_COPIES -- call before an operation that shuffles |
835 |
+--- vaal-46233/src/system/Types.h |
836 |
++++ vaal-46233/src/system/Types.h |
837 |
+@@ -14,7 +14,7 @@ |
838 |
+ #include <cstdlib> |
839 |
+ #include <netinet/in.h> |
840 |
+ |
841 |
+-using namespace std; |
842 |
++ |
843 |
+ |
844 |
+ // This assumes that all suns run Solaris... |
845 |
+ #if __sun == 1 |
846 |
+--- vaal-46233/src/util/BaitMap.cc |
847 |
++++ vaal-46233/src/util/BaitMap.cc |
848 |
+@@ -236,7 +236,7 @@ |
849 |
+ bool BaitMap::write(String file_name) |
850 |
+ { |
851 |
+ std::ofstream out(file_name.c_str()); |
852 |
+- ForceAssert(out); |
853 |
++ ForceAssert(static_cast<bool>(out)); |
854 |
+ |
855 |
+ for (unsigned int i = 0; i < this->size(); i++) |
856 |
+ { |
857 |
+@@ -250,7 +250,7 @@ |
858 |
+ } |
859 |
+ |
860 |
+ out.close(); |
861 |
+- ForceAssert(out); |
862 |
++ ForceAssert(static_cast<bool>(out)); |
863 |
+ |
864 |
+ return true; |
865 |
+ } |
866 |
+@@ -260,7 +260,7 @@ |
867 |
+ bool BaitMap::write_names(String file_name) |
868 |
+ { |
869 |
+ std::ofstream out(file_name.c_str()); |
870 |
+- ForceAssert(out); |
871 |
++ ForceAssert(static_cast<bool>(out)); |
872 |
+ |
873 |
+ for (unsigned int i = 0; i < this->size(); i++) |
874 |
+ { |
875 |
+@@ -268,7 +268,7 @@ |
876 |
+ } |
877 |
+ |
878 |
+ out.close(); |
879 |
+- ForceAssert(out); |
880 |
++ ForceAssert(static_cast<bool>(out)); |
881 |
+ |
882 |
+ return true; |
883 |
+ } |
884 |
+--- vaal-46233/src/util/BaitMap.h |
885 |
++++ vaal-46233/src/util/BaitMap.h |
886 |
+@@ -20,6 +20,8 @@ |
887 |
+ |
888 |
+ #include <map> |
889 |
+ |
890 |
++using std::map; |
891 |
++ |
892 |
+ class BaitMap |
893 |
+ { |
894 |
+ public: |
895 |
+--- vaal-46233/src/util/Qualb.cc |
896 |
++++ vaal-46233/src/util/Qualb.cc |
897 |
+@@ -10,6 +10,8 @@ |
898 |
+ #include "FastIfstream.h" |
899 |
+ #include "Qualvector.h" |
900 |
+ |
901 |
++using std::istrstream; |
902 |
++ |
903 |
+ int main( int argc, char *argv[] ) |
904 |
+ { |
905 |
+ RunTime( ); |
906 |
+--- vaal-46233/src/Vec.h |
907 |
++++ vaal-46233/src/Vec.h |
908 |
+@@ -48,6 +48,14 @@ |
909 |
+ #include "Compare.h" |
910 |
+ #include "system/file/FileReader.h" |
911 |
+ |
912 |
++using std::initializer_list; |
913 |
++using std::numeric_limits; |
914 |
++using std::ostream_iterator; |
915 |
++using std::less; |
916 |
++using std::equal_to; |
917 |
++using std::setfill; |
918 |
++using std::setw; |
919 |
++ |
920 |
+ ///////////////////////////////////////////////////////////////////////////// |
921 |
+ // |
922 |
+ // vec Class Declaration and Template Definitions |
923 |
+--- vaal-46233/src/VecUtilities.h |
924 |
++++ vaal-46233/src/VecUtilities.h |
925 |
+@@ -37,6 +37,7 @@ |
926 |
+ #include "Vec.h" |
927 |
+ #include <cstddef> |
928 |
+ |
929 |
++using std::greater; |
930 |
+ |
931 |
+ ///////////////////////////////////////////////////////////////////////////// |
932 |
+ // |
933 |
|
934 |
diff --git a/sci-biology/vaal/vaal-46233-r1.ebuild b/sci-biology/vaal/vaal-46233-r1.ebuild |
935 |
new file mode 100644 |
936 |
index 0000000..20b3bf0 |
937 |
--- /dev/null |
938 |
+++ b/sci-biology/vaal/vaal-46233-r1.ebuild |
939 |
@@ -0,0 +1,42 @@ |
940 |
+# Copyright 1999-2015 Gentoo Foundation |
941 |
+# Distributed under the terms of the GNU General Public License v2 |
942 |
+# $Id$ |
943 |
+ |
944 |
+EAPI=6 |
945 |
+ |
946 |
+inherit autotools |
947 |
+ |
948 |
+DESCRIPTION="Algorithm for detecting SNPs, indels, and other polymorphisms" |
949 |
+HOMEPAGE="http://www.broadinstitute.org/science/programs/genome-biology/crd/" |
950 |
+SRC_URI=" |
951 |
+ ftp://ftp.broad.mit.edu/pub/crd/VAAL/latest_source_code/${P}.tar.gz |
952 |
+ ftp://ftp.broad.mit.edu/pub/crd/VAAL/VAAL_manual.doc" |
953 |
+ |
954 |
+LICENSE="Whitehead-MIT" |
955 |
+SLOT="0" |
956 |
+KEYWORDS="~amd64" |
957 |
+IUSE="openmp" |
958 |
+ |
959 |
+DEPEND=">=dev-libs/boost-1.41.0-r3" |
960 |
+RDEPEND="${DEPEND}" |
961 |
+ |
962 |
+DOCS=( "${DISTDIR}/VAAL_manual.doc" ) |
963 |
+PATCHES=( "${FILESDIR}/${P}_remove-namespace-std.patch" ) |
964 |
+ |
965 |
+src_prepare() { |
966 |
+ sed \ |
967 |
+ -e '/COPYING/d' \ |
968 |
+ -i src/Makefile.am || die |
969 |
+ |
970 |
+ sed \ |
971 |
+ -e 's:-ggdb::g' \ |
972 |
+ -e '/AC_OPENMP_CEHCK/d' \ |
973 |
+ -i configure.ac || die |
974 |
+ default |
975 |
+ eautoreconf |
976 |
+} |
977 |
+ |
978 |
+src_configure() { |
979 |
+ econf \ |
980 |
+ $(use_enable openmp) |
981 |
+} |