\r
import jalview.analysis.*;\r
import java.awt.*;\r
-import java.util.StringTokenizer;\r
+import java.util.*;\r
import MCview.*;\r
\r
\r
{\r
protected String name;\r
protected String sequence;\r
+ protected String description;\r
protected int start;\r
protected int end;\r
- protected String description;\r
- protected int charHeight;\r
protected String displayId;\r
protected Color color = Color.white;\r
+ String pdbId;\r
PDBfile pdb;\r
- public int maxchain = -1;\r
\r
+ public int maxchain = -1;\r
public int pdbstart;\r
public int pdbend;\r
public int seqstart;\r
public int seqend;\r
+\r
+ public Vector sequenceFeatures = new Vector();\r
+ public void setSequenceFeatures(Vector v)\r
+ {\r
+ sequenceFeatures = v;\r
+ }\r
+\r
+ public Vector getSequenceFeatures()\r
+ {return sequenceFeatures; }\r
+\r
+ public void setPDBId(String id)\r
+ {\r
+ pdbId = id;\r
+ }\r
+ public String getPDBId()\r
+ {\r
+ return pdbId;\r
+ }\r
+\r
public void setPDBfile(PDBfile pdb)\r
{\r
this.pdb = pdb;\r
return this.sequence;\r
}\r
public String getSequence(int start,int end) {\r
+ if(end>sequence.length())\r
+ end = sequence.length();\r
return this.sequence.substring(start,end);\r
}\r
\r
int j = 0;\r
int pos = start;\r
\r
- while (j < i)\r
+ while (j < i && j<sequence.length())\r
{\r
char c = sequence.charAt(j);\r
-\r
if (!jalview.util.Comparison.isGap((c)))\r
pos++;\r
\r
}\r
return pos;\r
}\r
+\r
+ public int[] gapMap() {\r
+ // Returns an int array giving the position of each residue in the sequence in the alignment\r
+ String seq = jalview.analysis.AlignSeq.extractGaps("-. ",sequence);\r
+ int[] map = new int[seq.length()];\r
+ int j=0;\r
+ int p=0;\r
+ while (j<sequence.length()) {\r
+ if (!jalview.util.Comparison.isGap(sequence.charAt(j))) {\r
+ map[p++]=j;\r
+ }\r
+ j++;\r
+ }\r
+ return map;\r
+ }\r
+\r
public void deleteCharAt(int i)\r
{\r
StringBuffer sbuffer = new StringBuffer(sequence);\r
sequence = sbuffer.toString();\r
}\r
\r
+ public void deleteChars(int i, int j)\r
+ {\r
+ StringBuffer sbuffer = new StringBuffer(sequence);\r
+ sbuffer.delete(i,j);\r
+ sequence = sbuffer.toString();\r
+ }\r
+\r
public void insertCharAt(int i, char c)\r
{\r
insertCharAt(i,c,true);\r