From 559076e09effc6d1c2112baa16acb846c00a7ff0 Mon Sep 17 00:00:00 2001 From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04> Date: Tue, 15 Mar 2011 11:25:41 +0000 Subject: [PATCH] optimise writing region git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@15719 ee4ac58c-ac51-4696-9907-e4b3aa274f04 --- .../sanger/artemis/components/variant/IOUtils.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/uk/ac/sanger/artemis/components/variant/IOUtils.java b/uk/ac/sanger/artemis/components/variant/IOUtils.java index 7a6ee7e04..1de636c8f 100644 --- a/uk/ac/sanger/artemis/components/variant/IOUtils.java +++ b/uk/ac/sanger/artemis/components/variant/IOUtils.java @@ -188,7 +188,6 @@ class IOUtils AbstractVCFReader vcfReaders[] = vcfView.getVcfReaders(); MarkerRange marker = selection.getMarkerRange(); Range range = marker.getRawRange(); - FeatureVector features = entryGroup.getAllFeatures(); FileWriter writer = null; String fastaFiles = ""; @@ -217,12 +216,12 @@ class IOUtils Bases bases = entryGroup.getBases(); // reference writeOrViewRange(null, sbeg, send, writer, buffSeq, - marker, bases, name, features, vcfView); + marker, bases, name, vcfView, entryGroup); // vcf sequences for (int i = 0; i < vcfReaders.length; i++) writeOrViewRange(vcfReaders[i], sbeg, send, writer, buffSeq, - marker, bases, name, features, vcfView); + marker, bases, name, vcfView, entryGroup); if(writer != null) writer.close(); @@ -389,8 +388,8 @@ class IOUtils FileWriter writer, StringBuffer buffSeq, MarkerRange marker, Bases bases, String name, - FeatureVector features, - VCFview vcfView) throws IOException, OutOfRangeException + VCFview vcfView, + final EntryGroup entryGroup) throws IOException, OutOfRangeException { int direction = ( marker.isForwardMarker() ? Bases.FORWARD : Bases.REVERSE); int length = send-sbeg+1; @@ -415,12 +414,12 @@ class IOUtils MarkerRange m = new MarkerRange(marker.getStrand(), sbegc, sendc); basesStr = bases.getSubSequence(m.getRange(), direction); - + FeatureVector features = entryGroup.getFeaturesInRange(m.getRange()); //System.out.println((reader == null ? "" : reader.getName())+" "+sbegc+".."+sendc); if(reader != null) basesStr = getAllBasesInRegion(reader, sbegc, sendc, basesStr, features, vcfView, marker.isForwardMarker()); - + linePos = writeOrView(writer, header, basesStr, buffSeq, linePos); header = null; } -- GitLab