예제 #1
0
        //Главная кнопка
        private void DoWork()
        {
            //а я не знаю почему оно само туда не лезет
            MascotProc.iLog = this;
            Settings.Default.DatFileName = DatFileName.Text;
            LockFDR();

            //Разбор Mascot
            RepProgress(0);
            if (mp!=null && db == null){
                Log("Parsing and grouping Mascot results:");
                MascotProc.FillMSMSLists(ref Mascots, ref MSMSList, ref Proteins, mp);
            }
            //или переразбор текстового файла
            if (tabsr!=null && db == null){
                tabsr = new StreamReader(DatFileName.Text);
                MascotProc.FillMSMSLists(ref Mascots, ref MSMSList, ref Proteins, tabsr);
                tabsr.Close();
            }

            //сохранение разбора маскот в базу данных
            String dbName = DBFileName.Text;
            if (db == null || db.GetFileName()!=DBFileName.Text){
                db = new DBInterface();
                db.CreateNewDB(dbName);
                SaveSettingsDB();
                db.SaveProteins(Proteins);
                db.SaveMSMS(Mascots,true);
                if (Settings.Default.QuantiAll){
                    db.SaveMSMS(MSMSList,false);
                }else{
                    MSMSList = Mascots;
                }
            }

            //MSMSList = Mascots;
            RepProgress(0);

            try {

                //копируем список файлов
                Files = new List<string>();
                for (int i = 0 ; i < RawList.Items.Count ; i++){
                    //если файлы еще не обработаны
                    if (!(RawList.Items[i].BackColor == Color.FromArgb(214,253,200))){
                        Files.Add(RawList.Items[i].Text);
                    }
                }
                //Создаем процессы вместе с прогресс-индикаторами
                CreateProcesses(Files.Count);
                if (Files.Count>0){
                    InitMatches();
                }
                NextAvialable = 0;
                Processed = 0;
                if (Files.Count > 0){ //запускаем обработку сырых файлов
                    timer1.Enabled = true;
                }else{ //или сразу формируем отчет
                    ReportWork();
                    WorkCompleted(null);
                }
            }
            catch(Exception e){
                Log(e.Message,MessageBoxIcon.Error,e.StackTrace);
            }
        }
예제 #2
0
 private void Form1_Load(object sender, EventArgs e)
 {
     //if (File.Exists(Settings.Default.DatFileName)){
     //    DatFileName.Text = Settings.Default.DatFileName;
     //    mp = new Mascot.MascotParser();
     //    mp.ParseFile(Settings.Default.DatFileName);
     //    OutPathName.Text = Path.GetDirectoryName(DatFileName.Text);
     //    folderBrowserDialog1.SelectedPath = Path.GetDirectoryName(DatFileName.Text);
     //}else{
     //    DatFileName.Text = "";
     //}
     DatFileName.Text = "";
     DBFileName.Text = "";
     ReferenceFile = "None";
     LoadReportVector();
     TimeColumn.Width = 75;
     MessageHeader.Width = LogList.Width-100;
     RefCombo.SelectedIndex = 0;
     ZeroSubstBox.SelectedIndex = 0;
     LockRefFeatures(true);
     RefNumber = -1;
     db = null;
     DBInterface.iLog = this;
     RawList_ClientSizeChanged(null, null);
     LogList_ClientSizeChanged(null, null);
 }
예제 #3
0
 private void dbOpenButton_Click(object sender, EventArgs e)
 {
     if(DBFileDialog.ShowDialog() != DialogResult.OK)  {
         return;
     }
     OutPathName.Text = Path.GetDirectoryName(DBFileDialog.FileName);
     DBFileName.Text = DBFileDialog.FileName;
     if ( db == null ) {
         db = new DBInterface();
     }
     db.ConnectTo(DBFileName.Text);
     LoadSettings();
     LoadFileList();
     LockForDB(true);
     LoadData();
 }