Пример #1
0
        private bool SetMiseqFlow()
        {
            viewParameters = GetFlowProperties();
            if (viewParameters == null)
            {
                return(false);
            }

            this.flow = new MiseqFlow(viewParameters, mainLog);
            return(true);
        }
Пример #2
0
        private bool SetMinionFlow()
        {
            if (!isFast5Analysis())
            {
                return(false);
            }

            // 2020.01.20 混合は認めない。
            if (InputFolderFileCheck(SelectDataList))
            {
                return(false);
            }


            var analysisProperties = string.Empty;
            IEnumerable <Barcode2Name> barcodeList = null;

            if (SelectDataList.Where(s => Directory.Exists(s) || s.EndsWith(".fast5")).Any())
            {
                bool isBarcodeComit = false;
                using (var barcodeView = new BarcodeManagementViewModel(this.SelectDataList, this.IsOneSample, this.IsBarcode))
                {
                    Messenger.Raise(new TransitionMessage(barcodeView, "BarcodeManagementCommand"));
                    barcodeList        = barcodeView.BarcodeList; // user input sample-names
                    analysisProperties = barcodeView.SelectedConfig;
                    isBarcodeComit     = barcodeView.IsCommand;
                };

                // barcode view で、ボタン押下以外でCloseした。
                if (!isBarcodeComit)
                {
                    return(false);
                }
            }
            viewParameters = GetFlowProperties(barcodeList, analysisProperties);
            if (viewParameters == null)
            {
                return(false);
            }

            this.flow = new MinionFlow(viewParameters, mainLog);
            return(true);
        }
Пример #3
0
        private void Anarysis()
        {
            if (!IsAnalysisOK())
            {
                return;                    // 必要なものがない。
            }
            // defalt parameter name save.
            if (_isMinion)
            {
                Properties.Settings.Default.minion_param = _selectedParameter;
            }
            if (_isMiseq)
            {
                Properties.Settings.Default.miseq_param = _selectedParameter;
            }
            Properties.Settings.Default.Save();

            var analysisProperties = string.Empty;
            AnalysisViewParameters viewParameters = null;

            // minion ?
            if (_isMinion)
            {
                if (!isFast5Analysis())
                {
                    return;
                }

                // 2020.01.20 混合は認めない。
                if (InputFolderFileCheck(SelectDataList))
                {
                    return;
                }

                // var sampleList = new ObservableCollection<Barcode2Name>();

                IEnumerable <Barcode2Name> barcodeList = null;
                if (_selectDataList.Where(s => Directory.Exists(s) || s.EndsWith(".fast5")).Any())
                {
                    bool isBarcodeComit = false;
                    using (var barcodeView = new BarcodeManagementViewModel(this._selectDataList, this._isOneSample, this._isBarcode))
                    {
                        Messenger.Raise(new TransitionMessage(barcodeView, "BarcodeManagementCommand"));
                        barcodeList        = barcodeView.BarcodeList; // user input sample-names
                        analysisProperties = barcodeView.SelectedConfig;
                        isBarcodeComit     = barcodeView.IsCommand;
                    };

                    // barcode view で、ボタン押下以外でCloseした。
                    if (!isBarcodeComit)
                    {
                        return;
                    }
                }
                viewParameters = GetFlowProperties(barcodeList, analysisProperties);

                if (viewParameters != null)
                {
                    flow = new MinionFlow(viewParameters, mainLog);
                }
            }

            if (_isMiseq)
            {   // Miseq flow
                viewParameters = GetFlowProperties();
                if (viewParameters != null)
                {
                    flow = new MiseqFlow(viewParameters, mainLog);
                }
            }

            // Select folder cancel.
            if (viewParameters == null)
            {
                return;
            }

            // flow properties が 正常 = ユーザが save Dir を指定した。
            if (flow != null)
            {
                AnalysisButton = buttonCancel;
                // タスクマネージャ起動
                System.Diagnostics.Process.Start(
                    new System.Diagnostics.ProcessStartInfo("taskmgr")
                {
                    UseShellExecute = true
                });

                _ = ProcessAsync(flow);
            }
        }