示例#1
0
        public void Add(MassSpectrum spectrum)
        {
            SpectrumDataSet.SpectrumTableRow row = spectrumDataSet.SpectrumTable.NewSpectrumTableRow();
            row.Id = spectrum.Id;

            if (nativeIdFormat != CVID.CVID_Unknown)
            {
                gridView.Columns["Id"].Visible = false;

                // guard against case where input is mzXML which
                // is identified as, say, Agilent-derived, but
                // which uses "scan" (as mzXML must) instead
                // of the Agilent "scanID" (as this mzML-centric code expects)
                bool foundit = false;

                string[] nameValuePairs = spectrum.Id.Split(' ');
                foreach (string nvp in nameValuePairs)
                {
                    string[] nameValuePair = nvp.Split('=');
                    if (row.Table.Columns.Contains(nameValuePair[0]))
                    {
                        row[nameValuePair[0]] = nameValuePair[1];
                        foundit = true;
                    }
                }
                if (!foundit)
                {
                    // mismatch between nativeID format and actual (probably mzXML) format
                    // better to show an ill-fit match - eg "scan" (mzXML) and "scanID" (Agilent)
                    // than no info at all
                    string   nativeIdDefinition = new CVTermInfo(nativeIdFormat).def;
                    string[] idPair             = nativeIdDefinition.Split('=');
                    if (row.Table.Columns.Contains(idPair[0]))
                    {
                        string[] valPair = spectrum.Id.Split('=');
                        row[idPair[0]] = (valPair.Length > 1) ? valPair[1] : spectrum.Id;
                        foundit        = true;
                    }
                }
            }

            row.Index = spectrum.Index;
            updateRow(row, spectrum);
            spectrumDataSet.SpectrumTable.AddSpectrumTableRow(row);

            //int rowIndex = gridView.Rows.Add();
            //gridView.Rows[rowIndex].Tag = spectrum;
            spectrum.Tag = this;

            if (spectrum.Element.spotID.Length > 0)
            {
                gridView.Columns["SpotId"].Visible = true;
            }

            //UpdateRow( rowIndex );
        }
示例#2
0
        private void initializeGridView(CVID nativeIdFormat)
        {
            // force handle creation
            IntPtr dummy = gridView.Handle;

            spectrumList = new Dictionary <int, MassSpectrum>();

            this.nativeIdFormat = nativeIdFormat;
            if ((nativeIdFormat != CVID.CVID_Unknown) && (nativeIdFormat != CVID.MS_no_nativeID_format))
            {
                string   nativeIdDefinition = new CVTermInfo(nativeIdFormat).def.Replace("Native format defined by ", "");
                string[] nameValuePairs     = nativeIdDefinition.Split(" ".ToCharArray());
                for (int i = 0; i < nameValuePairs.Length; ++i)
                {
                    string[]           nameValuePair = nameValuePairs[i].Split("=".ToCharArray());
                    DataGridViewColumn nameColumn    = new DataGridViewAutoFilter.DataGridViewAutoFilterTextBoxColumn();
                    nameColumn.Name             = nameValuePair[0] + "NativeIdColumn";
                    nameColumn.HeaderText       = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(nameValuePair[0]);
                    nameColumn.DataPropertyName = nameValuePair[0];
                    gridView.Columns.Insert(1 + i, nameColumn);
                    string type = null;
                    if (nameValuePair[0] == "file" || nameValuePair[1] == "xsd:string")
                    {
                        type = "System.String";
                    }
                    else
                    {
                        type = "System.Int32";
                    }
                    spectrumDataSet.SpectrumTable.Columns.Add(nameValuePair[0], Type.GetType(type));
                }
            }

            gridView.Columns["SpectrumType"].ToolTipText      = new CVTermInfo(CVID.MS_spectrum_type).def;
            gridView.Columns["MsLevel"].ToolTipText           = new CVTermInfo(CVID.MS_ms_level).def;
            gridView.Columns["ScanTime"].ToolTipText          = new CVTermInfo(CVID.MS_scan_start_time).def;
            gridView.Columns["BasePeakMz"].ToolTipText        = new CVTermInfo(CVID.MS_base_peak_m_z).def;
            gridView.Columns["BasePeakIntensity"].ToolTipText = new CVTermInfo(CVID.MS_base_peak_intensity).def;
            gridView.Columns["TotalIonCurrent"].ToolTipText   = new CVTermInfo(CVID.MS_total_ion_current).def;

            gridView.Columns["ScanTime"].HeaderText += Properties.Settings.Default.TimeInMinutes ? " (min)" : " (sec)";

            gridView.DataBindingComplete += new DataGridViewBindingCompleteEventHandler(gridView_DataBindingComplete);
        }
示例#3
0
		private void initializeGridView( CVID nativeIdFormat )
		{
            // force handle creation
            IntPtr dummy = gridView.Handle;
            spectrumList = new Dictionary<int, MassSpectrum>();

            this.nativeIdFormat = nativeIdFormat;
            if ((nativeIdFormat != CVID.CVID_Unknown) && (nativeIdFormat != CVID.MS_no_nativeID_format))
            {
                string nativeIdDefinition = new CVTermInfo( nativeIdFormat ).def.Replace("Native format defined by ", "");
                string[] nameValuePairs = nativeIdDefinition.Split( " ".ToCharArray() );
                for( int i = 0; i < nameValuePairs.Length; ++i )
                {
                    string[] nameValuePair = nameValuePairs[i].Split( "=".ToCharArray() );
                    DataGridViewColumn nameColumn = new DataGridViewAutoFilter.DataGridViewAutoFilterTextBoxColumn();
                    nameColumn.Name = nameValuePair[0];
                    nameColumn.HeaderText = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase( nameValuePair[0] );
                    nameColumn.DataPropertyName = nameValuePair[0];
                    gridView.Columns.Insert( 1 + i, nameColumn );
                    string type = null;
                    if( nameValuePair[0] == "file" )
                        type = "System.String";
                    else
                        type = "System.Int32";
                    spectrumDataSet.SpectrumTable.Columns.Add( nameValuePair[0], Type.GetType( type ) );
                }
            }

            gridView.Columns["SpectrumType"].ToolTipText = new CVTermInfo(CVID.MS_spectrum_type).def;
            gridView.Columns["MsLevel"].ToolTipText = new CVTermInfo( CVID.MS_ms_level ).def;
            gridView.Columns["ScanTime"].ToolTipText = new CVTermInfo( CVID.MS_scan_start_time ).def;
            gridView.Columns["BasePeakMz"].ToolTipText = new CVTermInfo( CVID.MS_base_peak_m_z ).def;
            gridView.Columns["BasePeakIntensity"].ToolTipText = new CVTermInfo( CVID.MS_base_peak_intensity ).def;
            gridView.Columns["TotalIonCurrent"].ToolTipText = new CVTermInfo( CVID.MS_total_ion_current ).def;

            gridView.DataBindingComplete += new DataGridViewBindingCompleteEventHandler( gridView_DataBindingComplete );
        }
示例#4
0
		public void Add( MassSpectrum spectrum )
		{
            SpectrumDataSet.SpectrumTableRow row = spectrumDataSet.SpectrumTable.NewSpectrumTableRow();
            row.Id = spectrum.Id;

            if( nativeIdFormat != CVID.CVID_Unknown )
            {
                gridView.Columns["Id"].Visible = false;

                // guard against case where input is mzXML which
                // is identified as, say, Agilent-derived, but 
                // which uses "scan" (as mzXML must) instead
                // of the Agilent "scanID" (as this mzML-centric code expects)
                bool foundit = false;

                string[] nameValuePairs = spectrum.Id.Split(' ');
                foreach( string nvp in nameValuePairs )
                {
                    string[] nameValuePair = nvp.Split('=');
                    if (row.Table.Columns.Contains(nameValuePair[0]))
                    {
                        row[nameValuePair[0]] = nameValuePair[1];
                        foundit = true;
                    }
                }
                if (!foundit)
                {
                    // mismatch between nativeID format and actual (probably mzXML) format
                    // better to show an ill-fit match - eg "scan" (mzXML) and "scanID" (Agilent)
                    // than no info at all
                    string nativeIdDefinition = new CVTermInfo(nativeIdFormat).def;
                    string[] idPair = nativeIdDefinition.Split('=');
                    if (row.Table.Columns.Contains(idPair[0]))
                    {
                        string[] valPair = spectrum.Id.Split('=');
                        row[idPair[0]] = (valPair.Length > 1) ? valPair[1] : spectrum.Id;
                        foundit = true;
                    }
                }
            }

            row.Index = spectrum.Index;
            updateRow( row, spectrum );
            spectrumDataSet.SpectrumTable.AddSpectrumTableRow( row );

            //int rowIndex = gridView.Rows.Add();
			//gridView.Rows[rowIndex].Tag = spectrum;
            spectrum.Tag = this;

            if( spectrum.Element.spotID.Length > 0 )
                gridView.Columns["SpotId"].Visible = true;

            //UpdateRow( rowIndex );
		}