X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FJnetAnnotationMaker.java;h=27fc8697e327dd09effa82921acca97b64092a27;hb=d4271d32477e99e9fbbfa5db3e11f1b79324e60d;hp=bb34548616321d93f7bd4f8bc16be437998f4af8;hpb=60f2d6c034560415fd0139c8bc7df0c19cae1186;p=jalview.git
diff --git a/src/jalview/io/JnetAnnotationMaker.java b/src/jalview/io/JnetAnnotationMaker.java
index bb34548..27fc869 100755
--- a/src/jalview/io/JnetAnnotationMaker.java
+++ b/src/jalview/io/JnetAnnotationMaker.java
@@ -1,63 +1,79 @@
/*
- * Jalview - A Sequence Alignment Editor and Viewer
- * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
- *
- * 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
+ * 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.
- *
- * 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 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.io;
-import jalview.datamodel.*;
+import java.util.Locale;
+
+import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.Annotation;
+import jalview.datamodel.SequenceI;
+import jalview.util.MessageManager;
public class JnetAnnotationMaker
{
public static void add_annotation(JPredFile prediction, AlignmentI al,
- int firstSeq, boolean noMsa)
- throws Exception
+ int firstSeq, boolean noMsa) throws Exception
{
- JnetAnnotationMaker.add_annotation(prediction, al, firstSeq, noMsa, (int[])null);
+ JnetAnnotationMaker.add_annotation(prediction, al, firstSeq, noMsa,
+ (int[]) null);
}
/**
* adds the annotation parsed by prediction to al.
- * @param prediction JPredFile
- * @param al AlignmentI
- * @param firstSeq int the index of the sequence to attach the annotation to (usually zero)
- * @param noMsa boolean
- * @param delMap mapping from columns in JPredFile prediction to residue number in al.getSequence(firstSeq)
+ *
+ * @param prediction
+ * JPredFile
+ * @param al
+ * AlignmentI
+ * @param firstSeq
+ * int the index of the sequence to attach the annotation to (usually
+ * zero)
+ * @param noMsa
+ * boolean
+ * @param delMap
+ * mapping from columns in JPredFile prediction to residue number in
+ * al.getSequence(firstSeq)
*/
public static void add_annotation(JPredFile prediction, AlignmentI al,
- int firstSeq, boolean noMsa, int[] delMap)
- throws Exception
+ int firstSeq, boolean noMsa, int[] delMap) throws Exception
{
int i = 0;
SequenceI[] preds = prediction.getSeqsAsArray();
// in the future we could search for the query
// sequence in the alignment before calling this function.
SequenceI seqRef = al.getSequenceAt(firstSeq);
- int width = preds[0].getSequence().length;
+ int width = preds[0].getLength();
int[] gapmap = al.getSequenceAt(firstSeq).gapMap();
- if ( (delMap != null && delMap.length > width) ||
- (delMap == null && gapmap.length != width))
+ if ((delMap != null && delMap.length > width)
+ || (delMap == null && gapmap.length != width))
{
- throw (new Exception(
- "Number of residues in " + (delMap == null ? "" : " mapped ") +
- "supposed query sequence ('" +
- al.getSequenceAt(firstSeq).getName() + "'\n" +
- al.getSequenceAt(firstSeq).getSequenceAsString() +
- ")\ndiffer from number of prediction sites in prediction (" + width +
- ")"));
+ throw (new Exception(MessageManager.formatMessage(
+ "exception.number_of_residues_in_query_sequence_differ_from_prediction",
+ new String[]
+ { (delMap == null ? ""
+ : MessageManager.getString("label.mapped")),
+ al.getSequenceAt(firstSeq).getName(),
+ al.getSequenceAt(firstSeq).getSequenceAsString(),
+ Integer.valueOf(width).toString() })));
}
AlignmentAnnotation annot;
@@ -69,111 +85,132 @@ public class JnetAnnotationMaker
existingAnnotations = al.getAlignmentAnnotation().length;
}
+ Annotation[] sol = new Annotation[al.getWidth()];
+ boolean firstsol = true;
+
while (i < preds.length)
{
- String id = preds[i].getName().toUpperCase();
+ String id = preds[i].getName().toUpperCase(Locale.ROOT);
- if (id.startsWith("LUPAS") || id.startsWith("JNET") ||
- id.startsWith("JPRED"))
+ if (id.startsWith("LUPAS") || id.startsWith("JNET")
+ || id.startsWith("JPRED"))
{
- annotations = new Annotation[al.getWidth()];
- /* if (delMap!=null) {
- for (int j=0; jPrediction of Solvent Accessibility
levels are- 0 - Exposed
- 3 - 25% or more S.A. accessible
- 6 - 5% or more S.A. accessible
- 9 - Buried (<5% exposed)
",
+ sol, 0f, 9f, AlignmentAnnotation.BAR_GRAPH);
- //Hashtable scores = prediction.getScores();
-
- /* addFloatAnnotations(al, gapmap, (Vector)scores.get("JNETPROPH"),
- "JnetpropH", "Jnet Helix Propensity", 0f,1f,1);
-
- addFloatAnnotations(al, gapmap, (Vector)scores.get("JNETPROPB"),
- "JnetpropB", "Jnet Beta Sheet Propensity", 0f,1f,1);
-
- addFloatAnnotations(al, gapmap, (Vector)scores.get("JNETPROPC"),
- "JnetpropC", "Jnet Coil Propensity", 0f,1f,1);
+ annot.validateRangeAndDisplay();
+ if (seqRef != null)
+ {
+ annot.createSequenceMapping(seqRef, 1, true);
+ seqRef.addAlignmentAnnotation(annot);
+ }
+ al.addAnnotation(annot);
+ al.setAnnotationIndex(annot,
+ al.getAlignmentAnnotation().length - existingAnnotations - 1);
+ }
+ // Hashtable scores = prediction.getScores();
+
+ /*
+ * addFloatAnnotations(al, gapmap, (Vector)scores.get("JNETPROPH"),
+ * "JnetpropH", "Jnet Helix Propensity", 0f,1f,1);
+ *
+ * addFloatAnnotations(al, gapmap, (Vector)scores.get("JNETPROPB"),
+ * "JnetpropB", "Jnet Beta Sheet Propensity", 0f,1f,1);
+ *
+ * addFloatAnnotations(al, gapmap, (Vector)scores.get("JNETPROPC"),
+ * "JnetpropC", "Jnet Coil Propensity", 0f,1f,1);
*/
}