private static Dictionary <string, Set <Hla> > ExtractPeptideToHlaSet(QmrrModelAllPeptides qmrrModel) { Dictionary <string, Set <Hla> > realPeptideToHlaSet = new Dictionary <string, Set <Hla> >(); foreach (string peptide in qmrrModel.BestParamsAndHlaAssignments.PeptideToBestHlaAssignmentSoFar.Keys) { realPeptideToHlaSet.Add(peptide, qmrrModel.BestParamsAndHlaAssignments.PeptideToBestHlaAssignmentSoFar[peptide].Champ.CreateHlaAssignmentAsSet()); } return(realPeptideToHlaSet); }
//private static OptimizationParameterList CreateQmrrParamsX(double causePrior, double leakProbability, Set<string> candidateHlaSet) //{ // List<Parameter> parameterCollection = new List<Parameter>(); // parameterCollection.Add(Parameter.GetProbabilityInstance("causePrior", causePrior, false)); // foreach (string hla in candidateHlaSet) // { // if (hla == "B1599") // { // Parameter aParameter = Parameter.GetProbabilityInstance("link" + hla, 0, false); // parameterCollection.Add(aParameter); // } // else // { // Parameter aParameter = Parameter.GetProbabilityInstance("link" + hla, .5, true); // parameterCollection.Add(aParameter); // } // } // parameterCollection.Add(Parameter.GetProbabilityInstance("leakProbability", leakProbability, false)); // parameterCollection.Add(Parameter.GetPositiveFactorInstance("useKnownList", 1, false)); // OptimizationParameterList qmrrParamsStart = OptimizationParameterList.GetInstance2(parameterCollection); // return qmrrParamsStart; //} //private static Dictionary<string, string> LoadOriginalParameters(string directory) //{ // string parameterFileName = string.Format(@"{0}\{1}", directory, "NoisyOr.Parameters.TwoCause.UseKnown.txt");//!!!const // string header = "dataset varyFitFactor score causePrior fitFactor leakProbability link useKnownList"; // foreach (Dictionary<string, string> row in SpecialFunctions.TabFileTable(parameterFileName, header, false)) // { // bool varyFitFactor = bool.Parse(row["varyFitFactor"]); // if (!varyFitFactor) // { // return row; // } // } // Debug.Fail("Didn't find expected line"); // return null; //} //static Dictionary<string, Set<string>> LoadOriginalPeptideToHlaSet(string directory) //{ // string fileName = string.Format(@"{0}\{1}", directory, @"NoisyOr.HlasPerPeptide.hivmodel.TwoCauseFalse.UseKnownTrue.txt"); // Dictionary<string, Set<string>> originalPeptideToHlaSet = new Dictionary<string, Set<string>>(); // string header = "Peptide HLAAssignment LogLikelihood"; // foreach (Dictionary<string, string> row in SpecialFunctions.TabFileTable(fileName, header, false)) // { // string peptide = row["Peptide"]; // Set<string> hlaSet = Set<string>.GetInstance(row["HLAAssignment"].Split(';')); // originalPeptideToHlaSet.Add(peptide, hlaSet); // } // return originalPeptideToHlaSet; //} public static QmrrModelAllPeptides CreateSimpleModel(string directory, string casename, bool useKnownList) { OptimizationParameterList qmrrParamsStart = OptimizationParameterList.GetInstance( OptimizationParameter.GetProbabilityInstance("causePrior", .01, true), OptimizationParameter.GetProbabilityInstance("link", .5, true), OptimizationParameter.GetProbabilityInstance("leakProbability", .003, true), OptimizationParameter.GetPositiveFactorInstance("useKnownList", useKnownList ? 1 : 0, false) ); ModelLikelihoodFactories modelLikelihoodFactories = ModelLikelihoodFactories.GetInstanceThreeParamSlow(qmrrParamsStart); double depth = 1.5; string dataset = string.Format(@"{0}\{1}", directory, casename); QmrrModelAllPeptides qmrrModel = QmrrModelAllPeptides.GetInstance(modelLikelihoodFactories, dataset, qmrrParamsStart, depth, "noConstraints"); return(qmrrModel); }