git://source.jalview.org
/
jalview.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5c7ef5c
)
local sequence properties are preserved in SeqCigar representation of sequence using...
author
jprocter
<Jim Procter>
Mon, 23 Jun 2008 07:45:38 +0000
(07:45 +0000)
committer
jprocter
<Jim Procter>
Mon, 23 Jun 2008 07:45:38 +0000
(07:45 +0000)
src/jalview/datamodel/SeqCigar.java
patch
|
blob
|
history
diff --git
a/src/jalview/datamodel/SeqCigar.java
b/src/jalview/datamodel/SeqCigar.java
index
c896555
..
9ed0388
100644
(file)
--- a/
src/jalview/datamodel/SeqCigar.java
+++ b/
src/jalview/datamodel/SeqCigar.java
@@
-18,6
+18,8
@@
*/
package jalview.datamodel;
*/
package jalview.datamodel;
+import java.util.Hashtable;
+
import jalview.analysis.*;
import jalview.util.*;
import jalview.analysis.*;
import jalview.util.*;
@@
-29,6
+31,7
@@
public class SeqCigar
*/
private int start, end;
private SequenceI refseq = null;
*/
private int start, end;
private SequenceI refseq = null;
+ private Hashtable seqProps;
/**
* Reference dataset sequence for the cigar string
* @return SequenceI
/**
* Reference dataset sequence for the cigar string
* @return SequenceI
@@
-91,9
+94,20
@@
public class SeqCigar
refseq.getStart() + start + bounds[0],
refseq.getStart() + start +
( (bounds[2] == 0) ? -1 : bounds[2]));
refseq.getStart() + start + bounds[0],
refseq.getStart() + start +
( (bounds[2] == 0) ? -1 : bounds[2]));
+ seq.setDescription(refseq.getDescription());
+ int sstart = seq.getStart(),
+ send = seq.getEnd();
// seq.checkValidRange(); probably not needed
// seq.checkValidRange(); probably not needed
+ // recover local properties if present
+ if (seqProps!=null)
+ {
+ // this recovers dataset sequence reference as well as local features, names, start/end settings.
+ SeqsetUtils.SeqCharacterUnhash(seq, seqProps);
+ }
+ // ensure dataset sequence is up to date from local reference
seq.setDatasetSequence(refseq);
seq.setDatasetSequence(refseq);
- seq.setDescription(refseq.getDescription());
+ seq.setStart(sstart);
+ seq.setEnd(send);
return seq;
}
return seq;
}
@@
-182,8
+196,9
@@
public class SeqCigar
hasgaps = true;
}
hasgaps = true;
}
- this.refseq = ds;
-
+ refseq = ds;
+ // copy over local properties for the sequence instance of the refseq
+ seqProps = SeqsetUtils.SeqCharacterHash(seq);
// Check offsets
if (end > ds.getLength())
{
// Check offsets
if (end > ds.getLength())
{