X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2FSeqsetUtils.java;h=497cd63737158295ce90fd31c0eda41609b97d1c;hb=db93a1adcbe0a4eaaf06e0a70ade0d6c5c1961c3;hp=a86775d5c4e44f46eb7fd23ad002ff395cc71fbb;hpb=506d60f0e188723ddc91c26824b41ac7034df3fe;p=jalview.git diff --git a/src/jalview/analysis/SeqsetUtils.java b/src/jalview/analysis/SeqsetUtils.java index a86775d..497cd63 100755 --- a/src/jalview/analysis/SeqsetUtils.java +++ b/src/jalview/analysis/SeqsetUtils.java @@ -1,47 +1,34 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4) - * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2) + * Copyright (C) 2015 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.analysis; -import java.util.*; +import jalview.datamodel.PDBEntry; +import jalview.datamodel.Sequence; +import jalview.datamodel.SequenceFeature; +import jalview.datamodel.SequenceI; -import jalview.datamodel.*; +import java.util.Enumeration; +import java.util.Hashtable; +import java.util.Vector; -/** - *

- * Title: - *

- * - *

- * Description: - *

- * - *

- * Copyright: Copyright (c) 2004 - *

- * - *

- * Company: Dundee University - *

- * - * @author not attributable - * @version 1.0 - */ public class SeqsetUtils { @@ -50,7 +37,7 @@ public class SeqsetUtils * Keys are Name, Start, End, SeqFeatures, PdbId * * @param seq - * SequenceI + * SequenceI * @return Hashtable */ public static Hashtable SeqCharacterHash(SequenceI seq) @@ -72,11 +59,19 @@ public class SeqsetUtils sfeat.addElement(sfarray[i]); } } - sqinfo.put("SeqFeatures", sfeat); - sqinfo.put("PdbId", (seq.getPDBId() != null) ? seq.getPDBId() - : new Vector()); - sqinfo.put("datasetSequence", (seq.getDatasetSequence() != null) ? seq - .getDatasetSequence() : new Sequence("THISISAPLACEHOLDER", "")); + if (seq.getDatasetSequence() == null) + { + sqinfo.put("SeqFeatures", sfeat); + sqinfo.put("PdbId", + (seq.getAllPDBEntries() != null) ? seq.getAllPDBEntries() + : new Vector()); + } + else + { + sqinfo.put("datasetSequence", + (seq.getDatasetSequence() != null) ? seq.getDatasetSequence() + : new Sequence("THISISAPLACEHOLDER", "")); + } return sqinfo; } @@ -85,9 +80,9 @@ public class SeqsetUtils * these methods with something more elegant. * * @param sq - * SequenceI + * SequenceI * @param sqinfo - * Hashtable + * Hashtable * @return boolean true if name was not updated from sqinfo Name entry */ public static boolean SeqCharacterUnhash(SequenceI sq, Hashtable sqinfo) @@ -101,7 +96,7 @@ public class SeqsetUtils Integer start = (Integer) sqinfo.get("Start"); Integer end = (Integer) sqinfo.get("End"); Vector sfeatures = (Vector) sqinfo.get("SeqFeatures"); - Vector pdbid = (Vector) sqinfo.get("PdbId"); + Vector pdbid = (Vector) sqinfo.get("PdbId"); String description = (String) sqinfo.get("Description"); Sequence seqds = (Sequence) sqinfo.get("datasetSequence"); if (oldname == null) @@ -140,6 +135,11 @@ public class SeqsetUtils && !(seqds.getName().equals("THISISAPLACEHOLDER") && seqds .getLength() == 0)) { + if (sfeatures != null) + { + System.err + .println("Implementation error: setting dataset sequence for a sequence which has sequence features.\n\tDataset sequence features will not be visible."); + } sq.setDatasetSequence(seqds); } @@ -151,7 +151,7 @@ public class SeqsetUtils * ordered vector of sequences. * * @param i - * int + * int * @return String */ public static String unique_name(int i) @@ -165,10 +165,10 @@ public class SeqsetUtils * name. * * @param sequences - * SequenceI[] + * SequenceI[] * @param write_names - * boolean set this to rename each of the sequences to its - * unique_name(index) name + * boolean set this to rename each of the sequences to its + * unique_name(index) name * @return Hashtable to be passed to * @see deuniquify to recover original names (and properties) for renamed * sequences @@ -201,9 +201,9 @@ public class SeqsetUtils * * @see uniquify(sequences,true) * @param map - * Hashtable + * Hashtable * @param sequences - * SequenceI[] + * SequenceI[] * @return boolean */ public static boolean deuniquify(Hashtable map, SequenceI[] sequences) @@ -217,12 +217,12 @@ public class SeqsetUtils * * @see uniquify(sequences,true) * @param map - * Hashtable + * Hashtable * @param sequences - * SequenceI[] + * SequenceI[] * @param quiet - * when false, don't complain about sequences without any data - * in the map. + * when false, don't complain about sequences without any data in the + * map. * @return boolean */ public static boolean deuniquify(Hashtable map, SequenceI[] sequences, @@ -277,7 +277,7 @@ public class SeqsetUtils * contain at least one residue. * * @param sequences - * SequenceI[] + * SequenceI[] * @return SequenceI[] */ public static SequenceI[] getNonEmptySequenceSet(SequenceI[] sequences) @@ -288,8 +288,8 @@ public class SeqsetUtils for (int i = 0, j = sequences.length; i < j; i++) { String tempseq = jalview.analysis.AlignSeq.extractGaps( - jalview.util.Comparison.GapChars, sequences[i] - .getSequenceAsString()); + jalview.util.Comparison.GapChars, + sequences[i].getSequenceAsString()); if (tempseq.length() == 0) {