return this.sequence;\r
}\r
public String getSequence(int start,int end) {\r
- if(end>=sequence.length())\r
- end = sequence.length()-1;\r
+ if(end>sequence.length())\r
+ end = sequence.length();\r
return this.sequence.substring(start,end);\r
}\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
- sbuffer.deleteCharAt(i);\r
- sequence = sbuffer.toString();\r
+ sequence = sequence.substring(0,i) + sequence.substring(i+1);\r
+ }\r
+\r
+ public void deleteChars(int i, int j)\r
+ {\r
+ sequence = sequence.substring(0,i) + sequence.substring(j);\r
}\r
\r
public void insertCharAt(int i, char c)\r