unidec.iFAMS package

Submodules

unidec.iFAMS.iFAMSfun module

unidec.iFAMS.iFAMSfun.AverageHarmFun(chargestatesrCalc, expandedspanCalc, submassCalc, ftxCalc, ftspacingCalc, FTCalc, paddedxnewCalc, xnewCalc, ynewCalc, ydataCalc, ov)
unidec.iFAMS.iFAMSfun.FFTFilter(expandedspanCalc, submassCalc, ZFreqData, ftxCalc, ftspacingCalc, FTCalc, chargestatesrCalc, OTnum)
unidec.iFAMS.iFAMSfun.FinalAvg(Average, cs, msintegral)
unidec.iFAMS.iFAMSfun.Fourier(self, maxfreq, yfull)

This does the actual Fourier transform. It’ll return two lists, the X values which are “ftx”, and y values which are “ABIFT”. Importantly, ABIFT is the absolute value of “FT”. When the program IFFT’s the data later, it uses the “FT”, not ABIFT. Hence, it is also returned

:return:ftx, ABFT, FT

unidec.iFAMS.iFAMSfun.charge(refmaxtabCalc, numcharCalc, omegaCalc)
unidec.iFAMS.iFAMSfun.envelope_calc(chargestatesr, expandedspan, submass, ftx, ftspacing, FT, y)
unidec.iFAMS.iFAMSfun.findmax(expandedspan, ABFT, ftx, lowend, delta, pctpkht)
unidec.iFAMS.iFAMSfun.inputmax(chargestaterCalc, submassCalc, ABFT, ftx)
unidec.iFAMS.iFAMSfun.maxfreq(self, yfull, expandedspan)

Calculates the maximum frequency in the Fourier domain :param self: :param yfull: :param expandedspan: :return:

unidec.iFAMS.iFAMSfun.omega(refmaxtabCalc, numcharCalc)
unidec.iFAMS.iFAMSfun.plot_function(x, y)

While called “plot_function”, this module does quite a lot more. In particular, it will do 4 basic functions 1. It’ll interpolate the data 2. After the interpolation, it will look for any negative values and replace them with zero 3. It’ll pad the amount of data points to make it a power of 2. This is to increase the speed of the Fourier transform 4. It’ll mirror the data, to increase the the amount of data points per peak. This helps with interpretation of the data. :param x: x value data :param y: y value data :return: yfull, expandedspan, xnew, ftspacing, paddedxnew, ynew

unidec.iFAMS.iFAMSfun.realdata(chargestatesr, expandedspan, submass, ftx, ftspacing, FT, y)
unidec.iFAMS.iFAMSfun.spacing(self, refmaxtabCalc)
unidec.iFAMS.iFAMSfun.subunit(refmaxtabCalc, numcharCalc, omegaCalc, chargestatesCalc, chargestatesrCalc, ftxCalc, ABFTCalc)
unidec.iFAMS.iFAMSfun.zerocharge(ABIFT, xnew, chargestatesr)

unidec.iFAMS.wxiFAMS module

class unidec.iFAMS.wxiFAMS.iFAMS_Window(parent, inputdata=None, config=None, directory='')

Bases: Frame

getfromgui()

Update parameters from GUI. :return: None

makeplot()

Runs the kendrick analysis on a single of the mass distributions in self.datalist set by self.pos. Plots the results in 1D and 2D. :return: None

onChecked(e=None)
on_SubAndCharCalc(e=None)

This function will calculate the charge states and subunit mass based on the parameters above. It will turn the dots green to indicate which maxima iFAMS uses to calculate the charge states and subunit mass :param e: :return:

on_calc(e=None)

This module will help determine local maxima in your Fourier Spectrum. You’ll notice dots turn red to blue to indicate the change. It takes numbers from self.clm0, self.ctlwindow, and self.ctlwindow1. :param e: :return: None

on_close(e)
on_envelope_fun(e=None)

This function will inverse Fourier transform specific peaks in the Fourier domain. It works by using the charge states and subunit mass above. It will place a square window around each peak, whose centroid is determine by the charge state, and width is determine by the subunit mass. The window is placed, and the Fourier spectrum is inverse Fourier transformed thus giving you the contribution from the each charge state

Parameters:

e

Returns:

on_fft(e=None)
on_fourier_fil(e=None)

This will filter the spectrum. The filter uses two inputs, a Zero frequency data, which is basically how many fundamental frequency lengths should the zero frequency go out. So in other words, if the fundamental frequency of the the subunit mass is 0.5, (or, the 1+ frequency), then typing in “3” for the zero frequency data will use all of the data to frequency 1.5 as the zero frequency data.

The other input is the harmonic number, which is simply how many harmonics you would like to use. Generally, the more baseline resolved harmonics, the better. :param e: :return:

on_harm_average(e=None)

This function will calculate a “Harmonic Average” for the envelope functions. This means that iFAMS will calculate multiple envelope functions for each charge state (one at the fundamental, and one for every additional charge state specified) and “average” them. It is advised that if multiple sets of resolvable harmonics exist, then one should use the harmonic average over just one set. :param e: :return:

on_load_spectrum(e=None)

Loads a spectrum from a .txt file :return: None

on_man_calc(e=None)

This function allows the user to manually put in the charge states and subunit mass, in case the maxima finder has trouble picking the right peaks :return:

on_save_fig(e)

Saves the figures in self.directory as PNGs. :param e: Unused event :return: None

on_save_fig_pdf(e)

Saves the figures in self.directory as PDFs. :param e: Unused event :return: None

zero_charge(e=None)

This will calculate a zero charge spectrum based on the charge states and envelope functions from the previous python function. :param e: :return:

Module contents