Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.cmm.msu.ru/~igogo/Term4/kod.txt
Дата изменения: Mon Apr 9 22:56:27 2007
Дата индексирования: Tue Oct 2 06:20:41 2012
Кодировка: Windows-1251
package count;

/**
*

Title:


*

Description:


*

Copyright: Copyright (c) 2007


*

Company:


* @author not attributable
* @version 1.0
*/

public class count{
public count() {
}

public static void main(String[] args) {
String OPM = "----------------------------------+++++++++++HHHHHHHHHHHHHHHHHHHHHHH-------------HHHHHHHHHHHHHHHHHHH+++++++++HHHHHHHHHH----HHHHHHHHHHHHHHHHHHHHHHHHH+++++++++++++++++++HHHHHHHHHHHHHHHHHHHHHH-----------HHHHHHHHHHHHHHH++++++++++HHHHHHHHHH-------HHHHHHHHHHHHHHHHHHHHHH+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
String TMHMM = "+++++++++++++++++++++++++++++++++++++++++++++++++HHHHHHHHHHHHHHHHHHHHHHH---------HHHHHHHHHHHHHHHHHHHHHHH+++++++++++++++++++HHHHHHHHHHHHHHHHHHHHHHH-------------------HHHHHHHHHHHHHHHHHHHHHHH++++++++++++HHHHHHHHHHHHHHHHHHHHHHH-------------------HHHHHHHHHHHHHHHHHHHHHHH+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ";
//*Естественно, строки OPM и TMHMM разные для различных белков (а тут записан частный случай - для рассматриваемых мной аквапоринов). Поэтому соответствующие строки указываются вручную (копируются).
int len = OPM.length();
//*Считаем длину строки ОРМ
int TP = 0, FP = 0, TN = 0, FN = 0, HCount = 0;

for (int i = 0; i < len; i++) {
char ch1 = OPM.charAt(i);
char ch2 = TMHMM.charAt(i);
if (ch2 == 'H') {
HCount++;
}
if (ch1 == 'H' && ch2 == 'H') {
TP++;
}
if (ch1 != 'H' && ch2 == 'H') {
FP++;
}
if (ch1 == 'H' && ch2 != 'H') {
FN++;
}
if (ch1 != 'H' && ch2 != 'H') {
TN++;
}
}
//*Считаем TP, FP, TN, FN, HCount (число остатков, предсказанных как локализованные в мембране)

double Sensitivity = (double)TP / ((double)TP + (double)FN);
double Specificity = (double)TN / ((double)TN + (double)FP);
double Precision = (double)TP / ((double)TP + (double)FP);
double Overpredicted = (double)FP / ((double)FP + (double)TP);
double Underpredicted = (double)FN / ((double)TN + (double)FN);

System.out.println("Остатки, предсказанные как локализованные в мембране = " + HCount);
System.out.println("TP = " + TP);
System.out.println("FP = " + FP);
System.out.println("FN = " + FN);
System.out.println("TN = " + TN);
System.out.println("Sensitivity = " + Sensitivity);
System.out.println("Specificity = " + Specificity);
System.out.println("Precision = " + Precision);
System.out.println("Overpredicted = " + Overpredicted);
System.out.println("Underpredicted = " + Underpredicted);
//* Вывод результатов
}

}