X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FSequence.java;h=d0020314431963b546b577af61ccad89677155fe;hb=8d0d8f010041eb2089bfe0bf7e5ad481ceae56d5;hp=23c3de72baa784ccc1c6399f39087865b9b70cdb;hpb=865a855a4ca87eadb3e5ff284ed32ed307d9c34b;p=jalview.git
diff --git a/src/jalview/datamodel/Sequence.java b/src/jalview/datamodel/Sequence.java
index 23c3de7..d002031 100755
--- a/src/jalview/datamodel/Sequence.java
+++ b/src/jalview/datamodel/Sequence.java
@@ -1,19 +1,21 @@
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
* Copyright (C) 2014 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.
+ * 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 .
+ * 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.datamodel;
@@ -23,6 +25,8 @@ import jalview.analysis.AlignSeq;
import java.util.Enumeration;
import java.util.Vector;
+import fr.orsay.lri.varna.models.rna.RNA;
+
/**
*
* Implements the SequenceI interface for a char[] based sequence object.
@@ -50,6 +54,8 @@ public class Sequence implements SequenceI
DBRefEntry[] dbrefs;
+ RNA rna;
+
/**
* This annotation is displayed below the alignment but the positions are tied
* to the residues of this sequence
@@ -61,7 +67,7 @@ public class Sequence implements SequenceI
*/
int index = -1;
- /** array of seuqence features - may not be null for a valid sequence object */
+ /** array of sequence features - may not be null for a valid sequence object */
public SequenceFeature[] sequenceFeatures;
/**
@@ -708,6 +714,7 @@ public class Sequence implements SequenceI
{
tmp = new char[i];
System.arraycopy(sequence, 0, tmp, 0, i);
+ j = sequence.length;
}
else
{
@@ -716,6 +723,9 @@ public class Sequence implements SequenceI
System.arraycopy(sequence, j, tmp, i, sequence.length - j);
}
boolean createNewDs = false;
+ // TODO: take a look at the new dataset creation validation method below -
+ // this could become time comsuming for large sequences - consider making it
+ // more efficient
for (int s = i; s < j; s++)
{
if (jalview.schemes.ResidueProperties.aaIndex[sequence[s]] != 23)
@@ -993,6 +1003,18 @@ public class Sequence implements SequenceI
datasetSequence.setPDBId(getPDBId());
setPDBId(null);
datasetSequence.updatePDBIds();
+ if (annotation != null)
+ {
+ Vector _annot = annotation;
+ annotation = null;
+ for (AlignmentAnnotation aa : _annot)
+ {
+ aa.sequenceRef = datasetSequence;
+ aa.adjustForAlignment(); // uses annotation's own record of
+ // sequence-column mapping
+ datasetSequence.addAlignmentAnnotation(aa);
+ }
+ }
}
return datasetSequence;
}
@@ -1201,4 +1223,15 @@ public class Sequence implements SequenceI
{
index = value;
}
+
+ public void setRNA(RNA r)
+ {
+ rna = r;
+ }
+
+ public RNA getRNA()
+ {
+ return rna;
+ }
+
}