private void Normalize() { foreach (var groupParameter in GroupParameter.GetAllFragmentGroupParameters(_maxCharge)) { if (!IsotopeIntensityCorrProbDictionary.ContainsKey(groupParameter)) { IsotopeIntensityCorrProbDictionary[groupParameter] = new Dictionary <IonType, Dictionary <int, double> >(); } var si = IsotopeIntensityCorrProbDictionary[groupParameter]; foreach (var ionType in _ionTypes[groupParameter]) { if (!si.ContainsKey(ionType)) { si[ionType] = new Dictionary <int, double>(); } var ssi = si[ionType]; var sum = 0.0; foreach (var score in SubScoreFactory.GetAllCorrIntScore()) { if (!ssi.ContainsKey(score)) { ssi[score] = 1.0; } sum = sum + ssi[score]; } var keys = new List <int>(ssi.Keys); foreach (var score in keys) { ssi[score] = Math.Max(double.MinValue, ssi[score] / sum); } } } }
public ValueParameter <T> CreateValueParameter <T>(string label = "", GroupParameter group = null) { var datatype = TypeDefinition.GetDatatype(typeof(T)); var param = CreateParameter(datatype, label, group) as ValueParameter <T>; return(AddAndReturn(param, label, group)); }
public ArrayParameter <T> CreateArrayParameter <T>(string label = "", GroupParameter group = null, int[] structure = null) { var elementType = TypeDefinition.GetDatatype(typeof(T)); var param = Parameter.Create(this, FIdCounter++, RcpTypes.Datatype.Array, elementType, structure) as ArrayParameter <T>; return(AddAndReturn(param, label, group)); }
public NumberParameter <T> CreateNumberParameter <T>(string label = "", GroupParameter group = null) /*where T : struct*/ { var datatype = TypeDefinition.GetDatatype(typeof(T)); var param = (NumberParameter <T>)CreateParameter(datatype, label, group); return(AddAndReturn(param, label, group)); }
private void GetIonTypes() { foreach (var groupParameter in GroupParameter.GetAllFragmentGroupParameters(_maxCharge)) { IonTypes[groupParameter] = new List <IonType>(); if (!_ionFrequencyFunction.ContainsKey(groupParameter)) { continue; } var subIonFrequencyFunction = _ionFrequencyFunction[groupParameter]; var subIonTypes = IonTypes[groupParameter]; var offsets = new List <double>(subIonFrequencyFunction.Values); offsets.Sort();//ascending foreach (var ionType in subIonFrequencyFunction.Keys) { if (offsets.Count <= NumberPerGroup || subIonFrequencyFunction[ionType] < offsets[offsets.Count - NumberPerGroup]) { continue; } if (subIonTypes.Count < NumberPerGroup) { subIonTypes.Add(ionType); } } } }
public void AddParameter(Parameter param, GroupParameter group) { base.AddParameter(param); if (group == null) { group = Root; } group.AddParameter(param); }
private void Normalize() { foreach (var groupParameter in GroupParameter.GetAllFragmentGroupParameters(_maxCharge)) { if (!RatioProbDictionary.ContainsKey(groupParameter)) { RatioProbDictionary[groupParameter] = new Dictionary <Tuple <IonType, IonType>, Dictionary <int, double> >(); } if (!_allNumberDictionary.ContainsKey(groupParameter)) { _allNumberDictionary[groupParameter] = 1.0; } if (!NoIonProbDictionary.ContainsKey(groupParameter)) { NoIonProbDictionary[groupParameter] = 1.0; } NoIonProbDictionary[groupParameter] = NoIonProbDictionary[groupParameter] / Math.Max(_allNumberDictionary[groupParameter], 1.0); var sr = RatioProbDictionary[groupParameter]; foreach (var ionType in _ionTypes[groupParameter]) { foreach (var ionType2 in _ionTypes[groupParameter]) { var sum = 0.0; var ionTypes = new Tuple <IonType, IonType> (ionType, ionType2); if (!sr.ContainsKey(ionTypes)) { sr[ionTypes] = new Dictionary <int, double>(); } var ssr = sr[ionTypes]; foreach (var ratio in FeatureEdge.GetAllRatioIndices()) { if (!ssr.ContainsKey(ratio)) { ssr[ratio] = 1.0; } sum = sum + ssr[ratio]; } var keys = new List <int> (ssr.Keys); foreach (var ratio in keys) { ssr[ratio] = Math.Max(Double.MinValue, ssr[ratio] / sum); } } } } }
public UriParameter CreateUriParameter(string label = "", GroupParameter group = null) { var param = CreateParameter(RcpTypes.Datatype.Uri, label, group) as UriParameter; return(AddAndReturn(param, label, group)); }
public Parameter CreateRangeParameter(RcpTypes.Datatype elementType, string label = "", GroupParameter group = null) { var param = Parameter.Create(this, FIdCounter++, RcpTypes.Datatype.Range, elementType); return(AddAndReturn(param, label, group)); }
public Parameter CreateBangParameter(string label = "", GroupParameter group = null) { var param = Parameter.Create(this, FIdCounter++, RcpTypes.Datatype.Bang); return(AddAndReturn(param, label, group)); }
TParameter AddAndReturn <TParameter>(TParameter param, string label, GroupParameter group) where TParameter : Parameter { param.Label = label; AddParameter(param, group); return(param); }
public PrecursorFeatureNode(IsotopomerFeatures isotopomerFeatures, GroupParameter parameter, SubScoreFactory scoringParams) : base(isotopomerFeatures, null, isotopomerFeatures.GetMostAbundantFeature(), parameter) { _scoringParams = scoringParams; Score = GetScore(); }
public PrecursorFeatureNode(IsotopomerFeatures isotopomerFeatures, GroupParameter parameter, SubScoreFactory scoringParams) : base(isotopomerFeatures, null, isotopomerFeatures.GetMostAbundantFeature(), parameter) { _scoringParams = scoringParams; Score = GetScore(); }
public ClientServerBase() { FContext = SynchronizationContext.Current; Root = new GroupParameter(0, this, new GroupDefinition()); }