From ada3843019835ece215d1c291572d32733d04821 Mon Sep 17 00:00:00 2001 From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04> Date: Tue, 29 Mar 2011 09:58:46 +0000 Subject: [PATCH] cache info parts in getInfoValue() git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@15834 ee4ac58c-ac51-4696-9907-e4b3aa274f04 --- uk/ac/sanger/artemis/components/variant/VCFRecord.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/uk/ac/sanger/artemis/components/variant/VCFRecord.java b/uk/ac/sanger/artemis/components/variant/VCFRecord.java index 38af5972c..7a05c30d2 100644 --- a/uk/ac/sanger/artemis/components/variant/VCFRecord.java +++ b/uk/ac/sanger/artemis/components/variant/VCFRecord.java @@ -42,6 +42,7 @@ class VCFRecord private float quality; private String filter; private String info; + private String infos[]; private String format; private String data[][]; private short synFlag = -1; @@ -111,10 +112,11 @@ class VCFRecord */ protected String getInfoValue(String key) { - String parts[] = SEMICOLON_PATTERN.split(info); - for(int i=0; i<parts.length; i++) - if(parts[i].startsWith(key+"=")) - return parts[i].substring(key.length()+1); + if(infos == null) + infos = SEMICOLON_PATTERN.split(info); + for(int i=0; i<infos.length; i++) + if(infos[i].startsWith(key+"=")) + return infos[i].substring(key.length()+1); return null; } -- GitLab