コード例 #1
0
 public RefAligner(List<QPeptide> Peptides, List<QProtein> Proteins,int FileCount, int RefNumber)
 {
     AlList = new List<Object>();
     AlLine = new QAlignment[FileCount];
     this.FileCount = FileCount;
     this.RefNumber = RefNumber;
     for (int i = 0 ; i < FileCount ; i++){
         AlLine[i] = new QAlignment(Peptides, Proteins, i, RefNumber);
         AlList.Add(AlLine[i]);
     }
 }
コード例 #2
0
 public override 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++;
     }
 }