X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fso%2FSequenceOntology.java;h=436b0ef2bb9c37960adfc2c6b72e597dddfa76c4;hb=353cb52722490edcba2c13b18836b6d37c5455de;hp=af80b7a0efbe2ae52d4c0c3ca269bd44d22fed30;hpb=d3d566fbf876a3511c06fecec695b2f59eb71169;p=jalview.git diff --git a/src/jalview/ext/so/SequenceOntology.java b/src/jalview/ext/so/SequenceOntology.java index af80b7a..436b0ef 100644 --- a/src/jalview/ext/so/SequenceOntology.java +++ b/src/jalview/ext/so/SequenceOntology.java @@ -1,7 +1,25 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.ext.so; -import jalview.io.gff.SequenceOntologyI; - import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.IOException; @@ -24,6 +42,9 @@ import org.biojava.nbio.ontology.Triple; import org.biojava.nbio.ontology.io.OboParser; import org.biojava.nbio.ontology.utils.Annotation; +import jalview.bin.Console; +import jalview.io.gff.SequenceOntologyI; + /** * A wrapper class that parses the Sequence Ontology and exposes useful access * methods. This version uses the BioJava parser. @@ -77,13 +98,13 @@ public class SequenceOntology implements SequenceOntologyI */ protected void loadOntologyZipFile(String ontologyFile) { + long now = System.currentTimeMillis(); ZipInputStream zipStream = null; try { String zipFile = ontologyFile + ".zip"; - System.out.println("Loading Sequence Ontology from " + zipFile); - InputStream inStream = this.getClass().getResourceAsStream( - "/" + zipFile); + InputStream inStream = this.getClass() + .getResourceAsStream("/" + zipFile); zipStream = new ZipInputStream(new BufferedInputStream(inStream)); ZipEntry entry; while ((entry = zipStream.getNextEntry()) != null) @@ -93,6 +114,9 @@ public class SequenceOntology implements SequenceOntologyI loadOboFile(zipStream); } } + long elapsed = System.currentTimeMillis() - now; + Console.info("Loaded Sequence Ontology from " + zipFile + " (" + + elapsed + "ms)"); } catch (Exception e) { e.printStackTrace(); @@ -128,8 +152,8 @@ public class SequenceOntology implements SequenceOntologyI * @throws ParseException * @throws IOException */ - protected void loadOboFile(InputStream is) throws ParseException, - IOException + protected void loadOboFile(InputStream is) + throws ParseException, IOException { BufferedReader oboFile = new BufferedReader(new InputStreamReader(is)); OboParser parser = new OboParser(); @@ -160,21 +184,21 @@ public class SequenceOntology implements SequenceOntologyI boolean oldTermIsObsolete = isObsolete(replaced); if (newTermIsObsolete && !oldTermIsObsolete) { - System.err.println("Ignoring " + term.getName() + Console.debug("Ignoring " + term.getName() + " as obsolete and duplicated by " + replaced.getName()); term = replaced; } else if (!newTermIsObsolete && oldTermIsObsolete) { - System.err.println("Ignoring " + replaced.getName() + Console.debug("Ignoring " + replaced.getName() + " as obsolete and duplicated by " + term.getName()); } else { - System.err.println("Warning: " + term.getName() - + " has replaced " + replaced.getName() - + " for lookup of '" + description + "'"); + Console.debug("Warning: " + term.getName() + " has replaced " + + replaced.getName() + " for lookup of '" + + description + "'"); } } termsByDescription.put(description, term); @@ -197,8 +221,8 @@ public class SequenceOntology implements SequenceOntologyI { try { - if (Boolean.TRUE.equals(ann.getProperty("is_obsolete"))) - { + if (Boolean.TRUE.equals(ann.getProperty("is_obsolete"))) + { return true; } } catch (NoSuchElementException e) @@ -313,7 +337,7 @@ public class SequenceOntology implements SequenceOntologyI { if (!termsNotFound.contains(term)) { - System.err.println("SO term " + term + " invalid"); + Console.error("SO term " + term + " invalid"); termsNotFound.add(term); } }