X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FJnetAnnotationMaker.java;h=d15e73398eb7db1c3f4878ad12a92332dad874e9;hb=c19d2a91ca05e052e3408bf5852d88eb5d0608f1;hp=07a0068d2f17bd110164cd91c1e20d50fb6d4793;hpb=4d2e0d36506302cc00677527725bcccbdf27d766;p=jalview.git
diff --git a/src/jalview/io/JnetAnnotationMaker.java b/src/jalview/io/JnetAnnotationMaker.java
index 07a0068..d15e733 100755
--- a/src/jalview/io/JnetAnnotationMaker.java
+++ b/src/jalview/io/JnetAnnotationMaker.java
@@ -1,41 +1,58 @@
/*
-* Jalview - A Sequence Alignment Editor and Viewer
-* Copyright (C) 2006 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
-* 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.
-*
-* 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
-*/package jalview.io;
-
-import jalview.datamodel.*;
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2)
+ * Copyright (C) 2015 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.io;
+
+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 {
- JnetAnnotationMaker.add_annotation(prediction, al, firstSeq, noMsa, (int[]) null);
+ int firstSeq, boolean noMsa) throws Exception
+ {
+ 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 -
- * @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();
@@ -44,118 +61,156 @@ public class JnetAnnotationMaker
SequenceI seqRef = al.getSequenceAt(firstSeq);
int width = preds[0].getSequence().length;
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).getSequence() +
- ")\ndiffer from number of prediction sites in prediction (" + width +
- ")"));
+ 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;
Annotation[] annotations = null;
int existingAnnotations = 0;
- if(al.getAlignmentAnnotation()!=null)
- existingAnnotations = al.getAlignmentAnnotation().length;
+ if (al.getAlignmentAnnotation() != null)
+ {
+ existingAnnotations = al.getAlignmentAnnotation().length;
+ }
+ Annotation[] sol = new Annotation[al.getWidth()];
+ boolean firstsol = true;
while (i < preds.length)
{
String id = preds[i].getName().toUpperCase();
- 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);
+
+ 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);
*/
}