smiter package

Submodules

smiter.cli module

smiter.fragmentation_functions module

Callables for fragmenting molecules.

Upon calling the callabe, a list/np.array of mz and intensities should be returned. Arguments should be passed via *args and **kwargs

class smiter.fragmentation_functions.AbstractFragmentor[source]

Bases: abc.ABC

Summary.

abstract fragment(entity)[source]

Summary.

Args:

entity (TYPE): Description

class smiter.fragmentation_functions.LipidFragmentor(lipid_input_csv: Optional[str] = None, raise_error_for_non_existing_fragments=True)[source]

Bases: smiter.fragmentation_functions.AbstractFragmentor

Summary.

fragment(entities: Union[list, str], raise_error_for_non_existing_fragments=False)[source]

Summary.

Args:

entity (TYPE): Description

class smiter.fragmentation_functions.NucleosideFragmentor(nucleotide_fragment_kb: Optional[Dict[str, dict]] = None, raise_error_for_non_existing_fragments=True)[source]

Bases: smiter.fragmentation_functions.AbstractFragmentor

Summary.

fragment(entities: Union[list, str], raise_error_for_non_existing_fragments=False)[source]

Summary.

Args:

entity (TYPE): Description

class smiter.fragmentation_functions.PeptideFragmentor(*args, **kwargs)[source]

Bases: smiter.fragmentation_functions.AbstractFragmentor

Summary.

fragment(entities)[source]

Summary.

Args:

entity (TYPE): Description

class smiter.fragmentation_functions.PeptideFragmentorPyteomics(*args, **kwargs)[source]

Bases: smiter.fragmentation_functions.AbstractFragmentor

fragment(entities)[source]

Summary.

Args:

entity (TYPE): Description

smiter.lib module

Core functionality.

smiter.lib.calc_mz(mass: float, charge: int)[source]

Calculate m/z.

Args:

mass (TYPE): Description charge (TYPE): Description

smiter.lib.check_mzml_params(mzml_params: dict)dict[source]

Summary.

Args:

mzml_params (dict): Description

Returns:

dict: Description

Raises:

Exception: Description

smiter.lib.check_peak_properties(peak_properties: dict)dict[source]

Summary.

Args:

peak_properties (dict): Description

Returns:

dict: Description

Raises:

Exception: Description

smiter.lib.csv_to_peak_properties(csv_file)[source]
smiter.lib.peak_properties_to_csv(peak_properties, csv_file)[source]

smiter.noise_functions module

Callables for injection noise into scans.

Upon calling the callabe, a list/np.array of mz and intensities should be returned. Arguments should be passed via *args and **kwargs

class smiter.noise_functions.AbstractNoiseInjector(*args, **kwargs)[source]

Bases: abc.ABC

Summary.

abstract inject_noise(scan, *args, **kwargs)[source]

Main noise injection method.

Args:

scan (Scan): Scan object *args: Description **kwargs: Description

class smiter.noise_functions.GaussNoiseInjector(*args, **kwargs)[source]

Bases: smiter.noise_functions.AbstractNoiseInjector

inject_noise(scan, *args, **kwargs)[source]

Main noise injection method.

Args:

scan (Scan): Scan object *args: Description **kwargs: Description

class smiter.noise_functions.JamssNoiseInjector(*args, **kwargs)[source]

Bases: smiter.noise_functions.AbstractNoiseInjector

inject_noise(scan, *args, **kwargs)[source]

Main noise injection method.

Args:

scan (Scan): Scan object *args: Description **kwargs: Description

class smiter.noise_functions.PPMShiftInjector(*args, **kwargs)[source]

Bases: smiter.noise_functions.AbstractNoiseInjector

inject_noise(scan, *args, **kwargs)[source]

Main noise injection method.

Args:

scan (Scan): Scan object *args: Description **kwargs: Description

class smiter.noise_functions.UniformNoiseInjector(*args, **kwargs)[source]

Bases: smiter.noise_functions.AbstractNoiseInjector

inject_noise(scan, *args, **kwargs)[source]

Main noise injection method.

Args:

scan (Scan): Scan object *args: Description **kwargs: Description

smiter.peak_distribution module

Distribution funtion for chromo peaks.

Attributes:

distributions (dict): mapping distribution name to distribution function

smiter.peak_distribution.gamma_dist(x: float, a: float = 5, scale: float = 0.33)[source]

Calc gamma distribution.

Args:

x (float): Description a (float, optional): Description scale (float, optional): Description

Returns:

float: y

smiter.peak_distribution.gauss_dist(x: float, sigma: float = 1, mu: float = 0)[source]

Calc Gauss distribution.

Args:

x (float): x sigma (float, optional): standard deviation mu (float, optional): mean

Returns:

float: y

smiter.peak_distribution.gauss_tail(x: float, mu: float, sigma: float, scan_start_time: float, h: float = 1, t: float = 0.2, f: float = 0.01)float[source]

smiter.synthetic_mzml module

Main module.

class smiter.synthetic_mzml.Scan(data: Optional[dict] = None)[source]

Bases: dict

Summary.

property i

Summary.

property id

Summary.

property ms_level

Summary.

Returns:

TYPE: Description

property mz

Summary.

property precursor_charge

Summary.

property precursor_i

Summary.

property precursor_mz

Summary.

property retention_time

Summary.

smiter.synthetic_mzml.generate_interval_tree(peak_properties)[source]

Conctruct an interval tree containing the elution windows of the analytes.

Args:

peak_properties (dict): Description

Returns:

IntervalTree: Description

smiter.synthetic_mzml.generate_molecule_isotopologue_lib(peak_properties: Dict[str, dict], charges: Optional[List[int]] = None, trivial_names: Optional[Dict[str, str]] = None)[source]

Summary.

Args:

molecules (TYPE): Description

smiter.synthetic_mzml.generate_scans(isotopologue_lib: dict, peak_properties: dict, interval_tree: intervaltree.intervaltree.IntervalTree, fragmentor: smiter.fragmentation_functions.AbstractFragmentor, noise_injector: smiter.noise_functions.AbstractNoiseInjector, mzml_params: dict)[source]

Summary.

Args:

isotopologue_lib (TYPE): Description peak_properties (TYPE): Description fragmentation_function (A): Description mzml_params (TYPE): Description

smiter.synthetic_mzml.rescale_intensity(i: float, rt: float, molecule: str, peak_properties: dict, isotopologue_lib: dict)[source]

Rescale intensity value for a given molecule according to scale factor and distribution function.

Args:

i (TYPE): Description rt (TYPE): Description molecule (TYPE): Description peak_properties (TYPE): Description isotopologue_lib (TYPE): Description

Returns:

TYPE: Description

smiter.synthetic_mzml.write_mzml(file: Union[str, _io.TextIOWrapper], peak_properties: Dict[str, dict], fragmentor: smiter.fragmentation_functions.AbstractFragmentor, noise_injector: smiter.noise_functions.AbstractNoiseInjector, mzml_params: Dict[str, Union[int, float, str]])str[source]

Write mzML file with chromatographic peaks and fragment spectra for the given molecules.

Args:

file (Union[str, io.TextIOWrapper]): Description molecules (List[str]): Description fragmentation_function (Callable[[str], List[Tuple[float, float]]], optional): Description peak_properties (Dict[str, dict], optional): Description

smiter.synthetic_mzml.write_scans(file: Union[str, _io.TextIOWrapper], scans: List[Tuple[smiter.synthetic_mzml.Scan, List[smiter.synthetic_mzml.Scan]]])None[source]

Generate given scans to mzML file.

Args:

file (Union[str, io.TextIOWrapper]): Description scans (List[Tuple[Scan, List[Scan]]]): Description

Returns:

None: Description

Module contents

Top-level package for SMITER.