
massXpert: mass spectrometry software
Source (link to git-repo or to original if based on someone elses unmodified work):
* User-specific atom definitions and polymer chemistry definitions;
* Powerful sequence editing with user-defined glyphs for each monomer and monomer chemical modification. Multi-region selections;
* Polymer sequence chemical/enzymatic cleavage;
* Intramolecular cross-linking, like disulfide bonds with total resolution of the peptides generated upon enzymatic cleavage;
* Gas-phase fragmentation of oligomers;
* Mass-to-charge ratio calculations with inline change of ionization agent;
* Calculation of net electrical charge and of isoelectric point (even by taking into account monomer modifications if polymer is a protein);
* Simulation of isotopic patterns for any chemical formula and z charge;
* A number of plugins allow 1) translation of the sequence from one format to another (using a dictionary, like between the 1-letter code and the 3-letter code of proteins) 2) conversion of number format according to any localized number format 3) sort mass lists.
The software package has the two philosophical and technical characteristics:
* Free Software according to the Free Software Foundation;
* Cross-platform software running in identical manners on GNU/Linux (and UNICES), MacOSX and MS-Windows.
3.6.0
* Port to the last Qt version (5.x).
* Overhaul of the polymer fragmentation calculations. Now the user has to define fragmentations specifications that yield neutral molecular species (neutral fragments). The, the XpertEdit module will be in charge of ionizing all the fragments according to the ionization currently set. This improvement makes it trivial to switch from positive ion mode to negative ion mode fragmentation. Note that the polymer chemistry definitions dna/protein/saccharide have all been modified according to the new calculation process. Please, peruse the documentation for details.
3.4.0
* Implemented feature that allows one to enter a coordinates string in the sequence editor window so as to select a specific sequence or make a multi-region selection or make a multi-selection region.
* Refactored the mz lab GUI so as to greatly simplify its use.
* Updated the french translation.
3.3.0
* Update: user mrbit has told me that packages for massXpert are available for Archlinux. Thank you very much.
* 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.
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.
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.
3.0.0
* Thorough rewrite of the XpertMiner module with a load of new features and a great many improvements/fixes.
2.9.0
* 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.
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.
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.
2.6.0:
Improvement of 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.
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.
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).
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.
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.
2.4.2:
* Fixed a bug that crashed the program when the user would click (on the sequence editor) left of first monomer vignette.
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.
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).
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.
2.3.0:
* A new feature was added that allows polymer sequence cleavages to only be performed on the selected region of the polymer sequence.
* Updated the user manual to document the new feature.
*Bug fixes.
2.2.0:
*Started working on a new monomer dictionary framework, that's used by the newly developed PDB text file protein sequence importer.
*Fixed a bug which would prevent saving the name of a polymer sequence file after modification.
*Updated the french translation. Usual slew of small bug fixing.
2.1.0 / MS-Windows only: new installer for MS-Windows to fix problem with the previous one lacking one required dll.
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.
2.0.9:
* Bug fix release : a bug that was crashing the program in corner polymer cleavage cases was fixed.
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.
Happy massXpert'ing !
2.0.7:
* Fixes to nroff formatting of the man pages (thanks to Daniel Leidert for suggestions);
* 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 @#$*-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.
* Added Doxygen configuration file. Docs generated outside of the source tree.
* 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.
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. Update: packages for MS-Windows and Mac-OS-X are now ready.
2.0.4 --Paper about massXpert accepted for publication in the Bioinformatics, UK journal. Reworked the XpertCalc module to allow for grouping/colouring the buttons of the chemical pad (huge user interaction improvement when lots of buttons are programmed; saccharide chemistry, for example). Spaces are now admitted in the Formula line edit widget to ease reading a very long formula. Added feature to allow sending the formula of a chemical pad button to the Formula line edit widget with no immediate account of it. Useful when performing very long calculations, like when constructing a ramified oligosaccharide. Bug fixes in XpertCalc. Fully translated in to French and improved the English user messages all along. Updated the User Manual.
2.0.1 -- Bug fixes: fixed bug due to not taking into account the locale while exporting oligomer results as text ; fixed small glitches with locale-specific input/output in the graphical user interface. Improvements: 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; switched to UseLATEX.cmake for building the user manual.
1.9.9 -- Fixed bug with the file writing process (polymer chemistry definitions and polymer sequences) which would lead to unusable files. Fixed XpertDef crash due to not checking if a modification is used by a cross-linker prior to removing it from the definition.
1.9.8 -- Fixed sorting of fragmentation oligomers based on their name.
1.9.5 -- Added configurability feature to XpertEdit so as to let the user defined how many decimals are to be used to display numbers depending on the chemical entity (10 decimals for atoms and 3 decimals for entire polymer sequences, for example). Bug fix: fixed bug that would crash the program when trying to unmodify a monomer that is no more existent in the sequence. 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. Fixed problem with software configuration (config.h) so that translation files are found. Improved the user experience with setting polymer modifications. Fix with the french translation. Improved user graphics interface experience in XpertCalc. Update of the french translation. Small bug fixes here and there.
1.9.0 -- Bug fix. The oligomers produced are inexact when using a cleavage specification involving activities cleaving left and right of the target monomers, like "/D;R/". This bug shows up only with partial cleavage >= 1. Added feature to be able to edit a sequence by clicking onto items in a list of available monomers. Set the stage for the customization of the way masses are displayed to the user (internal code modification as of yet).
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 is empty), another cleavage was performed. This has been fixed.
1.8.0-1 (MacOSX only) -- Bug fix release fixing mangled symbols (due to an unclean compilation environment) which would lead to occasional crashes.
1.8.0 -- Bug-fix release fixing a bug whereby the program would crash upon pasting in XpertEdit a polymer sequence containing invalid characters.
1.7.9 -- Potent improvements to the list matching feature in the mzLab. 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. Many fixes and improvements in the mzLab XpertMiner module (masses of fragments are now treated problem with respect to their charge). 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. 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. Improved the saccharide polymer chemistry definition. Indexed the user manual. Fixed bug which would crash the program upon selection of a sequence starting after its last monomer. Fixed bug which would crash the program upon trying to select an empty sequence. Fix of a recently-introduced bug about calculation of the right end boundary of fragments. Fix of a regression in the mechanics of uncross-linking monomers. Does not connect anymore to massxpert.org to probe for usage (never worked, in fact). Internally, implemented Oligomer as a class derived from Sequence so that it is possible to store the sequence of the oligomer inside it. Internally, very much improved the cleavage oligomer/fragment oligomer charge handling (fragmentation-generated oligomers' charge is handled very differently than the cleavage oligomers' charge). GUI improvements. Bug fixes here and there. Updated the documentation.
1.7.8 -- Added possibility to stack oligomers obtained via different cleavages using different cleaving agents. This makes it possible to gather in a single window all the oligomers generated in a number of cleavage simulations. Bugfixes. Updated the documentation.
1.7.7 -- Added feature to be able to select an arbitrary number of regions in the polymer sequence. This feature is required to make the most out of the cross-linking simulations available in massXpert. The implications of this new development are pervasive in all the project and should allow even more intuitive simulations to be performed in the XpertEdit module. Check for yourself !
1.7.6 (followed) -- New package for Mac OS X with fixed plugins.
1.7.6 -- Switch to the GNU General Public License version 3. 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 required installation of the Qt libraries anymore. Simply drop the massXpert.app bundle somewhere and start using the software. Started implementation of a new data mining feature: mzLab. This is still experimental software. Big code cleanup, classes were redesigned and numerous bug fixes (GUI and non-GUI) were made.
1.7.5 -- Finally one Mac OS X package; The whole software program is now relocatable; The french translation is now 100 % complete; Huge code cleanup work, along with implementation of namespaces in the whole project; Some classes added along with some existing classes redesigned; Bug fixes here and there; Updated the documentation.
Please, test the software thoroughly, and specifically the Mac OS X package. Report any failure or any success to the maintainer address at the Contact page.
1.7.4 -- 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'. Updated the french translation. Fixed memory leak and bugs. Updated the user manual.
1.7.3 -- Implemented dynamic mass data filtering on the oligomer data obtained after a polymer sequence fragmentation or after arbitrary mass searches. Fixed regression after the implementation of last release's features. Fixed minor bugs and cleaned up code. Improved the user experience in the graphical user interface. Updated the documentation.
1.7.2 -- Added filtering capabilities to the polymer sequence cleavage results treeview widget. It is thus possible to filter all the obtained oligomer data in-place so that only oligomers respecting a number of criteria are displayed. Also updated the documentation to explain the workings.
1.7.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). Implemented find sequence motif in polymer sequence. This is a rather simple implementation but very handy for long polymer sequences. 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. Various bug fixes and other small improvements.
1.7.0 -- update: finally made the rpm package (Fedora .
1.7.0 -- 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. This bugfix triggered a wave of code cleanup and the coding of a new more robust way of modifiying the polymer sequence. The polymer sequence file format changed but older formats are handled with a versioning scheme that was coded in this release.
1.6.9 -- 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. Also, the polymer modifications are now easily visualized in the polymer sequence editor, and there they can be easily modified. Updated the documentation.
1.6.8 -- Fully rewritten the polymer chemistry definition code (user interface redesigned). Bug fixes here and there. Started to code the framework for intra-molecular cross-link. This feature should be available in the next release. New package for Fedora core, usual packages for Debian GNU/Linux. The user manual was updated to reflect the above changes and is available in PDF and HTML formats in the package(s).
1.6.7 -- 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. 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. Note that the documentation still does not reflect the conversion.
1.6.6 -- Added 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. 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. Various minor bug-fixes.
1.6.5 -- Added feature whereby, upon definition of a monomer chemical modification, the user might tell which monomers are targets of that modification. If the user tries to modify a monomer with a modification that cannot be used for that, she is alerted. A mechanism overriding the modification target limitations is available for maximum flexibility. Bugfixes related to the chemical modification of polymer sequences. Updated the user manual to document the new features.
1.6.4 -- 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). Definitely improved the handling of monomer modifications when no svg file has been defined for these: the program is now crash-proof. Fixed a bunch of bugs around the modifications being declared in the polymer chemistry definitions but not available as svg files (which would lead to crashes). Fixed the User Manual.
Ratings & Comments
0 Comments