int[] aseq1;
int[] aseq2;
+
+ /*
+ * matches in alignment
+ */
+ int match=-1;
public String astr1 = "";
s2.getDatasetSequence() == null ? s2 : s2.getDatasetSequence());
return alSeq2;
}
+ /**
+ * fraction of seq2 matched in the alignment
+ * @return NaN or [0..1]
+ */
+ public double getS2Coverage()
+ {
+ if (match>=0)
+ {
+ return ((double)match)/((double)s2.getEnd()-s2.getStart()+1);
+ }
+ return Double.NaN;
+ }
+ /**
+ * fraction of seq1 matched in the alignment
+ * @return NaN or [0..1]
+ */
+ public double getS1Coverage()
+ {
+ if (match>=0)
+ {
+ return ((double)match)/((double)s1.getEnd()-s1.getStart()+1);
+ }
+ return Double.NaN;
+ }
/**
* Construct score matrix for sequences with standard DNA or PEPTIDE matrix
aseq1 = new int[seq1.length + seq2.length];
aseq2 = new int[seq1.length + seq2.length];
-
+ match=0;
StringBuilder sb1 = new StringBuilder(aseq1.length);
StringBuilder sb2 = new StringBuilder(aseq2.length);
sb1.append(s1str.charAt(i));
aseq2[count] = seq2[j];
sb2.append(s2str.charAt(j));
-
trace = findTrace(i, j);
if (trace == 0)
{
+ match++;
i--;
j--;
}
{
aseq2[count] = seq2[j];
sb2.append(s2str.charAt(j));
+ if (aseq1[count]!=GAP_INDEX) {
+ match++;
+ }
}