Difference between revisions of "LipidXplorer News"

From LipidXplorer
Jump to: navigation, search
(2010-07-25 Bugfix for acquisition in different ionization modes / polarity)
m (2010-07-25 Bugfix for acquisition in different ionization modes / polarities)
Line 150: Line 150:
 
and min occupation settings).
 
and min occupation settings).
  
== 2010-07-25 Bugfix for acquisition in different ionization modes / polarities ==
+
== 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
 
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
 
have one polarity. But if other *.mzXML files have a different polarity it now possible

Revision as of 16:26, 3 August 2010

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:

  1. peak mean
  2. peak median
  3. peak variance
  4. 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:

  1. sort MS spectrum increasingly.
  2. for every mass m which has a chemical sum composition assigned:
    1. 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 ...
    2. 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>.
    3. subtract calculated isotopic percentage from i1-4

de-isotoping of MS/MS was revisited. The algorithm is the following:

  1. generate artificial PIS spectra P1, ..., Pn for fragments f1, ..., fn by collecting precursor masses which have f1 (f2, ..., fn) in their MS/MS spectrum.
  2. for every PIS spectrum Pi:
    1. for every mass m in Pi:
    2. look, if there is are masses i1, i2, i3 or i4 which could be isotopes
    3. calculate the isotopic distribution of the neutral loss of m according to <insert citation here>
    4. 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.

== 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. All tolerance settings given in the Import and in the MFQL files are overridden! The same goes for min occupation.