override public void ThreadProc(Object stateInfo) { int i, j; i = (stateInfo as QAlInfo).i; j = (stateInfo as QAlInfo).j; QAlignment Align = new QAlignment(Peptides, Proteins, i, j); Align.Run(); Align.Proteins.Sort(new ProteinPair.byIPI()); Align.Peptides.Sort(new PeptidePair.bySet()); //копирование итоговых значений в итоговые массивы for (int k = 0; k < Peptides.Count; k++) { PeptidePair PP = Align.Peptides[k]; if (PP.Ratio == 0.0) { PeptideRatios[i, j][k] = 0.0; } else { PeptideRatios[i, j][k] = PP.Ratio; } } for (int k = 0; k < Proteins.Count; k++) { ProteinPair PP = Align.Proteins[k]; ProteinMedians[i, j, k] = PP.Median; ProteinSlopes[i, j, k] = PP.Slope; ProteinDeltas[i, j, k] = PP.SlopeDelta; } lock (ForCountLock){ Count++; } }
public override double[] GetPeptRatios(QPeptide Pept) { double [] Res = new double[FileCount]; for (int i = 0; i < FileCount; i++) { PeptidePair PPair = GetPeptPair(Pept, i, RefNumber); Res[i] = PPair.Ratio; } return(Res); }