public int SetUMCS(string file_path, clsUMC [] umcs)
        {
            try
            {
                var index = file_path.LastIndexOf("\\", StringComparison.Ordinal);
                var file  = file_path.Substring(index + 1);

                marr_file_names.Add(file);
                mhash_umc_2_dataset_num [file] = mint_num_datasets;
                marr_dataset_start_index.Add(mint_num_umcs);

                if (marr_umcs.Length < mint_num_umcs + umcs.Length)
                {
                    var temp = new clsUMC[2 * marr_umcs.Length];
                    for (var i = 0; i < mint_num_umcs; i++)
                    {
                        temp[i] = marr_umcs[i];
                    }
                    marr_umcs = temp;
                }
                var num_to_add = umcs.Length;
                var min_scan   = int.MaxValue;
                var max_scan   = int.MinValue;

                for (var i = 0; i < num_to_add; i++)
                {
                    marr_umcs[i + mint_num_umcs] = umcs[i];
                    if (umcs[i].mint_scan < min_scan)
                    {
                        min_scan = umcs[i].mint_scan;
                    }
                    if (umcs[i].mint_scan > max_scan)
                    {
                        max_scan = umcs[i].mint_scan;
                    }
                }
                mint_num_umcs += num_to_add;
                marr_dataset_stop_index.Add(mint_num_umcs);
                marr_dataset_min_scan.Add(min_scan);
                marr_dataset_max_scan.Add(max_scan);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + ex.StackTrace);
            }

            mint_num_datasets++;
            return(mint_num_datasets - 1);
        }
        public clsUMC[] GetUMCS(int dataset_num)
        {
            int start_index = 0, stop_index = 0;

            GetDataIndex(dataset_num, ref start_index, ref stop_index);
            var num_pts = stop_index - start_index;
            var umc_arr = new clsUMC[num_pts];

            try
            {
                int index;
                for (index = start_index; index < stop_index; index++)
                {
                    umc_arr[index - start_index] = marr_umcs[index];
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message + e.StackTrace);
            }
            return(umc_arr);
        }
Exemple #3
0
        public clsUMC[] GetUMCs()
        {
            var numUmcs  = mobj_umc_creator.GetNumUmcs();
            var arr_umcs = new clsUMC[numUmcs];

            for (var umcNum = 0; umcNum < numUmcs; umcNum++)
            {
                var umc    = mobj_umc_creator.mvect_umcs[umcNum];
                var newUmc = new clsUMC
                {
                    mdbl_abundance    = umc.mdbl_sum_abundance,
                    mdbl_class_rep_mz = umc.mdbl_class_rep_mz,
                    mdbl_mono_mass    = umc.mdbl_median_mono_mass
                };

                newUmc.mdbl_mono_mass_calibrated = newUmc.mdbl_mono_mass;

                newUmc.mint_scan       = umc.mint_max_abundance_scan;
                newUmc.mint_start_scan = umc.mint_start_scan;
                newUmc.mint_end_scan   = umc.mint_stop_scan;

                newUmc.mdbl_net = umc.mint_max_abundance_scan;
                if (mobj_umc_creator.mint_lc_max_scan > mobj_umc_creator.mint_lc_min_scan)
                {
                    // Compute Generic NET value
                    newUmc.mdbl_net = (umc.mint_max_abundance_scan - mobj_umc_creator.mint_lc_min_scan) * 1.0 /
                                      (mobj_umc_creator.mint_lc_max_scan - mobj_umc_creator.mint_lc_min_scan);
                }

                newUmc.mint_scan_aligned = umc.mint_max_abundance_scan;

                newUmc.mint_umc_index        = umc.mint_umc_index;
                newUmc.mint_class_rep_charge = umc.mshort_class_rep_charge;
                arr_umcs[umcNum]             = newUmc;
            }

            return(arr_umcs);
        }