def test_priorityAssignment():
    
    MSParameters.molecular_search.error_method = 'None'
    MSParameters.molecular_search.min_ppm_error  = -3
    MSParameters.molecular_search.max_ppm_error = 5
    MSParameters.molecular_search.mz_error_range = 1
    MSParameters.molecular_search.isProtonated = True 
    MSParameters.molecular_search.isRadical= True 
    MSParameters.molecular_search.isAdduct= False 
    usedatoms = {'C': (1,100) , 'H': (4,200), 'O': (1,10)}
    MSParameters.molecular_search.usedAtoms = usedatoms
    
    mass_spec_obj = create_mass_spectrum()
    mass_spec_obj.process_mass_spec()

    assignOx = OxygenPriorityAssignment(mass_spec_obj) 

    assignOx.run() 

    #test classification 
    mass_spec_obj.percentile_assigned()

    mass_spectrum_by_classes = HeteroatomsClassification(mass_spec_obj)

    mass_spectrum_by_classes.plot_ms_assigned_unassigned()
    
    mass_spectrum_by_classes.atoms_ratio_all("H", "C")

    mass_spectrum_by_classes.atoms_ratio_all("H", "C")
def run_assignment(file_location):

    #mass_spectrum = run_bruker(file_location)
    mass_spectrum = get_masslist(file_location)

    mass_spectrum.molecular_search_settings.error_method = 'None'
    mass_spectrum.molecular_search_settings.min_ppm_error = -1
    mass_spectrum.molecular_search_settings.max_ppm_error = 1

    mass_spectrum.molecular_search_settings.url_database = "postgres://*****:*****@localhost:5432/molformula"
    mass_spectrum.molecular_search_settings.min_dbe = 0
    mass_spectrum.molecular_search_settings.max_dbe = 50

    mass_spectrum.molecular_search_settings.usedAtoms['C'] = (1, 100)
    mass_spectrum.molecular_search_settings.usedAtoms['H'] = (4, 200)
    mass_spectrum.molecular_search_settings.usedAtoms['O'] = (1, 22)
    mass_spectrum.molecular_search_settings.usedAtoms['N'] = (0, 0)
    mass_spectrum.molecular_search_settings.usedAtoms['S'] = (0, 0)
    mass_spectrum.molecular_search_settings.usedAtoms['Cl'] = (0, 0)
    mass_spectrum.molecular_search_settings.usedAtoms['Br'] = (0, 0)
    mass_spectrum.molecular_search_settings.usedAtoms['P'] = (0, 0)
    mass_spectrum.molecular_search_settings.usedAtoms['Na'] = (0, 0)
    mass_spectrum.molecular_search_settings.isProtonated = True
    mass_spectrum.molecular_search_settings.isRadical = False
    mass_spectrum.molecular_search_settings.isAdduct = False

    #mass_spectrum.filter_by_max_resolving_power(15, 2)
    SearchMolecularFormulas(mass_spectrum,
                            first_hit=False).run_worker_mass_spectrum()
    mass_spectrum.percentile_assigned(report_error=True)

    mass_spectrum.to_csv("15T_Neg_ESI_SRFA")

    export_calc_isotopologues(mass_spectrum,
                              "15T_Neg_ESI_SRFA_Calc_Isotopologues")

    mass_spectrum_by_classes = HeteroatomsClassification(
        mass_spectrum, choose_molecular_formula=True)
    mass_spectrum_by_classes.plot_ms_assigned_unassigned()

    #plt.show()
    # dataframe = mass_spectrum_by_classes.to_dataframe()
    return (mass_spectrum, mass_spectrum_by_classes)
def run_assignment(file_location):

    # mass_spectrum = run_bruker(file_location)
    # mass_spectrum = get_masslist(file_location)
    mass_spectrum = run_thermo(file_location)

    mass_spectrum.molecular_search_settings.error_method = 'None'
    mass_spectrum.molecular_search_settings.min_ppm_error = -5
    mass_spectrum.molecular_search_settings.max_ppm_error = 5

    mass_spectrum.molecular_search_settings.url_database = None
    mass_spectrum.molecular_search_settings.min_dbe = 0
    mass_spectrum.molecular_search_settings.max_dbe = 50

    mass_spectrum.molecular_search_settings.usedAtoms['C'] = (1, 100)
    mass_spectrum.molecular_search_settings.usedAtoms['H'] = (4, 200)
    mass_spectrum.molecular_search_settings.usedAtoms['O'] = (1, 30)
    mass_spectrum.molecular_search_settings.usedAtoms['N'] = (0, 0)
    mass_spectrum.molecular_search_settings.usedAtoms['S'] = (0, 0)
    mass_spectrum.molecular_search_settings.usedAtoms['Cl'] = (0, 0)
    mass_spectrum.molecular_search_settings.usedAtoms['Br'] = (0, 0)
    mass_spectrum.molecular_search_settings.usedAtoms['P'] = (0, 0)
    mass_spectrum.molecular_search_settings.usedAtoms['Na'] = (0, 0)

    mass_spectrum.molecular_search_settings.isProtonated = True
    mass_spectrum.molecular_search_settings.isRadical = False
    mass_spectrum.molecular_search_settings.isAdduct = False

    # mass_spectrum.filter_by_max_resolving_power(15, 2)
    SearchMolecularFormulas(mass_spectrum,
                            first_hit=False).run_worker_mass_spectrum()

    mass_spectrum.percentile_assigned(report_error=True)
    mass_spectrum.molecular_search_settings.score_method = "prob_score"
    mass_spectrum.molecular_search_settings.output_score_method = "prob_score"

    # export_calc_isotopologues(mass_spectrum, "15T_Neg_ESI_SRFA_Calc_Isotopologues")

    mass_spectrum_by_classes = HeteroatomsClassification(
        mass_spectrum, choose_molecular_formula=True)

    mass_spectrum_by_classes.plot_ms_assigned_unassigned()
    plt.show()
    mass_spectrum_by_classes.plot_mz_error()
    plt.show()
    mass_spectrum_by_classes.plot_ms_class("O2")
    plt.show()
    # dataframe = mass_spectrum_by_classes.to_dataframe()
    return mass_spectrum
Exemple #4
0
mass_spectrum.molecular_search_settings.isProtonated = True
mass_spectrum.molecular_search_settings.isRadical = False
mass_spectrum.molecular_search_settings.isAdduct = False

# mass_spectrum.filter_by_max_resolving_power(15, 2)
SearchMolecularFormulas(mass_spectrum,
                        first_hit=False).run_worker_mass_spectrum()

mass_spectrum.percentile_assigned(report_error=True)
mass_spectrum.molecular_search_settings.score_method = "prob_score"
mass_spectrum.molecular_search_settings.output_score_method = "prob_score"

# export_calc_isotopologues(mass_spectrum, "15T_Neg_ESI_SRFA_Calc_Isotopologues")

mass_spectrum_by_classes = HeteroatomsClassification(
    mass_spectrum, choose_molecular_formula=True)

mass_spectrum_by_classes.plot_ms_assigned_unassigned()
plt.show()
mass_spectrum_by_classes.plot_mz_error()
plt.show()
mass_spectrum_by_classes.plot_ms_class("O2")
plt.show()

mass_spectrum.molecular_search_settings.error_method = 'None'
mass_spectrum.molecular_search_settings.min_ppm_error = -2
mass_spectrum.molecular_search_settings.max_ppm_error = 4

mass_spectrum.molecular_search_settings.url_database = None
mass_spectrum.molecular_search_settings.min_dbe = 0
mass_spectrum.molecular_search_settings.max_dbe = 50
Exemple #5
0
    mass_spectrum.molecular_search_settings.usedAtoms['Cl'] = (0, 0)
    mass_spectrum.molecular_search_settings.usedAtoms['P'] = (0, 0)
    mass_spectrum.molecular_search_settings.usedAtoms['Na'] = (0, 0)
    mass_spectrum.molecular_search_settings.usedAtoms['K'] = (0, 0)
    mass_spectrum.molecular_search_settings.usedAtoms['Fe'] = (0, 0)
    mass_spectrum.molecular_search_settings.usedAtoms['Se'] = (0, 0)
    mass_spectrum.molecular_search_settings.isProtonated = True
    mass_spectrum.molecular_search_settings.isRadical = False
    mass_spectrum.molecular_search_settings.isAdduct = True

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

    mass_spectrum.percentile_assigned()

    mass_spectrum_by_classes = HeteroatomsClassification(
        mass_spectrum, choose_molecular_formula=False)

    mass_spectrum_by_classes.plot_ms_assigned_unassigned()

    plt.show()
    all_classes = 0
    for classe in mass_spectrum_by_classes.get_classes(threshold_perc=0,
                                                       isotopologue=True):

        mass_spectrum_by_classes.plot_dbe_vs_carbon_number(classe)
        #plt.show()

        mass_spectrum_by_classes.plot_ms_class(classe)
        plt.show()

        mass_spectrum_by_classes.plot_mz_error_class(classe)
def create_plots(mass_spectrum, workflow_params, dirloc):

    ms_by_classes = HeteroatomsClassification(mass_spectrum,
                                              choose_molecular_formula=False)

    if workflow_params.plot_ms_assigned_unassigned:
        print("Plotting assigned vs. unassigned mass spectrum")
        ax_ms = ms_by_classes.plot_ms_assigned_unassigned()
        plt.savefig(dirloc / "assigned_unassigned.png", bbox_inches='tight')
        plt.clf()

    if workflow_params.plot_mz_error:
        print("Plotting mz_error")
        ax_ms = ms_by_classes.plot_mz_error()
        plt.savefig(dirloc / "mz_error.png", bbox_inches='tight')
        plt.clf()

    if workflow_params.plot_van_krevelen:
        van_krevelen_dirloc = dirloc / "van_krevelen"
        van_krevelen_dirloc.mkdir(exist_ok=True, parents=True)

    if workflow_params.plot_c_dbe:
        c_dbe_dirloc = dirloc / "dbe_vs_c"
        c_dbe_dirloc.mkdir(exist_ok=True, parents=True)

    if workflow_params.plot_ms_classes:
        ms_class_dirloc = dirloc / "ms_class"
        ms_class_dirloc.mkdir(exist_ok=True, parents=True)

    if workflow_params.plot_mz_error_classes:
        mz_error_class_dirloc = dirloc / "mz_error_class"
        mz_error_class_dirloc.mkdir(exist_ok=True, parents=True)

    pbar = tqdm(ms_by_classes.get_classes())

    for classe in pbar:

        pbar.set_description_str(
            desc="Plotting results for class {}".format(classe), refresh=True)

        if workflow_params.plot_van_krevelen:
            ax_c = ms_by_classes.plot_van_krevelen(classe)
            plt.savefig(van_krevelen_dirloc / "{}.png".format(classe),
                        bbox_inches='tight')
            plt.clf()

        if workflow_params.plot_mz_error_classes:
            ax_c = ms_by_classes.plot_mz_error_class(classe)
            plt.savefig(mz_error_class_dirloc / "{}.png".format(classe),
                        bbox_inches='tight')
            plt.clf()

        if workflow_params.plot_ms_classes:
            ax_c = ms_by_classes.plot_ms_class(classe)
            plt.savefig(ms_class_dirloc / "{}.png".format(classe),
                        bbox_inches='tight')
            plt.clf()

        if workflow_params.plot_c_dbe:
            ax_c = ms_by_classes.plot_dbe_vs_carbon_number(classe)
            plt.savefig(c_dbe_dirloc / "{}.png".format(classe),
                        bbox_inches='tight')
            plt.clf()
Exemple #7
0
def test_heteroatoms_classification():

    MSParameters.molecular_search.error_method = 'None'
    MSParameters.molecular_search.min_ppm_error  = -10
    MSParameters.molecular_search.max_ppm_error = 10
    MSParameters.molecular_search.mz_error_range = 1
    MSParameters.molecular_search.isProtonated = True 
    MSParameters.molecular_search.isRadical= False 
    MSParameters.molecular_search.isAdduct= False 
    
    MSParameters.molecular_search.usedAtoms['C'] = (1, 100)
    MSParameters.molecular_search.usedAtoms['H'] = (4, 200)
    MSParameters.molecular_search.usedAtoms['O'] = (1, 18)
    #MSParameters.molecular_search.usedAtoms = usedatoms
    
    mass_spec_obj = create_mass_spectrum()
    
    assignOx = SearchMolecularFormulas(mass_spec_obj).run_worker_mass_spectrum()
    
    #test classification 
    mass_spec_obj.percentile_assigned()

    mass_spectrum_by_classes = HeteroatomsClassification(mass_spec_obj)

    mass_spectrum_by_classes.plot_ms_assigned_unassigned()
    
    mass_spectrum_by_classes.atoms_ratio_all("H", "C")

    mass_spectrum_by_classes.dbe_all()

    mass_spectrum_by_classes.carbon_number_all()

    mass_spectrum_by_classes.abundance_assigned()

    mass_spectrum_by_classes.mz_exp_assigned()

    mass_spectrum_by_classes.abundance_count_percentile(Labels.unassigned)

    mass_spectrum_by_classes.peaks_count_percentile(Labels.unassigned)