示例#1
0
        private List <Analysis> CreateAnalysis(List <DataTypes.ISample> samples)
        {
            var psetFileList = new  PSetDataFileList();

            foreach (DataTypes.ISample sample in samples)
            {
                if (sample.HideOrShow)
                {
                    List <string> sampleGroupTitles = sample.GetDefaultGroupingTitles();
                    List <string> sampleGroups      = sample.GetDefaultSampleGroups();
                    psetFileList.SelectedFileName.Add(new BatchExtractorFileSelect(sample.FileName, sample.HideOrShow, sampleGroups, sampleGroupTitles));
                }
            }
            InputParametersUtil.SavePSet(qualAppLogic, psetFileList, QualInMemoryMethod.ParamDataFileList);

            Console.WriteLine("Creating Analysis");
            List <Analysis> Analyses = new List <Analysis>();

            if (m_analysisFiles.Count <= 0)
            {
                return(Analyses);
            }
            AnalysisMethodLoadOptions loadMethod = AnalysisMethodLoadOptions.LoadFromWorklist;

            bool loadResults                    = false;
            bool runLoadTimeScripts             = false;
            CmdOpenAnalysisFile cmdOpenAnalysis = new CmdOpenAnalysisFile
                                                      (qualAppLogic,
                                                      m_analysisFiles.ToArray(),
                                                      loadMethod,
                                                      loadResults,
                                                      runLoadTimeScripts);

            ExecuteCommand(qualAppLogic, cmdOpenAnalysis);


            foreach (string analysisPath in m_analysisFiles)
            {
                Analysis anlysis = qualAppLogic.DataHeirarchy.AnalysisStore.Values.Cast <Analysis>().First(a => a.FilePath == analysisPath);
                Analyses.Add(anlysis);
            }
            Console.WriteLine("Analysis Creation Done");
            return(Analyses);
        }
示例#2
0
        public List <DataTypes.CompoundGroup> GetCompoundGroups(List <string> analysisFiles)
        {
            try
            {
                qualAppLogic.AppExecutionMode = AppExecutionMode.WorkListAutomation;
                CmdInitializeApplication cmdInit = new CmdInitializeApplication(qualAppLogic);
                ExecuteCommand(qualAppLogic, cmdInit);

                QualFeatureConfig.InitRegistryFromAppConfig();
                qualAppLogic.AppProgressEvent += new AppProgressEventHandler(OnAppProgressEvent);
                IAppState appState = qualAppLogic as IAppState;

                //appState.ThreadErrorReporter = m_messageReporter;

                AnalysisMethodLoadOptions loadMethod = GetAnalysisMethodLoadOptions(null);
                //if (analysisFiles.Count > 0)
                //{
                bool loadResults        = false;
                bool runLoadTimeScripts = false;

                CmdOpenAnalysisFile cmdOpenAnalysis = new CmdOpenAnalysisFile
                                                          (qualAppLogic,
                                                          analysisFiles.ToArray(),
                                                          loadMethod,
                                                          loadResults,
                                                          runLoadTimeScripts);

                ExecuteCommand(qualAppLogic, cmdOpenAnalysis);

                RunScript(qualAppLogic, analysisFiles);
                IEnumerable <Agilent.MassSpectrometry.DataAnalysis.ICompoundGroup> cpdGroups = qualAppLogic.DataStore.CompoundGroups;
                List <DataTypes.CompoundGroup> compoundGroups = new List <DataTypes.CompoundGroup>();
                foreach (Agilent.MassSpectrometry.DataAnalysis.ICompoundGroup cpdGroup in cpdGroups)
                {
                    DataTypes.CompoundGroup compoundGroup = getICompoundGroup(cpdGroup, analysisFiles) as DataTypes.CompoundGroup;
                    compoundGroups.Add(compoundGroup);
                }
                Console.ReadKey();
            }
            catch (MSDAApplicationException msdaExep)
            {
                Console.WriteLine(msdaExep.Message);
            }
            catch (Exception e)
            {
                string analysisName = "";
                for (int analysisInd = 0; analysisInd < analysisFiles.Count; analysisInd++)
                {
                    if (analysisName == "")
                    {
                        analysisName = analysisFiles[analysisInd];
                    }
                    else
                    {
                        analysisName = analysisName + " , " + analysisFiles[analysisInd];
                    }
                }

                Console.WriteLine(e.StackTrace);
            }
            return(null);
        }