Beispiel #1
0
def create_mass_spectrum():
    
    '''parse transient data from Bruker into a mass spectrum class object

        Parameters
        ----------
        file_location: str
            The full path of the *.d data folder
        
        Returns
        -------
        MassSpecfromFreq() class
           (See MassSpecfromFreq class for more details)
        '''
    
    file_location = Path.cwd() / "tests/tests_data/ESI_NEG_SRFA.d/"
    bruker_reader = ReadBrukerSolarix(file_location)
    bruker_transient = bruker_reader.get_transient()

    MSParameters.mass_spectrum.threshold_method = 'auto'
    MSParameters.mass_spectrum.noise_threshold_std = 3
    MSParameters.ms_peak.peak_min_prominence_percent = 0.01

    mass_spectrum = bruker_transient.get_mass_spectrum(plot_result=False,
                                                    auto_noise=True,
                                                    auto_process=True,
                                                    keep_profile=True)
    
    
    return mass_spectrum
def get_mass_spectrum(file_location):

    bruker_reader = ReadBrukerSolarix(file_location)

    bruker_transient = bruker_reader.get_transient()

    return bruker_transient.get_mass_spectrum(plot_result=False,
                                              auto_process=True)
Beispiel #3
0
def test_create_mass_spectrum():

    file_location = Path.cwd() / "tests/tests_data/ESI_NEG_SRFA.d/"

    bruker_reader = ReadBrukerSolarix(file_location)

    TransientSetting.apodization_method = 'Hamming'
    bruker_transient = bruker_reader.get_transient()

    TransientSetting.apodization_method = 'Blackman'
    TransientSetting.number_of_truncations = 1
    bruker_transient = bruker_reader.get_transient()

    mass_spectrum_obj = bruker_transient.get_mass_spectrum(plot_result=False,
                                                           auto_process=True)

    MassSpectrumSetting.threshold_method = 'signal_noise'
    mass_spectrum_obj = bruker_transient.get_mass_spectrum(plot_result=False,
                                                           auto_process=True)

    MassSpectrumSetting.threshold_method = 'relative_abundance'
    mass_spectrum_obj = bruker_transient.get_mass_spectrum(plot_result=False,
                                                           auto_process=True)

    mass_spectrum_obj.freq_exp
    mass_spectrum_obj.dir_location
    mass_spectrum_obj.resolving_power
    mass_spectrum_obj.signal_to_noise
    mass_spectrum_obj.max_abundance
    mass_spectrum_obj.filter_by_mz(200, 1000)
    mass_spectrum_obj.reset_indexes()
    mass_spectrum_obj.filter_by_abundance(0, 1000)
    mass_spectrum_obj.reset_indexes()
    mass_spectrum_obj.filter_by_max_resolving_power(12, 3)
    mass_spectrum_obj.reset_indexes()
    mass_spectrum_obj.filter_by_min_resolving_power(15, 3)
    mass_spectrum_obj.reset_indexes()
    mass_spectrum_obj.filter_by_noise_threshold()
    mass_spectrum_obj.reset_indexes()
    mass_spectrum_obj.get_mz_and_abundance_peaks_tuples()
    mass_spectrum_obj.get_masses_count_by_nominal_mass()
    mass_spectrum_obj.resolving_power_calc(12, 1)
    mass_spectrum_obj._f_to_mz()
    mass_spectrum_obj.number_average_molecular_weight(profile=True)

    mass_spectrum_obj.reset_cal_therms(mass_spectrum_obj.Aterm,
                                       mass_spectrum_obj.Bterm,
                                       mass_spectrum_obj.Cterm)

    mass_spectrum_obj.reset_indexes()
    kendrick_group_index = mass_spectrum_obj.kendrick_groups_indexes()

    mass_spectrum_obj.reset_indexes()

    return mass_spectrum_obj, kendrick_group_index
Beispiel #4
0
    def get_mass_spectrum(self, scan_number):
        
        bruker_reader = ReadBrukerSolarix(self.lcms.file_location)

        bruker_transient = bruker_reader.get_transient(scan_number)

        mass_spec = bruker_transient.get_mass_spectrum(plot_result=False, 
                                                       auto_process=self.auto_process,
                                                       keep_profile=self.keep_profile, 
                                                       auto_noise=self.auto_noise)

        return mass_spec
Beispiel #5
0
def test_import_transient():

    # from corems.structure.input.MidasDatFile import ReadMidasDatFile
    file_location = Path.cwd() / "tests/tests_data/ESI_NEG_SRFA.d/"

    MSParameters.transient.apodization_method = "Hanning"
    MSParameters.transient.number_of_truncations = 0
    MSParameters.transient.number_of_zero_fills = 1

    with ReadBrukerSolarix(file_location) as bruker_transient:

        MSParameters.mass_spectrum.threshold_method = 'relative_abundance'
        MSParameters.mass_spectrum.relative_abundance_threshold = 10
        MSParameters.ms_peak.peak_min_prominence_percent = 1

        mass_spectrum_obj = bruker_transient.get_mass_spectrum(
            plot_result=False, auto_process=True)

        mass_spectrum_obj.plot_profile_and_noise_threshold()
        #pyplot.show()

        print(len(mass_spectrum_obj))

        print(mass_spectrum_obj.mspeaks[0].mz_exp,
              mass_spectrum_obj.mspeaks[-1].mz_exp)
Beispiel #6
0
def test_mspeaks_fit():

    from matplotlib import pyplot
    file_location = Path.cwd() / "tests/tests_data/ftms/ESI_NEG_SRFA.d/"

    bruker_reader = ReadBrukerSolarix(file_location)

    bruker_transient = bruker_reader.get_transient()

    mass_spectrum_obj = bruker_transient.get_mass_spectrum(plot_result=False,
                                                           auto_process=True)
    i = 0

    mass_spectrum_obj[3].plot_simulation()
    mass_spectrum_obj[3].plot_simulation(sim_type="gaussian",
                                         oversample_multiplier=10)
    mass_spectrum_obj[3].plot_simulation()
Beispiel #7
0
def create_mass_spectrum():

    file_location = Path.cwd() / "tests/tests_data/ESI_NEG_SRFA.d/"

    bruker_reader = ReadBrukerSolarix(file_location)

    bruker_transient = bruker_reader.get_transient()

    mass_spectrum_obj = bruker_transient.get_mass_spectrum(plot_result=False,
                                                           auto_process=True)

    # polariy need to be set if reading a text file
    #polariy = -1
    # load any type of mass list file, change the delimeter to read another type of file, i.e : "," for csv, "\t" for tabulated mass list, etc
    #mass_list_reader = Read_MassList(file_location,  )
    #mass_spectrum_obj  = mass_list_reader.get_mass_spectrum(polarity, auto_process=True)

    return mass_spectrum_obj
Beispiel #8
0
def run_bruker_transient(file_location, corems_params_path):

    with ReadBrukerSolarix(file_location) as transient:

        transient.set_parameter_from_json(corems_params_path)
        mass_spectrum = transient.get_mass_spectrum(plot_result=False,
                                                    auto_process=True)

    return mass_spectrum
Beispiel #9
0
def run_bruker(file_location):

    with ReadBrukerSolarix(file_location) as transient:

        MSParameters.mass_spectrum.threshold_method = 'auto'
        MSParameters.mass_spectrum.s2n_threshold = 6

        mass_spectrum = transient.get_mass_spectrum(plot_result=False, auto_process=True)
        # mass_spectrum.plot_profile_and_noise_threshold()
        # plt.show()

        return mass_spectrum, transient.transient_time
Beispiel #10
0
def run_bruker(file_location):

    with ReadBrukerSolarix(file_location) as transient:

        mass_spectrum = transient.get_mass_spectrum(plot_result=False,
                                                    auto_process=True)

        # find_formula_thread = FindOxygenPeaks(mass_spectrum)
        # find_formula_thread.run()

        # mspeaks_results = find_formula_thread.get_list_found_peaks()
        # calibrate = FreqDomain_Calibration(mass_spectrum, mspeaks_results)
        # calibrate.ledford_calibration()

        # mass_spectrum.clear_molecular_formulas()

        return mass_spectrum
Beispiel #11
0
def run_bruker(file_location):

    with ReadBrukerSolarix(file_location) as transient:

        MSParameters.mass_spectrum.threshold_method = 'auto'
        MSParameters.mass_spectrum.s2n_threshold = 6

        mass_spectrum = transient.get_mass_spectrum(plot_result=False,
                                                    auto_process=True)
        # mass_spectrum.plot_profile_and_noise_threshold()
        # plt.show()
        # find_formula_thread = FindOxygenPeaks(mass_spectrum)
        # find_formula_thread.run()

        # mspeaks_results = find_formula_thread.get_list_found_peaks()
        # calibrate = FreqDomain_Calibration(mass_spectrum, mspeaks_results)
        # calibrate.ledford_calibration()

        # mass_spectrum.clear_molecular_formulas()

        return mass_spectrum, transient.transient_time
Beispiel #12
0
def test_import_transient():

    # from corems.structure.input.MidasDatFile import ReadMidasDatFile
    # file_location = Path.cwd() / "tests/tests_data/SRFAII_20ppm_14Jul2020_IATp08_After_WebEx_1_01_54136.d/"
    file_location = Path.cwd() / "tests/tests_data/ESI_NEG_SRFA.d"

    MSParameters.transient.apodization_method = "Hanning"
    MSParameters.transient.number_of_truncations = 0
    MSParameters.transient.number_of_zero_fills = 1

    with ReadBrukerSolarix(file_location) as bruker_transient:

        #MSParameters.mass_spectrum.threshold_method = 'relative_abundance'
        #MSParameters.mass_spectrum.relative_abundance_threshold = 1

        #MSParameters.mass_spectrum.threshold_method = 'signal_noise'
        #MSParameters.mass_spectrum.s2n_threshold = 50

        MSParameters.mass_spectrum.threshold_method = 'auto'
        MSParameters.mass_spectrum.noise_threshold_std = 3

        MSParameters.ms_peak.peak_min_prominence_percent = 1

        mass_spectrum_obj = bruker_transient.get_mass_spectrum(
            plot_result=False, auto_process=True)
        #from corems.encapsulation.constant import Labels
        #from corems.mass_spectrum.input import numpyArray

        #mass_spectrum_test = numpyArray.ms_from_array_profile(mz=mass_spectrum_obj.mz_exp_profile,
        # abundance=mass_spectrum_obj.abundance_profile,
        # dataname='test',
        # polarity=-1,
        # data_type=Labels.booster_profile,
        # )

        #mass_spectrum_test.plot_mz_domain_profile()

        mass_spectrum_obj.plot_profile_and_noise_threshold()

        pyplot.show()
Beispiel #13
0
from corems.transient.input.brukerSolarix import ReadBrukerSolarix
from corems.molecular_id.search.molecularFormulaSearch import SearchMolecularFormulas
from corems.mass_spectrum.output.export import HighResMassSpecExport
from matplotlib import pyplot

file_path= 'tests/tests_data/ftms/ESI_NEG_SRFA.d'

#Bruker Solarix class reader
bruker_reader = ReadBrukerSolarix(file_path)

#access the transient object
bruker_transient_obj = bruker_reader.get_transient()

#calculates the transient duration time
T =  bruker_transient_obj.transient_time

#access the mass spectrum object
mass_spectrum_obj = bruker_transient_obj.get_mass_spectrum(plot_result=False, auto_process=True)

# - search monoisotopic molecular formulas for all mass spectral peaks
# - calculate fine isotopic structure based on monoisotopic molecular formulas found and current dynamic range
# - search molecular formulas of correspondent calculated isotopologues,
# - settings are stored at SearchConfig.json and can be changed directly on the file or inside the framework class

SearchMolecularFormulas(mass_spectrum_obj, first_hit=False).run_worker_mass_spectrum()

# iterate over mass spectral peaks objs
for mspeak in mass_spectrum_obj.sort_by_abundance():

    # returns true if there is at least one molecular formula associated
    # with the mass spectral peak
Beispiel #14
0
    from matplotlib import pyplot
    import matplotlib
    from pathlib import Path
    #matplotlib.use('Agg')

    #file_name = "20190911_Kew_APPI_Elliot_DRY_IAT100ms_50ulmin_000001.d"
    #file_name = "20190912_Kew_LDI_Elliot_DRY_C4_0_C4_000001.d"
    #file_name= "20190912_kew_ldi_elliot_spe_f4_anchorchip_0_f4_000001.d"
    #file_name = "20190912_Kew_LDI_Elliot_DRY_C4_AnchorChip_0_C4_000001.d"
    #file_name = "20190911_Kew_ESI_Elliot_DRY_IAT100ms_000001.d"
    #file_name = "20190911_Kew_ESI_Elliot_SPE_IAT100ms_000002.d"
    #file_name = "20190912_Kew_LDI_Elliot_Whole_B15_1500um_0_B15_000001.d"
    
    file_location = Path.cwd() / "tests/tests_data/ESI_NEG_SRFA.d"
    
    bruker_reader = ReadBrukerSolarix(file_location)

    bruker_transient = bruker_reader.get_transient()
    
    T = bruker_transient.transient_time
    
    print(T, "T")

    B = 15

    mass_spectrum_obj = bruker_transient.get_mass_spectrum(plot_result=False, auto_process=True)

    #mass_spectrum_obj.plot_profile_and_noise_threshold()
    
    MolecularFormulaSearchSettings = MolecularFormulaSearchSettings()