/// <summary> /// Default constructor for a MultiAlign analysis object. /// </summary> public MultiAlignAnalysis() { // Meta Data Information about the analysis and datasets. MetaData = new AnalysisMetaData {AnalysisName = string.Empty}; Options = new MultiAlignAnalysisOptions(); MassTagDatabase = new MassTagDatabase(); // Alignment options and data. AlignmentData = new List<classAlignmentData>(); MatchResults = null; }
/// <summary> /// Constructs the baseline databases. /// </summary> private bool ConstructBaselines(InputAnalysisInfo analysisSetupInformation, AnalysisMetaData analysisMetaData, bool useMtdb) { Logger.PrintMessage("Confirming baseline selections."); if (useMtdb) { switch (analysisSetupInformation.Database.DatabaseFormat) { case MassTagDatabaseFormat.MassTagSystemSql: Logger.PrintMessage("Using Mass Tag Database:"); Logger.PrintMessage(string.Format("\tServer: {0}", analysisSetupInformation.Database.DatabaseServer)); Logger.PrintMessage(string.Format("\tDatabase Name: {0}", analysisSetupInformation.Database.DatabaseName)); m_config.Analysis.MetaData.Database = analysisSetupInformation.Database; break; case MassTagDatabaseFormat.Sqlite: Logger.PrintMessage("Using local Sqlite Mass Tag Database at location: "); Logger.PrintMessage(string.Format("\tFull Path: {0}", analysisSetupInformation.Database.LocalPath)); Logger.PrintMessage(string.Format("\tDatabase Name: {0}", Path.GetFileName(analysisSetupInformation.Database.LocalPath))); m_config.Analysis.MetaData.Database = analysisSetupInformation.Database; break; case MassTagDatabaseFormat.DelimitedTextFile: Logger.PrintMessage("Using local MetaSample Mass Tag Database at location: "); Logger.PrintMessage(string.Format("\tFull Path: {0}", analysisSetupInformation.Database.LocalPath)); Logger.PrintMessage(string.Format("\tDatabase Name: {0}", Path.GetFileName(analysisSetupInformation.Database.LocalPath))); m_config.Analysis.MetaData.Database = analysisSetupInformation.Database; break; } // Validate the baseline if (analysisSetupInformation.BaselineFile == null) { m_config.Analysis.Options.AlignmentOptions.IsAlignmentBaselineAMasstagDB = true; Logger.PrintMessage(string.Format("Using mass tag database {0} as the alignment baseline.", analysisSetupInformation.Database.DatabaseName)); } else { m_config.Analysis.Options.AlignmentOptions.IsAlignmentBaselineAMasstagDB = false; m_config.Analysis.MetaData.BaselineDataset = null; foreach (var info in analysisMetaData.Datasets) { if (info.Features.Path == analysisSetupInformation.BaselineFile.Path) { m_config.Analysis.MetaData.BaselineDataset = info; info.IsBaseline = true; m_config.Analysis.DataProviders.DatasetCache.Update(info); } } Logger.PrintMessage(string.Format("Using dataset {0} as the alignment baseline.", m_config.Analysis.MetaData.BaselineDataset)); } } else { m_config.Analysis.MetaData.Database = analysisSetupInformation.Database; m_config.Analysis.Options.AlignmentOptions.IsAlignmentBaselineAMasstagDB = false; if (analysisSetupInformation.BaselineFile == null) { Logger.PrintMessage("No baseline dataset or database was selected."); return false; } m_config.Analysis.MetaData.BaselineDataset = null; foreach (var info in analysisMetaData.Datasets) { if (info.Features.Path == analysisSetupInformation.BaselineFile.Path) { info.IsBaseline = true; m_config.Analysis.MetaData.BaselineDataset = info; m_config.Analysis.DataProviders.DatasetCache.Update(info); } } Logger.PrintMessage(string.Format("Using dataset {0} as the alignment baseline.", m_config.Analysis.MetaData.BaselineDataset)); } return true; }