From bc43c0eefcc7139e314a85bd480010392f4a45f4 Mon Sep 17 00:00:00 2001 From: asivache Date: Tue, 14 Apr 2009 00:45:47 +0000 Subject: [PATCH] there are really cases when we can not merge until we get just two pilesant now we do not crash in those cases but print a warning and just show the resulting n piles even when n>2 git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@390 348d0f76-0448-11de-a6fe-93d51630548a --- .../sting/playground/indels/PileBuilder.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/java/src/org/broadinstitute/sting/playground/indels/PileBuilder.java b/java/src/org/broadinstitute/sting/playground/indels/PileBuilder.java index c3c661ad7..73b9ba30c 100755 --- a/java/src/org/broadinstitute/sting/playground/indels/PileBuilder.java +++ b/java/src/org/broadinstitute/sting/playground/indels/PileBuilder.java @@ -158,6 +158,10 @@ public class PileBuilder implements RecordPileReceiver { List piles = doMultipleAlignment2(seqs); + if ( piles.size() > 2 ) { + System.out.println("WARNING: " + piles.size() + " piles appear to be disjoint"); + } + // System.out.print("Distance between final piles: "+distance(alignments1, alignments2)); // System.out.print("; diameter of PILE1: "+ diameter(alignments1)); // System.out.println("; diameter of PILE2: "+ diameter(alignments2)); @@ -887,16 +891,18 @@ public List doMultipleAlignment2(IndexedSequence[] seqs) { } } } -// System.out.println("joining pile "+pile_i +" and pile " + pile_j +" on seqs " + best_i +" and " + best_j ); + + if ( d >= 1e99 ) break; // oops, we could not stitch any of the remaining piles together! + // got the closest pair piles.get(pile_i).add(piles.get(pile_j),alignments.get(best_i,best_j)); -// System.out.println("JOINED PILE: \n"+piles.get(pile_i).toString()); + // System.out.println("JOINED PILE: \n"+piles.get(pile_i).toString()); piles.remove(pile_j); npiles--; } - alignments1 = piles.get(0); - alignments2 = piles.get(1); +// alignments1 = piles.get(0); +// alignments2 = piles.get(1); // System.out.println("PILE 1: \n"+piles.get(0).toString());