/*\r
* Jalview - A Sequence Alignment Editor and Viewer\r
-* Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+* Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
*\r
* This program is free software; you can redistribute it and/or\r
* modify it under the terms of the GNU General Public License\r
int[] seq2;\r
SequenceI s1;\r
SequenceI s2;\r
- String s1str;\r
- String s2str;\r
+ public String s1str;\r
+ public String s2str;\r
int maxi;\r
int maxj;\r
int[] aseq1;\r
int[] aseq2;\r
- public String astr1 = "";\r
- public String astr2 = "";\r
+ public String astr1="";\r
+ public String astr2="";\r
\r
/** DOCUMENT ME!! */\r
public int seq1start;\r
int defInt = 23;\r
StringBuffer output = new StringBuffer();\r
String type;\r
- Runtime rt;\r
-\r
\r
/**\r
* Creates a new AlignSeq object.\r
*/\r
public AlignSeq(SequenceI s1, SequenceI s2, String type)\r
{\r
- rt = Runtime.getRuntime();\r
- SeqInit(s1, s2, type);\r
+ SeqInit(s1, s1.getSequenceAsString(), s2, s2.getSequenceAsString(), type);\r
+ }\r
+\r
+ /**\r
+ * Creates a new AlignSeq object.\r
+ *\r
+ * @param s1 DOCUMENT ME!\r
+ * @param s2 DOCUMENT ME!\r
+ * @param type DOCUMENT ME!\r
+ */\r
+ public AlignSeq(SequenceI s1,\r
+ String string1,\r
+ SequenceI s2,\r
+ String string2,\r
+ String type)\r
+ {\r
+ SeqInit(s1, string1, s2, string2, type);\r
}\r
\r
/**\r
* @param s2 DOCUMENT ME!\r
* @param type DOCUMENT ME!\r
*/\r
- public void SeqInit(SequenceI s1, SequenceI s2, String type)\r
+ public void SeqInit(SequenceI s1,\r
+ String string1,\r
+ SequenceI s2,\r
+ String string2,\r
+ String type)\r
{\r
- s1str = extractGaps(jalview.util.Comparison.GapChars, s1.getSequence());\r
- s2str = extractGaps(jalview.util.Comparison.GapChars, s2.getSequence());\r
+\r
+ s1str = extractGaps(jalview.util.Comparison.GapChars, string1);\r
+ s2str = extractGaps(jalview.util.Comparison.GapChars, string2);\r
+\r
+ if(s1str.length()==0 || s2str.length()==0)\r
+ {\r
+ System.out.println("ALL GAPS: " +\r
+ (s1str.length()==0?s1.getName():" ")\r
+ +(s2str.length()==0?s2.getName():""));\r
+ return;\r
+ }\r
\r
this.s1 = s1;\r
this.s2 = s2;\r
\r
for (int i = 0; i < s.length(); i++)\r
{\r
- String ss = s.substring(i, i + 1).toUpperCase();\r
+ // String ss = s.substring(i, i + 1).toUpperCase();\r
+ char c = s.charAt(i);\r
+ if ('a' <= c && c <= 'z')\r
+ {\r
+ // TO UPPERCASE !!!\r
+ c -= ('a' - 'A');\r
+ }\r
+\r
\r
try\r
{\r
if (type.equals("pep"))\r
{\r
- seq1[i] = ((Integer) ResidueProperties.aaHash.get(ss)).intValue();\r
+ seq1[i] = ResidueProperties.aaIndex[c];\r
}\r
else if (type.equals("dna"))\r
{\r
- seq1[i] = ((Integer) dnaHash.get(ss)).intValue();\r
+ seq1[i] = ResidueProperties.nucleotideIndex[c];\r
}\r
\r
if (seq1[i] > 23)\r