/*
* outputs
*/
- private MatrixI symm;
+ private MatrixI pairwiseScores;
+
+ private MatrixI afterTred;
private MatrixI eigenvector;
{
double out = 0.0;
- for (int i = 0; i < symm.width(); i++)
+ for (int i = 0; i < pairwiseScores.width(); i++)
{
- out += (symm.getValue(row, i) * eigenvector.getValue(i, n));
+ out += (pairwiseScores.getValue(row, i) * eigenvector.getValue(i, n));
}
return out / eigenvector.getD()[n];
public String getDetails()
{
return details;
+ /*
+ StringBuilder sb = new StringBuilder(1024);
+ sb.append("PCA calculation using ").append(scoreModel.getName())
+ .append(" sequence similarity matrix\n========\n\n");
+ PrintStream ps = wrapOutputBuffer(sb);
+
+ sb.append(" --- OrigT * Orig ---- \n");
+ pairwiseScores.print(ps, "%8.2f");
+
+ sb.append(" ---Tridiag transform matrix ---\n");
+ sb.append(" --- D vector ---\n");
+ afterTred.printD(ps, "%15.4e");
+ ps.println();
+ sb.append("--- E vector ---\n");
+ afterTred.printE(ps, "%15.4e");
+ ps.println();
+
+ sb.append(" --- New diagonalization matrix ---\n");
+ eigenvector.print(ps, "%8.2f");
+ sb.append(" --- Eigenvalues ---\n");
+ eigenvector.printD(ps, "%15.4e");
+ ps.println();
+
+ return sb.toString();
+ */
}
/**
sb.append(" --- OrigT * Orig ---- \n");
eigenvector.print(ps, "%8.2f");
- symm = eigenvector.copy();
+ pairwiseScores = eigenvector.copy();
eigenvector.tred();
+ afterTred = eigenvector.copy();
+
sb.append(" ---Tridiag transform matrix ---\n");
sb.append(" --- D vector ---\n");
- eigenvector.printD(ps, "%15.4e");
+ afterTred.printD(ps, "%15.4e");
ps.println();
sb.append("--- E vector ---\n");
- eigenvector.printE(ps, "%15.4e");
+ afterTred.printE(ps, "%15.4e");
ps.println();
// Now produce the diagonalization matrix
public int getHeight()
{
// TODO can any of seqs[] be null?
- return seqs.getSequences().length;
+ return pairwiseScores.height();// seqs.getSequences().length;
+ }
+
+ /**
+ * Answers the sequence pairwise similarity scores which were the first step
+ * of the PCA calculation
+ *
+ * @return
+ */
+ public MatrixI getPairwiseScores()
+ {
+ return pairwiseScores;
+ }
+
+ public void setPairwiseScores(MatrixI m)
+ {
+ pairwiseScores = m;
+ }
+
+ public MatrixI getEigenmatrix()
+ {
+ return eigenvector;
+ }
+
+ public void setEigenmatrix(MatrixI m)
+ {
+ eigenvector = m;
+ }
+
+ public void setDetails(String d)
+ {
+ details = d;
}
}