Difference between revisions of "LipidXplorer News"
(34 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | == 2008-07-16 NOT statement for IDENTIFY == | |
+ | |||
+ | The 'NOT' statement is now usable in the IDENTIFY section. This allows doing negative queries. For example: | ||
DEFINE PR = 'C[20..100] H[30..200] N[1] O[8] P[1]' WITH DBR = (0,16), CHG = 1; | DEFINE PR = 'C[20..100] H[30..200] N[1] O[8] P[1]' WITH DBR = (0,16), CHG = 1; | ||
DEFINE pcHead = 'C5 H15 O4 P1 N1' WITH CHG = 1; | DEFINE pcHead = 'C5 H15 O4 P1 N1' WITH CHG = 1; | ||
Line 6: | Line 8: | ||
NOT pcHead IN MS2+ WITH TOLERANCE = 50ppm | NOT pcHead IN MS2+ WITH TOLERANCE = 50ppm | ||
− | + | to check if 'PR' ignored some PC lipids. | |
+ | |||
+ | == 2008-07-16 column() function for SUCHTHAT == | ||
+ | |||
+ | A new function for the SUCHTHAT section: 'column(<regular Expression>, <variable>)'. The given regular expression returns only the matching sample names of the variable given. This is for a selective query. | ||
+ | |||
+ | == 2008-07-20 +/- added to error attribute == | ||
+ | |||
+ | errors (errppm and errda) are now with the direction of the shift, i.e. with the algebraic sign. The error is calculated as: <theoretical mass> - <measured mass>. | ||
+ | |||
+ | == 2008-08-07 new function 'isStandard()' and new function for sample grouping == | ||
+ | |||
+ | - new function isStandard(<variable>, "<sample>", "<scope>"). Place it in SUCHTHAT section. | ||
+ | A scan is started to find <variable> in <sample>. Once found it is declared as the standard and the | ||
+ | intensities of all other peaks in <scope> are recalculated as ratio. | ||
+ | Example: | ||
+ | isStandard(varStandard, "hilde01", "MS1+") | ||
+ | |||
+ | - new function for addressing groups of samples with the help of place holders: | ||
+ | |||
+ | Patterns are Unix shell style: | ||
+ | |||
+ | * matches everything | ||
+ | ? matches any single character | ||
+ | [seq] matches any character in seq | ||
+ | [!seq] matches any char not in seq | ||
+ | |||
+ | Example: | ||
+ | FA1.intensity["*hilde0[1-9]*"] > FA1.intensity["*hilde1[0-9]*"] | ||
+ | |||
+ | also possible: | ||
+ | column(FA1, "*hilde0[1-9]*") | ||
+ | |||
+ | == 2008-08-13 syntax change for 'isStandard()' == | ||
+ | |||
+ | semi-new function: isStandard(<variable>, "<scope>"). With this syntax the standard is | ||
+ | calculated for every single sample. | ||
+ | |||
+ | == 2008-08-14 more peak information == | ||
+ | |||
+ | every peak (either MS or MS/MS) has now additionally the following information: | ||
+ | # peak mean | ||
+ | # peak median | ||
+ | # peak variance | ||
+ | # peak standard deviation | ||
+ | all this info will be output in the dump of the MasterScan | ||
+ | |||
+ | == 2008-08-22 bugfix for 'isStandard()' == | ||
+ | |||
+ | isStandard() function works now for MS1+/- (! no MS2+/- !). The function should be placed in the SUCHTHAT | ||
+ | section and has as attributes 1) a variable containing the marked standard and 2) the scope of | ||
+ | the standard (MS1+, MS1-, MS2+ or MS2-). Next an example of an MFQL script identifying | ||
+ | PC with calculating the standard: | ||
+ | |||
+ | QUERYNAME = Phosphatidylcholine; | ||
+ | DEFINE PR = 'C[36..50] H[30..200] N[1] O[8] P[1]' WITH DBR = (1.5,7.5), CHG = 1; | ||
+ | DEFINE DietherPC = 'C44 H93 O6 N1 P1' WITH CHG = 1; | ||
+ | DEFINE DietherPE = 'C45 H95 O6 N1 P1' WITH CHG = 1; | ||
+ | |||
+ | IDENTIFY Phosphatidylcholine WHERE | ||
+ | |||
+ | # marking | ||
+ | PR IN MS1+ WITH TOLERANCE = 4 ppm OR | ||
+ | DietherPC IN MS1+ | ||
+ | |||
+ | SUCHTHAT | ||
+ | isEven(PR.chemsc[C]) AND | ||
+ | isStandard(DietherPC, "MS1+") | ||
+ | |||
+ | REPORT | ||
+ | MASS = "%4.4f" % "(PR.mass)"; | ||
+ | NAME = "PC [%d:%d]" % "((PR.chemsc)[C] - 8, (PR.chemsc)[db] - 1.5)"; | ||
+ | PRECURINTENS = PR.intensity;; | ||
+ | |||
+ | == 2008-09-02 implementation/bugfix for the de-isotopic algorithm == | ||
+ | |||
+ | de-isotoping was implemented for MS mode. The algorithm uses the sum compositions | ||
+ | which where calculated with the used MFQL scripts. So, only molecular species of interest | ||
+ | are considered for the de-isotoping. The algorithm is the following: | ||
+ | # sort MS spectrum increasingly. | ||
+ | # for every mass m which has a chemical sum composition assigned: | ||
+ | ## look, if there is are masses i1, i2, i3 or i4 which could be isotopes, i.e. is there a mass i1 = m + 1.0033, is there a mass i2 = m + 2 * (1.0033), and so on ... | ||
+ | ## calculate the isotopic distribution of m for only 13C. Isotopes of other elements are so little for lipids, that we leave them beside. The distribution is binomial with a probability that a 13C occurs of 0.01082 <insert citation here>. | ||
+ | ## subtract calculated isotopic percentage from i1-4 | ||
+ | |||
+ | de-isotoping of MS/MS was revisited. The algorithm is the following: | ||
+ | # generate artificial PIS spectra P1, ..., Pn for fragments f1, ..., fn by collecting precursor masses which have f1 (f2, ..., fn) in their MS/MS spectrum. | ||
+ | # for every PIS spectrum Pi: | ||
+ | ## for every mass m in Pi: | ||
+ | ## look, if there is are masses i1, i2, i3 or i4 which could be isotopes | ||
+ | ## calculate the isotopic distribution of the neutral loss of m according to <insert citation here> | ||
+ | ## subtract the calculated isotopic percentage from i1-4 | ||
+ | |||
+ | == 2008-10-01 GUI enhancement with a debugging window == | ||
+ | |||
+ | implemented a debugging window in the GUI. | ||
+ | |||
+ | GUI looks a bit more compact now | ||
+ | |||
+ | update of the merging algorithm (for *.mzXML import). Average masses are now calculated by intensity weighted average. This yields more accurate spectra. | ||
+ | |||
+ | == 2008-10-09 no 'cleaning' procedure for *.mzXML files any more == | ||
+ | |||
+ | switched off the cleaning procedure for *.mzXML imported files | ||
+ | |||
+ | if more than one sum composition is found for a precursor mass, it will be reported ordered by identification error. | ||
+ | |||
+ | Bug with *.mzXML file, where only MS/MS spectra are given is fixed. | ||
+ | |||
+ | == 2008-10-23 new feature: generate a complement MasterScan == | ||
+ | |||
+ | new Function: complementMasterScan. Switch it on with a checkbox on the Run-Panel. It will produce the "complement MasterScan" of the current query, i.e. a MasterScan with all peaks which where not identified in the current run. It will be saved as <original MasterScan name>-complement.sc. | ||
+ | |||
+ | the purpose is do blind queries for unknown or not expected sum compositions. | ||
+ | |||
+ | == 2008-11-18 new features for the DEFINE section == | ||
+ | |||
+ | new Function: DEFINE allows now to define a list of same variables with different names in one line. The user just writes a list: | ||
+ | |||
+ | old: | ||
+ | DEFINE FA1 = 'C[14..22] H[20..60] O[2] N[1]' WITH DBR = (0.0,6.0), CHG = 0; | ||
+ | DEFINE FA2 = 'C[14..22] H[20..60] O[2] N[1]' WITH DBR = (0.0,6.0), CHG = 0; | ||
+ | DEFINE FA3 = 'C[14..22] H[20..60] O[2] N[1]' WITH DBR = (0.0,6.0), CHG = 0; | ||
+ | new: | ||
+ | DEFINE (FA1, FA2, FA3) = 'C[14..22] H[20..60] O[2] N[1]' WITH DBR = (0.0,6.0), CHG = 0; | ||
+ | |||
+ | new Function: DEFINE allow the definition of a list of fragments. | ||
+ | For example: | ||
+ | DEFINE FA = ('C14 H27 O2 N1', | ||
+ | 'C14 H29 O2 N1', | ||
+ | 'C14 H31 O2 N1', | ||
+ | 'C15 H21 O2 N1', | ||
+ | 'C15 H31 O2 N1'); | ||
+ | |||
+ | == 2009-07-29 enhanced GUI concerning syntax errors on MFQL queries == | ||
+ | |||
+ | A new technique for more control over the debug output of LipidX was implemented. This offers a lot of possibilities to enhance the error handling for the user and for me, the developer. For example: if a SYNTAX ERROR occurs it will be shown more clearly and it will point the user more accurate to it. If LipidX crashes, the debug output can be easily selected and copied to the mail you send to the developer, if you want to report the crash. This function will be improved in the future to make it more even convenient for the user and the developer and also new functions will be added. | ||
+ | |||
+ | == 2009-12-13 First release version of LipidXplorer is ready == | ||
+ | |||
+ | LipidXplorer reached its first release version 1.0. | ||
+ | |||
+ | == 2010-06-25 Bugfix for isotopic correction == | ||
+ | Bug: the isotopic corrected peak were not dismissed correctly (according to the threshold | ||
+ | and min occupation settings). | ||
+ | |||
+ | == 2010-07-25 Bugfix for import of acquisitions in different ionization modes / polarities == | ||
+ | Spectra from *.mzXML files from positive and negative ionization mode can be simultaneous be imported. Note: one *.mzXML file can only | ||
+ | have one polarity. But if other *.mzXML files have a different polarity it now possible | ||
+ | to import them into the same MasterScan. | ||
+ | |||
+ | == 2010-07-30 Bugfix: MS/MS scan counts == | ||
+ | The number of averaged MS/MS scans is now stored properly. This value is used for a correct | ||
+ | calculation of the MS/MS threshold. | ||
+ | |||
+ | == 2010-08-03 tolerance and min occupation settings in the Run pane == | ||
+ | MS and MS/MS tolerance values can now be set in the Run pane. This allows to set those | ||
+ | two attributes for all queries at once. This will override the settings given in | ||
+ | the MasterScan or respectively the Import pane but not the settings in the MFQL | ||
+ | queries. | ||
+ | |||
+ | This gives the following list of priority: | ||
+ | # MFQL query | ||
+ | # settings in the Run pane | ||
+ | # settings in the MasterScan or respectively the Import pane | ||
+ | |||
+ | Thus, queries can be written which should encompass certain constrains concerning | ||
+ | the tolerance or minimum occupation. This is especially important for very small | ||
+ | masses (or neutral losses, respectively) were the same tolerance value given in | ||
+ | ppm for a mass m/z ~700 is very different to a mass m/z ~60. | ||
+ | |||
+ | == 2010-08-08 Change: settings are now called configuration == | ||
+ | This makes more sense. | ||
+ | |||
+ | == 2010-08-08 Bugfix: saving of the configurations file == | ||
+ | This did not work properly. | ||
+ | |||
+ | == 2010-08-18 Bugfix: solving the memory issue == | ||
+ | There was a huge memory/speed problem, when having a lot fragment marks from the | ||
+ | MFQL files. This should be fixed now. | ||
+ | |||
+ | == 2010-08-27 Brand new GUI == | ||
+ | Check it out! LipidX has a new graphical user interface. Now the annoying resizing of | ||
+ | the window has an end! | ||
+ | |||
+ | == 2010-09-01 Bugfix: isotopic correction issue == | ||
+ | The isotopic correction was wrongly throwing out lipids. It used a deprecated | ||
+ | critaria. This is fixed now. | ||
+ | |||
+ | == 2010-09-09 'Help' Menu added == | ||
+ | A new menu was added to LipidX which offers help texts to different topics. Clicking | ||
+ | on one entry will open the webrowser with the LipidX wiki. It will choose the wiki | ||
+ | section with the selected topic. | ||
+ | |||
+ | == 2010-09-10 new functions added for SUCHTHAT == | ||
+ | From now on all Python built-in functions plus all functions from the math module | ||
+ | can be used in the SUCHTHAT for calculations. This includes functions like | ||
+ | sqrt(), abs() and so on. | ||
+ | |||
+ | == 2010-10-11 new tool released: LXMerge == | ||
+ | A new tool for alignment and merging of LipidXplorer results is released. | ||
+ | |||
+ | == 2010-10-11 improved flexibility of sum composition constraint input== | ||
+ | It is now possible to use enumeration additionally to ranges in the definition | ||
+ | of sum composition constraint. Thus it is possible to write: | ||
+ | 'C[14,16,18] H[40..80] ... ' to consider only 14, 16 and 18 Carbon atoms. | ||
+ | |||
+ | == 2011-01-5 new function: group samples to consider groups of replica== | ||
+ | A disadvantage of the occupation threshold was that it covered always all | ||
+ | samples. But having several phenotypes gives as technical or biological | ||
+ | replicas, it is reasonable to have an occupation threshold for each phenotype. | ||
+ | Otherwise one probably looses information. | ||
+ | |||
+ | With the new grouping function LipidXplorer considers this now. | ||
+ | |||
+ | In the ''Import Settings'' panel there is the setting ''min occupation''. In | ||
+ | the text field the occupation threshold value is inserted. With a click on | ||
+ | ''Group samples'' LipidXplorer opens a window with which you can choose | ||
+ | which samples belong together. When this is done, click on ''OK'' and the newly | ||
+ | formed groups will be stored in a text file (''groups.txt'') under the folder | ||
+ | given as import source. This text file is read by LipidXplorer while importing | ||
+ | the spectra. | ||
+ | |||
+ | The occupation threshold will now hold for each group and a lipid is accepted | ||
+ | if the there is at least one group where the occupation threshold fits. | ||
+ | |||
+ | == 2011-01-21 Syntax Highlighting == | ||
+ | |||
+ | The MFQL editor of LipidXplorer has now colored code. This simplifies the | ||
+ | editing of queries. | ||
+ | |||
+ | == 2011-03-10 additional information while importing spectra == | ||
+ | |||
+ | While importing spectra the information window will show some data concerning | ||
+ | the imported spectra: | ||
+ | # Nb. of MS scans............... | ||
+ | # Nb. of MS/MS spectra.......... | ||
+ | # Average base peak intensity... | ||
+ | # Average total ion count....... | ||
+ | # Absolute intensity threshold.. | ||
+ | # Spray stability: | ||
+ | # MaxTIC - MinTIC:............ x% of median | ||
+ | |||
+ | The spray stability is the ratio of the median and the difference of the maximum and minimum TIC. | ||
+ | |||
+ | == 2011-04-8 type I isotopic correction added == | ||
+ | |||
+ | The type I correction (see Han, X.; Gross, R.W. 2005, MassSpectrometryReview) corrects the monoisotopic peak by summing up the isotopic cluster. This | ||
+ | has an effect of up to 10% on the peak intensity. | ||
+ | |||
+ | == 2011-04-8 upgrade of MS/MS isotopic correction == | ||
+ | |||
+ | The upgrade speeds up the MS/MS isotopic correction (type II) about a manifold. | ||
+ | |||
+ | == 2011-07-7 relative intensity == | ||
+ | |||
+ | LipidXplorer now supports the input of a relative intensity. The relative intensity | ||
+ | is the percentage of the base peak when averaging the individual scans in the import. | ||
+ | For the averaging, LipidXplorer takes the average base peak intensity. Once aligned, the relative intensity orients at the maximum base peak intensity of | ||
+ | all imported samples. | ||
+ | |||
+ | == 2011-07-22 LipidXplorer Version 1.2 released == | ||
+ | |||
+ | The new version of LipidXplorer can be downloaded at [[http://sourceforge.net/projects/lipidxplorer/files/ LipidXplorer on Sourceforge]]. | ||
+ | |||
+ | It includes all new features from 2010-10-11. | ||
+ | |||
+ | == 2011-08-05 LipidXplorer Version 1.2.1 released == | ||
+ | |||
+ | The recent version of LipidXplorer can be downloaded at [[http://sourceforge.net/projects/lipidxplorer/files/ LipidXplorer on Sourceforge]]. There can be found also an update in form of a *.zip file. | ||
+ | |||
+ | Important bugfixes were done on the MFQL language and the MS/MS averaging algorithm. Now both work better! Please update! | ||
+ | |||
+ | ==2011-07-22 LipidXplorer Version 1.2 released== | ||
+ | |||
+ | The new version of LipidXplorer can be downloaded at [[http://sourceforge.net/projects/lipidxplorer/files/ LipidXplorer on Sourceforge]]. | ||
+ | |||
+ | It includes all new features from 2010-10-11. | ||
+ | |||
+ | ==2011-08-05 LipidXplorer Version 1.2.1 released== | ||
+ | |||
+ | The recent version of LipidXplorer can be downloaded at [http://sourceforge.net/projects/lipidxplorer/files/ LipidXplorer on Sourceforge]. There can be found also an update in form of a *.zip file. | ||
+ | |||
+ | Important bugfixes were done on the MFQL language and the MS/MS averaging algorithm. Now both work better! Please update! | ||
+ | |||
+ | ==2012-01-13 Bug found in LipidXplorer Version 1.2.2== | ||
+ | |||
+ | '''Attention''': A bug occurred in the file lpdxGUI.pyw when spectra are converted with the option "mc.wiff". The "Thinking..." dialog won't disappear and the Debug window contains an error message with the last line saying: "NameError: global name 'rawOut' is not defined". Please use msconvert manually for conversion of *.wiff files to *.mzXML. In the next version of LipidXplorer this bug will be fixed. | ||
+ | |||
+ | ==2012-01-17 New LipidXplorer paper published== | ||
− | + | We are happy to announce the recent publication about LipidXplorers newly implemented support for precursor ion / neutral loss scanned (PIS/NLS) spectra on triple quad mass spectrometers. Now it supports the whole range of major mass spectra technologies which is used in shotgun lipidomics. Here is a link to the article: [http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0029851| LipidXplorer: A Software for Consensual Cross-Platform Lipidomics] |
Latest revision as of 11:11, 6 December 2012
Contents
- 1 2008-07-16 NOT statement for IDENTIFY
- 2 2008-07-16 column() function for SUCHTHAT
- 3 2008-07-20 +/- added to error attribute
- 4 2008-08-07 new function 'isStandard()' and new function for sample grouping
- 5 2008-08-13 syntax change for 'isStandard()'
- 6 2008-08-14 more peak information
- 7 2008-08-22 bugfix for 'isStandard()'
- 8 2008-09-02 implementation/bugfix for the de-isotopic algorithm
- 9 2008-10-01 GUI enhancement with a debugging window
- 10 2008-10-09 no 'cleaning' procedure for *.mzXML files any more
- 11 2008-10-23 new feature: generate a complement MasterScan
- 12 2008-11-18 new features for the DEFINE section
- 13 2009-07-29 enhanced GUI concerning syntax errors on MFQL queries
- 14 2009-12-13 First release version of LipidXplorer is ready
- 15 2010-06-25 Bugfix for isotopic correction
- 16 2010-07-25 Bugfix for import of acquisitions in different ionization modes / polarities
- 17 2010-07-30 Bugfix: MS/MS scan counts
- 18 2010-08-03 tolerance and min occupation settings in the Run pane
- 19 2010-08-08 Change: settings are now called configuration
- 20 2010-08-08 Bugfix: saving of the configurations file
- 21 2010-08-18 Bugfix: solving the memory issue
- 22 2010-08-27 Brand new GUI
- 23 2010-09-01 Bugfix: isotopic correction issue
- 24 2010-09-09 'Help' Menu added
- 25 2010-09-10 new functions added for SUCHTHAT
- 26 2010-10-11 new tool released: LXMerge
- 27 2010-10-11 improved flexibility of sum composition constraint input
- 28 2011-01-5 new function: group samples to consider groups of replica
- 29 2011-01-21 Syntax Highlighting
- 30 2011-03-10 additional information while importing spectra
- 31 2011-04-8 type I isotopic correction added
- 32 2011-04-8 upgrade of MS/MS isotopic correction
- 33 2011-07-7 relative intensity
- 34 2011-07-22 LipidXplorer Version 1.2 released
- 35 2011-08-05 LipidXplorer Version 1.2.1 released
- 36 2011-07-22 LipidXplorer Version 1.2 released
- 37 2011-08-05 LipidXplorer Version 1.2.1 released
- 38 2012-01-13 Bug found in LipidXplorer Version 1.2.2
- 39 2012-01-17 New LipidXplorer paper published
2008-07-16 NOT statement for IDENTIFY
The 'NOT' statement is now usable in the IDENTIFY section. This allows doing negative queries. For example:
DEFINE PR = 'C[20..100] H[30..200] N[1] O[8] P[1]' WITH DBR = (0,16), CHG = 1; DEFINE pcHead = 'C5 H15 O4 P1 N1' WITH CHG = 1; IDENTIFY phosphatedylcholine WHERE PR IN MS1+ AND NOT pcHead IN MS2+ WITH TOLERANCE = 50ppm
to check if 'PR' ignored some PC lipids.
2008-07-16 column() function for SUCHTHAT
A new function for the SUCHTHAT section: 'column(<regular Expression>, <variable>)'. The given regular expression returns only the matching sample names of the variable given. This is for a selective query.
2008-07-20 +/- added to error attribute
errors (errppm and errda) are now with the direction of the shift, i.e. with the algebraic sign. The error is calculated as: <theoretical mass> - <measured mass>.
2008-08-07 new function 'isStandard()' and new function for sample grouping
- new function isStandard(<variable>, "<sample>", "<scope>"). Place it in SUCHTHAT section. A scan is started to find <variable> in <sample>. Once found it is declared as the standard and the intensities of all other peaks in <scope> are recalculated as ratio. Example:
isStandard(varStandard, "hilde01", "MS1+")
- new function for addressing groups of samples with the help of place holders:
Patterns are Unix shell style:
* matches everything ? matches any single character [seq] matches any character in seq [!seq] matches any char not in seq
Example:
FA1.intensity["*hilde0[1-9]*"] > FA1.intensity["*hilde1[0-9]*"]
also possible:
column(FA1, "*hilde0[1-9]*")
2008-08-13 syntax change for 'isStandard()'
semi-new function: isStandard(<variable>, "<scope>"). With this syntax the standard is calculated for every single sample.
2008-08-14 more peak information
every peak (either MS or MS/MS) has now additionally the following information:
- peak mean
- peak median
- peak variance
- peak standard deviation
all this info will be output in the dump of the MasterScan
2008-08-22 bugfix for 'isStandard()'
isStandard() function works now for MS1+/- (! no MS2+/- !). The function should be placed in the SUCHTHAT section and has as attributes 1) a variable containing the marked standard and 2) the scope of the standard (MS1+, MS1-, MS2+ or MS2-). Next an example of an MFQL script identifying PC with calculating the standard:
QUERYNAME = Phosphatidylcholine; DEFINE PR = 'C[36..50] H[30..200] N[1] O[8] P[1]' WITH DBR = (1.5,7.5), CHG = 1; DEFINE DietherPC = 'C44 H93 O6 N1 P1' WITH CHG = 1; DEFINE DietherPE = 'C45 H95 O6 N1 P1' WITH CHG = 1; IDENTIFY Phosphatidylcholine WHERE # marking PR IN MS1+ WITH TOLERANCE = 4 ppm OR DietherPC IN MS1+ SUCHTHAT isEven(PR.chemsc[C]) AND isStandard(DietherPC, "MS1+") REPORT MASS = "%4.4f" % "(PR.mass)"; NAME = "PC [%d:%d]" % "((PR.chemsc)[C] - 8, (PR.chemsc)[db] - 1.5)"; PRECURINTENS = PR.intensity;;
2008-09-02 implementation/bugfix for the de-isotopic algorithm
de-isotoping was implemented for MS mode. The algorithm uses the sum compositions which where calculated with the used MFQL scripts. So, only molecular species of interest are considered for the de-isotoping. The algorithm is the following:
- sort MS spectrum increasingly.
- for every mass m which has a chemical sum composition assigned:
- look, if there is are masses i1, i2, i3 or i4 which could be isotopes, i.e. is there a mass i1 = m + 1.0033, is there a mass i2 = m + 2 * (1.0033), and so on ...
- calculate the isotopic distribution of m for only 13C. Isotopes of other elements are so little for lipids, that we leave them beside. The distribution is binomial with a probability that a 13C occurs of 0.01082 <insert citation here>.
- subtract calculated isotopic percentage from i1-4
de-isotoping of MS/MS was revisited. The algorithm is the following:
- generate artificial PIS spectra P1, ..., Pn for fragments f1, ..., fn by collecting precursor masses which have f1 (f2, ..., fn) in their MS/MS spectrum.
- for every PIS spectrum Pi:
- for every mass m in Pi:
- look, if there is are masses i1, i2, i3 or i4 which could be isotopes
- calculate the isotopic distribution of the neutral loss of m according to <insert citation here>
- subtract the calculated isotopic percentage from i1-4
2008-10-01 GUI enhancement with a debugging window
implemented a debugging window in the GUI.
GUI looks a bit more compact now
update of the merging algorithm (for *.mzXML import). Average masses are now calculated by intensity weighted average. This yields more accurate spectra.
2008-10-09 no 'cleaning' procedure for *.mzXML files any more
switched off the cleaning procedure for *.mzXML imported files
if more than one sum composition is found for a precursor mass, it will be reported ordered by identification error.
Bug with *.mzXML file, where only MS/MS spectra are given is fixed.
2008-10-23 new feature: generate a complement MasterScan
new Function: complementMasterScan. Switch it on with a checkbox on the Run-Panel. It will produce the "complement MasterScan" of the current query, i.e. a MasterScan with all peaks which where not identified in the current run. It will be saved as <original MasterScan name>-complement.sc.
the purpose is do blind queries for unknown or not expected sum compositions.
2008-11-18 new features for the DEFINE section
new Function: DEFINE allows now to define a list of same variables with different names in one line. The user just writes a list:
old:
DEFINE FA1 = 'C[14..22] H[20..60] O[2] N[1]' WITH DBR = (0.0,6.0), CHG = 0; DEFINE FA2 = 'C[14..22] H[20..60] O[2] N[1]' WITH DBR = (0.0,6.0), CHG = 0; DEFINE FA3 = 'C[14..22] H[20..60] O[2] N[1]' WITH DBR = (0.0,6.0), CHG = 0;
new:
DEFINE (FA1, FA2, FA3) = 'C[14..22] H[20..60] O[2] N[1]' WITH DBR = (0.0,6.0), CHG = 0;
new Function: DEFINE allow the definition of a list of fragments. For example:
DEFINE FA = ('C14 H27 O2 N1', 'C14 H29 O2 N1', 'C14 H31 O2 N1', 'C15 H21 O2 N1', 'C15 H31 O2 N1');
2009-07-29 enhanced GUI concerning syntax errors on MFQL queries
A new technique for more control over the debug output of LipidX was implemented. This offers a lot of possibilities to enhance the error handling for the user and for me, the developer. For example: if a SYNTAX ERROR occurs it will be shown more clearly and it will point the user more accurate to it. If LipidX crashes, the debug output can be easily selected and copied to the mail you send to the developer, if you want to report the crash. This function will be improved in the future to make it more even convenient for the user and the developer and also new functions will be added.
2009-12-13 First release version of LipidXplorer is ready
LipidXplorer reached its first release version 1.0.
2010-06-25 Bugfix for isotopic correction
Bug: the isotopic corrected peak were not dismissed correctly (according to the threshold and min occupation settings).
2010-07-25 Bugfix for import of acquisitions in different ionization modes / polarities
Spectra from *.mzXML files from positive and negative ionization mode can be simultaneous be imported. Note: one *.mzXML file can only have one polarity. But if other *.mzXML files have a different polarity it now possible to import them into the same MasterScan.
2010-07-30 Bugfix: MS/MS scan counts
The number of averaged MS/MS scans is now stored properly. This value is used for a correct calculation of the MS/MS threshold.
2010-08-03 tolerance and min occupation settings in the Run pane
MS and MS/MS tolerance values can now be set in the Run pane. This allows to set those two attributes for all queries at once. This will override the settings given in the MasterScan or respectively the Import pane but not the settings in the MFQL queries.
This gives the following list of priority:
- MFQL query
- settings in the Run pane
- settings in the MasterScan or respectively the Import pane
Thus, queries can be written which should encompass certain constrains concerning the tolerance or minimum occupation. This is especially important for very small masses (or neutral losses, respectively) were the same tolerance value given in ppm for a mass m/z ~700 is very different to a mass m/z ~60.
2010-08-08 Change: settings are now called configuration
This makes more sense.
2010-08-08 Bugfix: saving of the configurations file
This did not work properly.
2010-08-18 Bugfix: solving the memory issue
There was a huge memory/speed problem, when having a lot fragment marks from the MFQL files. This should be fixed now.
2010-08-27 Brand new GUI
Check it out! LipidX has a new graphical user interface. Now the annoying resizing of the window has an end!
2010-09-01 Bugfix: isotopic correction issue
The isotopic correction was wrongly throwing out lipids. It used a deprecated critaria. This is fixed now.
2010-09-09 'Help' Menu added
A new menu was added to LipidX which offers help texts to different topics. Clicking on one entry will open the webrowser with the LipidX wiki. It will choose the wiki section with the selected topic.
2010-09-10 new functions added for SUCHTHAT
From now on all Python built-in functions plus all functions from the math module can be used in the SUCHTHAT for calculations. This includes functions like sqrt(), abs() and so on.
2010-10-11 new tool released: LXMerge
A new tool for alignment and merging of LipidXplorer results is released.
2010-10-11 improved flexibility of sum composition constraint input
It is now possible to use enumeration additionally to ranges in the definition of sum composition constraint. Thus it is possible to write: 'C[14,16,18] H[40..80] ... ' to consider only 14, 16 and 18 Carbon atoms.
2011-01-5 new function: group samples to consider groups of replica
A disadvantage of the occupation threshold was that it covered always all samples. But having several phenotypes gives as technical or biological replicas, it is reasonable to have an occupation threshold for each phenotype. Otherwise one probably looses information.
With the new grouping function LipidXplorer considers this now.
In the Import Settings panel there is the setting min occupation. In the text field the occupation threshold value is inserted. With a click on Group samples LipidXplorer opens a window with which you can choose which samples belong together. When this is done, click on OK and the newly formed groups will be stored in a text file (groups.txt) under the folder given as import source. This text file is read by LipidXplorer while importing the spectra.
The occupation threshold will now hold for each group and a lipid is accepted if the there is at least one group where the occupation threshold fits.
2011-01-21 Syntax Highlighting
The MFQL editor of LipidXplorer has now colored code. This simplifies the editing of queries.
2011-03-10 additional information while importing spectra
While importing spectra the information window will show some data concerning the imported spectra:
- Nb. of MS scans...............
- Nb. of MS/MS spectra..........
- Average base peak intensity...
- Average total ion count.......
- Absolute intensity threshold..
- Spray stability:
- MaxTIC - MinTIC:............ x% of median
The spray stability is the ratio of the median and the difference of the maximum and minimum TIC.
2011-04-8 type I isotopic correction added
The type I correction (see Han, X.; Gross, R.W. 2005, MassSpectrometryReview) corrects the monoisotopic peak by summing up the isotopic cluster. This has an effect of up to 10% on the peak intensity.
2011-04-8 upgrade of MS/MS isotopic correction
The upgrade speeds up the MS/MS isotopic correction (type II) about a manifold.
2011-07-7 relative intensity
LipidXplorer now supports the input of a relative intensity. The relative intensity is the percentage of the base peak when averaging the individual scans in the import. For the averaging, LipidXplorer takes the average base peak intensity. Once aligned, the relative intensity orients at the maximum base peak intensity of all imported samples.
2011-07-22 LipidXplorer Version 1.2 released
The new version of LipidXplorer can be downloaded at [LipidXplorer on Sourceforge].
It includes all new features from 2010-10-11.
2011-08-05 LipidXplorer Version 1.2.1 released
The recent version of LipidXplorer can be downloaded at [LipidXplorer on Sourceforge]. There can be found also an update in form of a *.zip file.
Important bugfixes were done on the MFQL language and the MS/MS averaging algorithm. Now both work better! Please update!
2011-07-22 LipidXplorer Version 1.2 released
The new version of LipidXplorer can be downloaded at [LipidXplorer on Sourceforge].
It includes all new features from 2010-10-11.
2011-08-05 LipidXplorer Version 1.2.1 released
The recent version of LipidXplorer can be downloaded at LipidXplorer on Sourceforge. There can be found also an update in form of a *.zip file.
Important bugfixes were done on the MFQL language and the MS/MS averaging algorithm. Now both work better! Please update!
2012-01-13 Bug found in LipidXplorer Version 1.2.2
Attention: A bug occurred in the file lpdxGUI.pyw when spectra are converted with the option "mc.wiff". The "Thinking..." dialog won't disappear and the Debug window contains an error message with the last line saying: "NameError: global name 'rawOut' is not defined". Please use msconvert manually for conversion of *.wiff files to *.mzXML. In the next version of LipidXplorer this bug will be fixed.
2012-01-17 New LipidXplorer paper published
We are happy to announce the recent publication about LipidXplorers newly implemented support for precursor ion / neutral loss scanned (PIS/NLS) spectra on triple quad mass spectrometers. Now it supports the whole range of major mass spectra technologies which is used in shotgun lipidomics. Here is a link to the article: LipidXplorer: A Software for Consensual Cross-Platform Lipidomics