X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Futil%2FDBRefUtils.java;h=9a4ffc80365194a3f4fc4bc1e71d64d99d5c0263;hb=ad15cff29620f960119f80176f1fd443da9f6763;hp=411a7b9830407aaaf05d94c660669096e4346285;hpb=0ff8400b045359dc745a49a92e2152fcb68ccdbd;p=jalview.git diff --git a/src/jalview/util/DBRefUtils.java b/src/jalview/util/DBRefUtils.java index 411a7b9..9a4ffc8 100755 --- a/src/jalview/util/DBRefUtils.java +++ b/src/jalview/util/DBRefUtils.java @@ -1,20 +1,22 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1) - * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * - * This program 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 2 - * of the License, or (at your option) any later version. + * This file is part of Jalview. * - * This program 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. + * 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 this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.util; @@ -30,9 +32,9 @@ public class DBRefUtils /** * * @param dbrefs - * Vector of DBRef objects to search + * Vector of DBRef objects to search * @param sources - * String[] array of source DBRef IDs to retrieve + * String[] array of source DBRef IDs to retrieve * @return Vector */ public static DBRefEntry[] selectRefs(DBRefEntry[] dbrefs, @@ -79,9 +81,9 @@ public class DBRefUtils * isDasCoordinateSystem * * @param string - * String + * String * @param dBRefEntry - * DBRefEntry + * DBRefEntry * @return boolean true if Source DBRefEntry is compatible with DAS * CoordinateSystem name */ @@ -152,9 +154,9 @@ public class DBRefUtils * attributes. * * @param ref - * Set of references to search + * Set of references to search * @param entry - * pattern to collect - null any entry for wildcard match + * pattern to collect - null any entry for wildcard match * @return */ public static DBRefEntry[] searchRefs(DBRefEntry[] ref, DBRefEntry entry) @@ -304,8 +306,8 @@ public class DBRefUtils if ((refb.getMap().getMap() == null && refa.getMap().getMap() == null) || (refb.getMap().getMap() != null && refa.getMap().getMap() != null && refb - .getMap().getMap().getInverse().equals( - refa.getMap().getMap()))) + .getMap().getMap().getInverse() + .equals(refa.getMap().getMap()))) { return true; } @@ -362,8 +364,8 @@ public class DBRefUtils { public boolean matches(DBRefEntry refa, DBRefEntry refb) { -// System.err.println("Comparing A: "+refa.getSrcAccString()+(refa.hasMap()?" has map.":".")); -// System.err.println("Comparing B: "+refb.getSrcAccString()+(refb.hasMap()?" has map.":".")); + // System.err.println("Comparing A: "+refa.getSrcAccString()+(refa.hasMap()?" has map.":".")); + // System.err.println("Comparing B: "+refb.getSrcAccString()+(refb.hasMap()?" has map.":".")); if (refa.getSource() != null && refb.getSource() != null && refb.getSource().equals(refa.getSource())) { @@ -382,9 +384,9 @@ public class DBRefUtils && (refb.getMap().getMap() == null && refa.getMap() .getMap() == null) || (refb.getMap().getMap() != null - && refa.getMap().getMap() != null && - (refb - .getMap().getMap().equals(refa.getMap().getMap())))) { // getMap().getMap().containsEither(false,refa.getMap().getMap()) + && refa.getMap().getMap() != null && (refb + .getMap().getMap().equals(refa.getMap().getMap())))) + { // getMap().getMap().containsEither(false,refa.getMap().getMap()) return true; } } @@ -401,7 +403,7 @@ public class DBRefUtils * @param version * @param acn * @param seq - * where to anotate with reference + * where to anotate with reference * @return parsed version of entry that was added to seq (if any) */ public static DBRefEntry parseToDbRef(SequenceI seq, String dbname, @@ -416,11 +418,15 @@ public class DBRefUtils // check for chaincode and mapping // PFAM style stockhom PDB citation com.stevesoft.pat.Regex r = new com.stevesoft.pat.Regex( - "([0-9][0-9A-Za-z]{3})\\s*(.?)\\s*;([0-9]+)-([0-9]+)"); + "([0-9][0-9A-Za-z]{3})\\s*(.?)\\s*;\\s*([0-9]+)-([0-9]+)"); if (r.search(acn.trim())) { String pdbid = r.stringMatched(1); String chaincode = r.stringMatched(2); + if (chaincode==null) + { + chaincode = " "; + } String mapstart = r.stringMatched(3); String mapend = r.stringMatched(4); if (chaincode.equals(" ")) @@ -431,7 +437,11 @@ public class DBRefUtils ref = new DBRefEntry(locsrc, version, pdbid + chaincode); PDBEntry pdbr = new PDBEntry(); pdbr.setId(pdbid); + pdbr.setProperty(new Hashtable()); + pdbr.getProperty().put("CHAIN", chaincode); seq.addPDBId(pdbr); + } else { + System.err.println("Malformed PDB DR line:"+acn); } } else