Пример #1
0
        /// <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;
        }
Пример #2
0
        /// <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;
        }