private void LoadPeakScoreTable(StreamReader reader, double[][][] table) { var binLen = table[0][0].Length; while (true) { var line = reader.ReadLine(); if (string.IsNullOrEmpty(line)) { break; } var tokens = line.Split(','); if (tokens.Length != 2) { break; } var c = GetChargeIndex(int.Parse(tokens[0])); var m = MassBinning.GetBinIndex(double.Parse(tokens[1])); line = reader.ReadLine(); var token = line.Split('\t'); for (var j = 0; j < binLen; j++) { table[c][m][j] = GetBoundedLkScore(token[j]); } } }
private void LoadChargeScoreTable(StreamReader reader) { while (true) { var line = reader.ReadLine(); if (string.IsNullOrEmpty(line)) { break; } //var tokens = line.Split(','); var m = MassBinning.GetBinIndex(double.Parse(line)); line = reader.ReadLine(); var token = line.Split('\t'); for (var j = 0; j < ChargeBinLength; j++) { ChargeScoreTable[m][j] = GetBoundedLkScore(token[j]); } } }
public double GetNodeScoreWithoutMassError(ActivationMethod activationMethod, bool isPrefix, double fragmentIonMass, int fragmentIonCharge, double corrScore, double distScore, double intensityScore) { var m = MassBinning.GetBinIndex(fragmentIonMass); var c = GetChargeIndex(fragmentIonCharge); var a = GetActivationMethodIndex(activationMethod); var t = GetIonTypeIndex(isPrefix); var ci = CorrBinning.GetBinIndex(corrScore); var di = DistBinning.GetBinIndex(distScore); var ii = IntensityBinning.GetBinIndex(intensityScore); var score = IonTypeScoreTable[a][t]; score += MassScoreTable[a][t][m]; score += ChargeScoreTable[m][c]; score += CorrScoreTable[c][m][ci]; score += DistScoreTable[c][m][di]; score += IntensityScoreTable[c][m][ii]; return(score); }