Latest News

A Git repository was setup. Use that repository either through the web interface, or via a console using the following command: git clone git:// massxpert

December 2012


Last version: 3.4.0

  • Implemented a feature that allows one to enter a coordinates string in the sequence editor window so as to select a specific sequence, make a multi-region selection, or make a multi-selection region;
  • The mzLab GUI has been refactored so as to greatly simplify its use;
  • The French translation has been updated.


Last version: 3.3.0

  • Implemented new ways to share mass data between the three main simulations contexts (polymer cleavage, oligomer fragmentation and arbitrary mass searches, of within the XpertEdit module) and the MzLab in the XpertMiner module. Also, it is now possible to first export the data from the three simulations contexts to either a file or the clipboard, to crunch the data in any way and format these data so as to reimport them in the XpertMiner module. An a posteriori connnection is now possible between the reimported data and the polymer sequence that generated these data in the first place by providing the MzLab with the identifier of the polymer sequence editor in which the proper polymer sequence has been loaded. This allows for maximum flexibility when analyzing the data, such that it is possible at any time to visualize the corresponding oligomer in the sequence editor upon clicking on any mass list item of the MzLab. All this is documented in the massXpert.pdf user manual.

October 2011


Last version: 3.2.0

  • Implemented new feature by which it is now possible to account for cross-links when simulating oligomer fragmentations. Only cross-links that involve monomers all contained in the fragmenting oligomer are taken into account.

August 2011


Last version: 3.1.0

  • Improvements in the XpertMiner module that make working with lists easier;
  • Fixed calculation bug which appeared when computing the isotopic cluster of a large polymer with low resolution... the peak shape would not be centered in the average centroid value.
  • Added a full spectrum simulation feature that allows one to compute a spectrum (optionally with all the isotopic clusters) on the basis of a list of oligomers obtained by cleavage of a given polymer;
  • Same as above but after computing a set of m/z ratios starting from a chemical formula;
  • Updated the user manual to document a number of new features since last update.

July 2011


Last version: 3.0.0

  • Thorough rewrite of the XpertMiner module with a load of new features and a great many improvements/fixes.


  • Switched to the TableView data display method the whole XpertMiner module. This allows for easier code maintaining and for clearer graphical user interface.

  • Refactored code in the MzLabInputOligomerTreeView class code to improve quality and readability.

  • Improved the XpertMiner window layout for more clarity.

  • Added feature to call a calculator window right from the sequence editor window with either whole/selected sequence masses preseeded.


Last version: 2.8.0

  • Changed the mass search oligomer display from a tree view to a table view which is simpler, both programmatically and functionally (for the user). That fixes a bug that would occasionally crash the software.


Last version: 2.7.0

  • Changed the fragmentation oligomer display from a tree view to a table view which is simpler, both programmatically and functionally (for the user);
  • Added the possibility to stack in the same table view fragmentation oligomers that come from different fragmentation simulations.

June 2011


Last version: 2.6.0 I finally finished handsomely improving (by a full rewrite) the isotopic cluster prediction for any chemical formula in the massXpert software. The program now runs eight times as fast as the previous version. Further, the simulations can now be performed either using the gaussian calculation or the lorentzian simulation.


Last version: 2.5.2

  • Fix to critical regression bug introduced in version 2.5.1 which made the program crash in any kind of oligomer fragmentation.


Last version: 2.5.1

  • Fixed serious bug that seems to have appeared while upgrading the Qt library version. That bug would make the program crash when computing cleavage oligomers in "stacking oligomers" mode;
  • Taken the opportunity of the bug fix to improve the way cleavage and mass calculation options are provided as feedback when selecting oligomers in the list of oligomers;
  • Changed the cleavage oligomer display from a tree view to a table view which is simpler both programmatically and functionally (for the user).

May 2011


Last version: 2.5.0

  • Added feature : ability to select -H20 and -NH3 (also to set a manually-defined formula) as additional decompositions to be handled while computing fragment oligomers.

February 2011


Last version: 2.4.3

  • Added feature: when running the mz calculations dialog from the sequence editor window, the masses are automatically set in the dialog window.
  • Added ion charge proton to the formula of the z fragmentation specification.
  • Rewrote the Formula's elementalComposition() so that the order of the atoms is in the CHNO->alphabetic conventional order.

January 2011


Last version: 2.4.2

  • Fixed a bug that crashed the program when the user would click (on the sequence editor) left of first monomer vignette.

December 2010


Last version: 2.4.0

  • Fixed a problem with considering that the lightest isotope was necessarily the most abundant isotope. In fact this is true for the main chemical elements in biological matter, but can be not true for other chemical elements. This fix will only matter to people using chemical elements of which the most abundant isotope is not the lightest one.

May 2010


Last version: 2.3.6

  • Added an alert that triggers itself when the user tries to cleave a polymer sequence region that does not encompass all the cross-linked monomers, as this would yield non faithful oligomers;
  • Fixed a small GUI bug in the sequence editor;
  • Fixed a linker flag in the build of massXpert for the PPC platform (thanks to Koen van der Drift of the Fink project).


Last version: 2.3.5

  • Added feature to compute the mass difference between any two monomers in the currently opened polymer chemistry definition;
  • Modified the GUI of the monomer definition dialog in the XpertDef module so that masses of any monomer currently selected or upon modification of the formula are updated automatically;
  • Updated the user manual to document the new feature.

April 2010


Last version: 2.2.0

  • Fix bug which prevented saving correctly the name of a polymer sequence;
  • Improvements here and there in the GUI;
  • Added an import filter for PDB text files;
  • Updated the french translation.

January 2010


New setup package for MS-Windows released. That new package contains a library (dll file) that was lacking in the previous setup file.

December 2009


Last version: 2.1.0

  • Fix one bug within the formula validation code which would crash the program when an invalid formula is used;
  • Show the currently selected regions in the sequence editor window;
  • Fix some memory leaks and code cleanup.

November 2009


Last version: 2.0.9

  • Bug fix release: fixes a bug that was crashing massXpert upon certain corner polymer sequence cleavage cases. Please, upgrade.
  • The user manual is no more shipped within the MS-Windows and MacOSX and source packages. This almost divides by two the size of the packages. Please, download the user manual from the UserManual page.


Last version: 2.0.8

  • Add the nucac polymer chemistry definition to include monomers from DNA and RNA, as sometimes polymer sequences inlcude both deoxy-ribo-nucleotides;
  • Fixed bug with failed parsing of cleavage specifications which have multicharacter codes involved in their definition if the number of characters was less than the max authorized code length;
  • Formulas now accept a double-quoted title and any number of spaces, like : "acetylation" -H + COCH3;
  • Improve fragmentation definitions for the dna polymer chemistry definition;
  • Each polymer chemistry definition-specific calculator window now has its own geometry settings;
  • Fix two potentially massive memory leaks, thanks to the cppcheck utility;
  • Fix monomer def for uracile;
  • Added feature to regularly recall to the user to cite massXpert in the About dialog window.

October 2009


Last version: 2.0.7

  • XpertCalc: added possibility to insert formulas in the formula line
    edit by Ctrl-clicking buttons in the chemical keypad;

  • XpertCalc: added possibility to surround formulas with spaces for
    much better readability in case of complex structures. This is
    performed by Shit-Ctrl-cliking on the chemical pad buttons;

  • XpertCalc: automatically seed m/z calculation dialog window with
    masses from the XpertCalc main window;

  • XpertEdit: bug fix in the sequence editor's feedback to the user
    upon entering a bad monomer code character. When a new valid character
    is entered this old error message is removed;

  • XpertCalc: added lots of useful buttons to the dna chemical pad
    configuration file;

  • Added bibliographical reference to the massXpert paper in
    _Bioinformatics_ to the man pages;

  • XpertCalc: added possibility to store formula in a drop-down list so
    as to be able to recall them in ulterior calculations;

  • XpertCalc: implemented new feature by which it is possible to set a
    title to a formula like the following : "initial-dimer" C5H6O9P3,
    which will be interpreted as formula "C5H6O9P3".

  • Sequence editing plugins: added possibility to perform more
    sophisticated translation, like from codon to 1-letter code or from
    codon to 3-letters code (protein chemistry);

  • XpertEdit: the tool box (available monomers/mass calculation engine
    configuration) now saves its position;

  • Improved the CMake-based build system to automatically build the
    binary and the data if nothing is specified on the configuration
    command line (usermanual is not built by default; thanks to Pere
    Constans for reporting);

  • Bunch of code tidying and memory leaks fixing (thanks to cppcheck,
    as suggested by Pere Constans);

  • XpertEdit: fixed wrong behaviour in the whole/selected sequence
    logic in the mass search dialog window;

  • XpertEdit: fixed the multi-character code disambiguation mechanism
    in the sequence editor's available codes tool box widget: it's
    triggered by hitting Ctrl-Enter;

  • Xpertedit/XpertDef: improved feedback to the user on file save
    operation errors;

  • XpertEdit/XpertDef: added possibility to show non-*.mxp/non-*.xml
    files in the openfile dialogs;

  • XpertEdit: improved fragmentation with multiply-charged fragments:
    When there are multiply-charged fragments, the mass now takes into
    account the ionization rule that sits in the sequence editor windows's
    calculation engine configuration.

  • XpertEdit: fix bug in elementalComposition() that would fail when
    count is negative.  Added simplify() function that calls
    elementalComposition() in turn.  Also fixed the way atomCount objects
    are added to the list of such objects : when an atomCount object
    reaches a 0-count, it gets removed from the list.

  • XpertCalc: added possibility to simplify a complex set of formulas
    into a single factorized formula.

September 2009


Last version: 2.0.5

Bug fix release: fixed a bug that would crash the program upon re-cleavage of a polymer sequence in the same cleavage dialog window.


Last version: 2.0.4

After a lot of coding and testing, here is a new release with lots of changes in the XpertCalc module :

  • Fix a bug due to not clearing effectively seed/result masses when using the chemical pad;
  • Rework the chemical pad configuration process by adding the ability to both group pad buttons according to user's desires and color the buttons' test and background to ease readability when lots of buttons are stuffed in the chemical pad (which is the case for me when I deal with saccharides);
  • Add possibility to send the chemical pad button's formula to the formula line edit widget in the calculator's main window (very useful when dealing with long successions of computations like when constructing a ramified oligosaccharide);
  • Completed the French translation, which also happened to trigger better naming of features in English;
  • Update the User Manual with a description of the new features.

August 2009

I have been hacking away these last weeks, as I found a number of features that could be improved while writing a chapter about massXpert for a French book I'm authoring (about mass spectrometry of biopolymers). A new release should be soon available with improvements in particular in the XpertCalc module which I used a lot while writing stuff about mass spectrometry of sugars.

July 2009

My article about massXpert, entitled

Rusconi, F. (2009) massXpert 2: a cross-platform software environment for polymer chemistry modelling and simulation/analysis of mass spectrometric data.

was accepted for publication in Bioinformatics, UK, the prestigious journal for all about computer science in biology. This is wonderful news. More than that: the exchange with the three referees (two favourable and one skeptical) has been good for the paper, as I had to convince the skeptical reviewer. Overall the artical was nicely improved in the reviewing process. Thanks to all three anonymous reviewers!

As soon as I'll have the final citation reference, I'll post it here for everybody to use.

April 2009


Last version: 2.0.1

  1. Fixed bug due to not taking into account the locale while exporting oligomer results as text;
  2. Fixed small glitches with locale-specific input/output in the graphical user interface;
  3. Bettered the faithfullness of the textual representation of results exported as text: sorting/filtering in the result treeviews now reflects fully in the exported text;
  4. Switched to UseLATEX.cmake for building the user manual.

Please, do not hesitate to report bugs. This is very simple, use the Contact item in the main menu of the window.

March 2009


Last version: 1.9.9

  1. Fixed bug with the file writing process (polymer chemistry definitions and polymer sequences) which would lead to unusable files.
  2. Fixed XpertDef crash due to not checking if a modification is used by a cross-linker prior to removing it from the definition.


Last version: 1.9.8

  1. Fixed bug with sorting of fragmentation oligomers based uponn their name.


Last version: 1.9.5

  1. Added configurability feature to XpertEdit so as to let the user define how many decimals are to be used to display numbers, depending on the chemical entity (10 decimals for atoms, 5 decimals for oligomers and 3 decimals for entire polymer sequences, for example).
  2. Bug fix: fixed bug that would crash the program when trying to unmodify a monomer that is no more existent in the sequence.
  3. Fixed problem with output of curve data after computation of the isotopic pattern. Fixed sorting of the cleavage oligomers on the base of the name 0#2#z=3.
  4. Fixed problem with software configuration (config.h) so that translation files are found.
  5. Improved the user experience with setting polymer modifications.
  6. Improved user graphics interface experience in XpertCalc.
  7. Update of the french translation.
  8. Small bug fixes here and there.

February 2009


Last version: 1.9.0

Bug fix release and feature improvement.

  1. Bug fix: when computing partial cleavage of a sequence holding KD motifs, and asking the cleavage to cut according to "/D;K/", for example, the partial cleavage algorithm failed. Indeed, missing the cut at KD might be due to missing the cut at /D but also missing the cut at K/ !!
  2. Feature improvement: added the ability to edit a polymer sequence by simply clicking onto items in a list of available monomers. Useful feature when one has lots of monomers in a polymer chemistry definition... and remembering them all is difficult.
  3. Note that the 1.9.0 bump is because we consider massXpert to be nearing the featureful state we designed it for in the first place.

December 2008


Last version: 1.8.1

Bug fix release and feature improvement about cleaving a polymer sequence asking that masses be computed with no charge at all (that is, the molecular weight of the oligomer, and not of the ion, is provided). There was a bug that would crash the program if, after a cleavage that would provide no oligomers (the treeview widget is thus empty), another cleavage was performed. This has been fixed.


It's never a good thing to do things in a hurry. New package for 1.8.0 (MacOSX only) fixing a problem with mangled symbols crashing the program in some circumstances. Check for package version 1.8.0-1.


Now added the MacOSX package of the last 1.8.0 release.


Last version: 1.8.0 BUG FIX RELEASE

  1. A crash would occur upon pasting, in the sequence editor, of text containing invalid monomer codes, thus triggering the "sequence purification feature". This is a pure regression. It has been fixed now. Sorry for any inconvenience. Only source/MS-Windows packages are ready at the present time.


Last version: 1.7.9

After a long while without publishing releases, here is a new release with lots and lots of modifications (visible and not visible to the user):

  1. Potent improvements to the list matching feature in the mzLab;
  2. Added ability to define the maximum number by which a single monomer

might be modified with one given modification. This is typically useful with making multiple methylation modifications to lysyl or arginyl residues;

  1. Many fixes and improvements in the mzLab XpertMiner module (masses of fragments are now treated problem with respect to their charge);
  2. Implemented a work-flow by which masses dropped from a cleavage/fragmentation/mass search results window into the mzLab retain their connection with the sequence that generated them in the first place, so that it is possible to display the corresponding sequence when double-clicking onto them;
  3. Implemented a connection between the cross-links listed in the list of current cross-links and their corresponding cross-linked oligomers, such that it is possible to display them automatically in the sequence editor upon double-clicking of a cross-link item in the list;
  4. Improved the saccharide polymer chemistry definition;
  5. Indexed the user manual;
  6. Fixed bug which would crash the program upon selection of a sequence starting after its last monomer;
  7. Fixed bug which would crash the program upon trying to select an empty sequence;
  8. Fix of a recently-introduced bug about calculation of the right end boundary of fragments;
  9. Fix of a regression in the mechanics of uncross-linking monomers;
  10. Does not connect anymore to to probe for usage (never worked, in fact);
  11. Internally, implemented Oligomer as a class derived from Sequence so that it is possible to store the sequence of the oligomer inside it
  12. Internally, very much improved the cleavage oligomer/fragment oligomer charge handling (fragmentation-generated oligomers' charge is handled very differently than the cleavage oligomers' charge);
  13. GUI improvements;
  14. Bug fixes here and there;
  15. Updated the documentation.

July 2008


Last version: 1.7.8

  1. Implemented the possibility to add oligomers obtained via cleavage with different cleaving agents in the same window;
  2. Updated the User Manual;
  3. Usual bug fixes.


Last version: 1.7.7

  1. Implemented a new powerful feature: multi-region selection and multi-selection regions. Multi-region selections make it possible to select any number of polymer sequence regions which are all distinct. Multi-selection regions make it possible to select overlapping sequences in the polymer sequence. These selections make it possible to simulate cross-linked oligomers (typically disulfide bond-linked pepties, for example) directly from the sequence editor.
  2. Updated the User Manual;
  3. Usual bug fixes.

May 2008


Last version: 1.7.6

  1. Switch to the GNU General Public License version 3;
  2. Following reports that the previous Mac OS X package did not install on certain platforms, the build system was reworked and universal binaries have been produced. The massXpert program should run on Mac OS X platform starting at version 10.3.9. Tested OK on Mac OS X 10.3.9 (PPC), on MAC OS X version 10.4.11 (PPC) and on MAC OS X version 10.5.2 (Intel). Note that the package is self-contained and does not require installation of the Qt libraries anymore. Simply drop the bundle somewhere and start using the software;
  3. Started implementation of a new data mining feature: mzLab. This is still experimental software;
  4. Big code cleanup, classes were redesigned and numerous bug fixes (GUI and non-GUI) were made.

April 2008


Last version: 1.7.5

Please, test the software thoroughly, and specifically the Mac OS X package. Report any failure or any success to the maintainer address here.

  1. Finally one Mac OS X package (experimental, for Leopard 10.5);
  2. The whole software program is now relocatable;
  3. The french translation is now 100 % complete;
  4. Huge code cleanup work, along with implementation of namespaces in the whole project;
  5. Some classes added along with some existing classes redesigned;
  6. Bug fixes here and there;
  7. Updated the documentation.


Last version: 1.7.4

  1. Implemented a new fragmentation specification method for fragmentation patterns where the monomer undergoing fragmentation has its lateral chain decomposed. This is particularly useful in nucleic acids chemistry where the nucleic base might be eliminated at the monomer undergoing fragmentation according to the pattern `a';
  2. Updated the french translation;
  3. Fixed memory leak and bugs;
  4. Updated the user manual.

March 2008


Last version: 1.7.3

  1. Implemented dynamic mass data filtering on the oligomer data obtained after a polymer sequence fragmentation or after arbitrary mass searches;
  2. Fixed regression after the implementation of last release's features;
  3. Fixed minor bugs and cleaned up code;
  4. Improved the user experience in the graphical user interface;
  5. Updated the documentation.


Last version: 1.7.2

  1. Implemented dynamic mass data filtering on the oligomer data obtained after a polymer sequence cleavage. The filtered data show up in place without needing to open a new window each time. Pretty powerful stuff, here;
  2. Updated the user manual to show that new feature;
  3. Minor bug fixes.


Last version: 1.7.1

  1. Implemented intra-molecular cross-links. For protein chemists, this means that sulfide bonds are now handled in the sequence and that simulation of the fluorescent proteins also (their chromophore is created by internal cross-links involving three monomers). Because this new feature required extensive rewrite of the internals of massXpert, I suspect that bugs might have crept in. So, please, be sure to double-check your results prior to publication;
  2. Implemented find sequence motif in polymer sequence. This is a rather simple implementation but a very handy one when long polymer sequences are dealt with;
  3. Fixed a serious bug with how composite formulas are handled in certain cases. You should really be upgrading to version 1.7.1 for this reason;
  4. Various bug fixes and other small improvements.


  1. For the MS-Windows users, a new version of the package (not of the software) is available that includes all the libraries required for the program to run on machines in which the Qt library is not installed. Filename : massxpert-1.7.0-1-setup.exe or;
  2. Done huge coding work with interesting features added with intra-molecular cross-links and find sequence motif, above all. I am still testing the soft, and when it seems ready for public consumption I'll release it for bug hunting.

February 2008


Last version: 1.7.0

  1. Bug-fix release;
  2. Fixed a serious crash when computing elemental composition of a polymer sequence that beared a formula-defined modification as opposed to selecting a modification from the list;
  3. The bugfix triggered a wave of code cleanup and the coding of a new more robust way of modifiying the polymer sequence;
  4. The polymer sequence file format changed but older formats are handled with a versioning scheme that was coded in this release;
  5. Updated the user manual.


Last version: 1.6.9

  1. Improved the flexibility of the monomer modification procedure: now it is possible to define a modification in the monomer modification dialog, without the modification having to be defined in the polymer chemistry definition. This makes it much more quick to test structural hypotheses;
  2. Also, the polymer modifications are now easily visualized in the polymer sequence editor, and there they can be easily modified. Updated the documentation;
  3. Versioning of the polymer sequence files is now in place (which was the case only for the polymer chemistry definition files, so far).

December 2007


Last version: 1.6.8

  1. The polymer chemistry definition code has been fully rewritten and the user interface redesigned;
  2. There are bugfixes here and there;
  3. Coding of the framework for intra-molecular cross-link has begun;
  4. There is a new package for Fedora core, and the usual packages for Debian GNU/Linux.


Last version: 1.6.7.

  1. Fixed a bug with the calculation of polymer net charges given a pH. That bug would not show up at each calculation. pI calculations were affected also.
  2. Converted the project from the qmake build system to the more powerful CMake build system, that is portable and can build the software for all the Qt-supported platforms.
  3. Note that the documentation still does not reflect the conversion.

September 2007


Last version: 1.6.6.

  1. New possibility, when cleaving or fragmenting a sequence, to ask for the generation of cleavage- or fragmentation-based oligomers of any given ionization state. For example, when cleaving a protein using an enzyme, it is possible to ask that the generated peptides be in an ionized state between z=1 and z=5.
  2. Fixed bug with the acido-basicity calculations, where the user could only enter integer pH values. Now double values (precision 2 decimals) might be used to allow better fine-grained calculations.
  3. Updated the french translation and the documentation to reflect the new developments.

Try it out, there might well be bugs that need reporting ! Ah by the way, tomorrow I'll turn 40 ! Thanks to free software I still feel like being 20 ! The free software universe seems to be eternally fresh, with enthusiastic people (especially in the KDE ( or Qt ( universes)...


Came back from Pau, south of France, where the annual French Mass Spec Society meeting was held. Well organized, interesting stuff in there. Found some free moments to code some stuff. I'll soon make a release with multi-charged oligomers obtained by either cleaving or fragmenting a sequence. This is a feature I wanted to code since some time, as I needed it from time to time. I had the pleasure to meet Maya Belghazi, a long-time friend and colleague who assured me the mass stuff she would be doing in the near future will involve heavy usage of massXpert. I suspect that I will be having bug reports flowing to my development station... wonderful!

August 2007


Last version: 1.6.5.

  1. Implemented a feature whereby the user might define monomers to which a given chemical modification is restricted. For example, the "Phosphorylation" modification might be restricted to Seryl, Threonyl and Tyrosinyl monomers. When trying to use such a modification on a Glycyl monomer, the program would complain that Glycyl monomer is not a target of "Phosphorylation". This will be most useful for later features that will involve automatically screening modifications for mass matches between measured m/z values and theoretical ones. False positives will be prevented by ensuring that a match is not found by modifying a Glycyl monomer with "Phosphorylation", for example. In other words, more chemical intelligence is enshrined in the chemical modification object. A mechanism allowing easy overriding of the chemical limitations above is available to allow maximum flexibility.
  2. Fixed a bunch of bugs, in particular related to the chemical modification of monomers. These bugs were gui-related bugs, not actually chemistry- or mass-related bugs, so no fear for mass calculations.
  3. Fixed a bug which would show up when using atom symbols of more than two characters.
  4. Updated the User Manual so as to reflect the changes in the features of the program.
  5. Updated the french translation.

July 2007


Managed to get all the new monomer modification stuff coded and at least partly tested. Not released stuff yet, but this is what you will be getting as release 1.6.5 hits the streets: the modifications get chemical intelligence (as usual, only if the user wants to put some in) as they will be knowing what monomers they might modify and what not. Thus, when modifying monomers, if one monomer is not a target of the monomer being used, the program will complain and not perform the modification. However, it is possible to override the modification targets limitation and thus modify any monomer with that modification (flexibility for the user who knows what she is doing). As soon as all this new stuff is tested, it will be released.


Last version: 1.6.4.

  1. Setup the translation framework and fully translated the program to french (one of my native tongues, with italian). If anybody would like to help, I'm receiving any proposal (I'd be happy with a german translation or spanish, for example, but any other is all the more welcome);
  2. Improved the handling of monomer modifications when no svg file has been defined for them (this was a bug report by a user who did not read the doc and defined a new modification in the polymer chemistry definition without assigning a modification svg graphics file. When using that modification massXpert would crash. This no longer is the case, as now a default modification svg file is provided in the polymer chemistry definition directory and if such file is not found, one svg file is hard-coded in massxpert so as to be perfectly crash-proof on that matter;
  3. Fixed a bunch of bugs around the modifications being declared in the polymer chemistry definitions but not available as svg files;
  4. Performed user-invisible improvements in the development toolchain so as to prepare more reliable packages (Debian/MS-Windows) binary packages.


Fixed the User Manual (missing chapters) in packages 1.6.3 (unless for the debian doc package that was updated). The fixed User Manual is available on-line in pdf or html format. I am working hard today to improve the toolchain so as to avoid this kind of mishandling of the packages.


Last version: 1.6.3.

  1. Added possibility to modify a polymer sequence using arbitrary formulas, not necessarily modifications from the polymer chemistry definition. The use of modifications with no graphical rendering svg vignettes is in the works. It will be based on the use of a default modification-rendering file which will be used whenever no svg file is associated to any given modification in the polymer chemistry definition.
  2. Fixed a bunch of bugs with the modifications in the modification_dictionary file and related graphical vignettes.
  3. Updated the code to comply with new Qt version 4.3.0 on GNU/Linux.
  4. Some glitches fixed in the sequence editor window.
  5. Improved recorder output in the calculator window.
  6. Greatly improved the documentation by making it more concise and specific.
  7. Hopefully fixed the problematic MS-Windows package creation procedure.
  8. Detected nasty behaviour of the Qt's GraphicsScene widget which is different (for the same code) from GNU/Linux to MS-Windows. Will have to file a bug report to the Trolls.

Note that it is possible to install this 1.6.3 version using either the "Next-next-next" setup package or simply by extracting the zip file in C:\Program Files\massxpert. In this latter case, then, no icons are installed. To uninstall, simply remove the C:\Program Files\massxpert directory, and that's done. The GNU/Linux folks have no problem with the source/binary tarball or the binary Debian GNU/Linux package.


Still having a problem with the windows installer (Innosetup). Instead, unzipping this zip file in the C:\Program Files directory, so that massXpert is in C:\Program Files\massxpert works flawlessly. You only need to run C:\Program Files\massxpert\basebin\massxpert.exe. The user manual is in C:\Program Files\massxpert\doc\userman.


Update: A fixed package is now available again in the downloads directory... Attention MS-Windows package is flawed. I am correcting it. I have removed it for now.


Last version: 1.6.2. Fixed a nasty bug that would show up only during mass calculation of oligomers obtained by cleaving a sequence with a cleaving agent that applies a cleavage rule to the oligomer (and only in case the charge of the oligomer is > 1).


Last version: 1.6.1. Implemented a proof-of-concept version of a facility to compare mass lists. If matches cannot be done between lists, try to force matches using a list of modifications. This should be useful when trying to find peaks in a mass spectrum that might be of interest because they do not match theoretically-obtained masses (like by cleavage in silico). Updated the documentation. Also added a plugin to help convert numerical values from one locale to another (for example from locale fr_FR to locale en_US) which is useful if the mass spectrometer acquisition software does not comply with the locale of the MS-Windows platform.


The big single Debian package is now divided into two distinct packages: one for the binary program and its chemical data (massxpert) and one for the User Manual (massxpert-doc). Go get them here. Installing is as easy as usual (as root): dpkg -i massxpert_1.6.0-rc2-1_i386.deb and dpkg -i massxpert-doc_1.6.0-rc2-1_i386.deb.


Made a new Debian package. Download it here and, as root, issue that command: dpkg -i massxpert_1.6.0-rc2-1_i386.deb. That's a single package including absolutely everything: the program, the chemical data and the documentation. I am working on separated binary packages starting from a single source. Happy massXpert'ing.


The first release of massXpert licensed under the GNU General Public License version 3 (published by the FSF the 29th of june 2007) is available as version 1.6.0-rc2.

June 2007


The first public release of massXpert is now available for download. The software is available as a source tarball for all platforms (GNU/Linux, MacOSX and MS-Windows). There are binary packages for GNU/linux and for MS-Windows (one Inno Setup executable installation program; thanks Jordan Russell). The User Manual is available in the packages and the potential users are invited to peruse the installation chapter in the User Manual available online.


Wrote all the code allowing the user to export any kind of data either to the clipboard or to a file on disk or both.

May 2007


Code cleanup, code documentation and bug fixing these days. In the next week I'll be busy attending a conference on DNA replication, recombination and repair in Hyères, South of France.


Finally finished coding the "Net Charge" and "pI" calculations. We are nearing the finishing of the GNU polyxmass port to Qt! I also managed to fix some bugs in the mean time.


Being forced to bed due to severe back-ache, I could put my laptop at work with computation-intensive activities: simulating isotopic patterns for small proteins. The feature is now implemented and is reacheable via the XpertCalc module. Still have some minor tweaks to do to that code but the feature is cool. This is a feature that GNU polyxmass did not have! Check the screenshot.


After a full (yester-)day of tweaking the qmake configuration, I finally got the project to build/install identically on GNU/Linux (Debian) and MS-Windows-XP. The version of the released Qt library on MS-Windows is 4.2.3. All in all, it really seems that the cross-platform promises of the Qt library are well met! This means I'll soon be able to provide source and binary packages.

April 2007


The site is now up and running, thanks to the wonderful crew at (with a special mention to Jeff Bizzaro). I'll start populating this page day after day.

I first would like to mention some history about the massXpert project and next I'll start the distribution of the software. I still have some code to write and compilable packages to prepare. When everything is ready, I'll be back with news from the front.

At the moment massXpert is able to do a number of interesting things and runs equally well on GNU/Linux and MS-Windows-XP. I still have to find a Mac-OS-X computer to build the package and to be able to distribute binary packages along with the source code.

In the last weeks I discovered how easy it was to code Qt plugins, and coded a plugin with some sequence manipulation tools of interest according to the suggestions of my PhD student, Naïma Ouarti. She wanted to be able to convert a 1-letter code protein sequence to a 3-letter code protein sequence. I wrote that plugin so that such kind of conversions could be performed on the base of a dictionary listing code equivalences, like "M>Met" or "Arg>R", for example. Another function is simply the change of case from uppercase to lowercase and vice versa.


I have bought for a duration of three years. As soon as the site is ready, I'll migrate all this stuff in it. The name of this new projet will therefore be 'massXpert'. It is in fact a revival of the massXpert project I published in Bioinformatics in 2002. Note however, that the present massXpert project is a full rewrite of the GNU polyXmass project and as such is so much more powerful than the initial massXpert project.

'For this reason, whenever you see mass[Xx]treme in the remaining of this page, you should read mass[Xx]pert.'

From a coding standpoint, the mass search feature that was still lacking in massXpert is now implemented in a way that is more powerful than in GNU polyXmass. Further, the copy/paste functionality is now implemented, which makes it possible to create new sequences by copying/pasting sequences off a browser. A powerful "purification" dialog displays all the material that does not corrspond to valid monomer codes. The user may purify the sequence before actually copying it in the sequence editor.

The port of the fundamental features from polyXmass is well on track. First of all the usual paradigm of real-time automatic mass calculation in the sequence editor is done. Second, the program now allows to make the biochemical (cleavage) and the gas-phase fragmentation simulations. I have compiled it successfully on MS-Windows XP and it runs exactly the same as on GNU/Linux. I still have to code the third fundamental feature, that is mass search in the polymer sequence. After that, I'll start coding of the copy/paste operations (with sequence verification) in the sequence editor and the exporting of the data to the clipboard. When all the coding is almost finished, I'll have to search for a new name. Am I going to use massXtreme, massXpress or massXpert (one name I used for a program that I published in 2002) ? Screenshots: screenshots.

March 2007

The sequence editor is now able to perform all the editing tasks that one would expect from a sequence editor (not yet copy/paste stuff, though). It is now possible to modify any monomer in the sequence and to modify any/both end(s) of the polymer sequence. In the former case, the chemically modified monomer gets a redraw in the sequence with the modification vignette being transparently composited onto the non-modified monomer vignette.

February 2007

Well, the program is coming along well. I even have a number of screenshots of Mac-OS-X and MS-Windows XP massXtreme sessions. The Mac-OS-X stuff was provided by my dear friend Olivier Kaloudoff of Linux-Azur fame.

As of today, the editor can load a polymer sequence and display it, with all the sequence scrolling and line numbering OK, but not much more than that, for the moment :-).

Note that the sequence rendering is now completely SVG-based, so that it is based on a widely popular scalar vector graphics format that is a web consortium standard (w3). Also, the rendering is always at the best resolution whatever the size of the monomer vignettes. My vignettes were prepared using the wonderful Inkscape program although I guess Karbon would do also.

Go see the screenshots to ascertain that work is indeed going on!

January 2007

Yeah, it is proceeding smoothly. I have finished porting the atom and polymer chemistry definition infrastructure. The chemical desktop calculator is almost finished also. A conspicuous part of the low-level chemical modelling library is ported and working. I'll have to start coding the polymer sequence editor, which is a prerequisite for doing the hard-core mass spec/(bio)chemical simulations (which take place in the sequence editor module). Those interested in the alpha code can send an email (see below for mail addresses).

I'll have to buy the domain. Something like three or more years in a row. If anybody is willing to make a donation, I'll accept with immense pleasure :-)

'Happy new year for those who are starting a new year these days!'

November-December 2006

Following a number of requests about the portability of GNU polyxmass to either MacOSX and MS-Windows, I decided to develop its successor in C++ using a development toolkit renowned for its portability capabilities : the QT library from This toolkit is published under the GNU General Public License and features all the technical requirements for writing a GUI mass spectrometric software that is maintainable and expandable (with the PyQT Python scripting module). This successor to GNU polyxmass will be called massXtreme. This program will not be endorsed by the GNU project, as it won't use the Gtk+ libraries anymore.