|File Search||Catalog||Content Search|
libpolyxmass - Polymer chemistry-related functionalities… more info»
This file is part of the "GNU polyxmass" project. The "GNU polyxmass" project is an official GNU project package (see www.gnu.org) released ---in its entirety--- under the GNU General Public License and was started at the Centre National de la Recherche Scientifique (FRANCE), that granted me the formal authorization to publish it under this Free Software License. Copyright (C) 2000,2001,2002,2003,2004 Filippo Rusconi ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this software; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ README: libpolyxmass is a library that implements some housekeeping functionalities and polymer chemistry-related functionalities that are used in the other modules of the GNU polyxmass mass spectrometry framework. It was born as the merge of the two libpxmutils and libpxmchem libraries (last versions of these two libraries were for both 0.7.0). This fact is still visible as the files do have either "pxmutils-" or "pxmchem-" as prefix in their name. This nomenclature is going to be maintained as it helps understanding the functionalities that are housed in the different files of the new library. For example, libpolyxmass contains a number of functions to convert from string to gint/gdouble and conversely. Other functions are the ones that implement the PxmUserspec object (it is a typedef'ed structure, since GNU polyxmass is written in C and not C++). From a polymer chemistry point of view, libpolyxmass implements a rather big number of chemistry-related functions that are heavily used by the other modules of the GNU polyxmass software project. Examples of such chemistry-related functions are: - the implementation of the PxmMonomer object which models the chemical object "monomer" with which polymers are made; - the implementation of the PxmModif object which models the chemical modification of a monomer or polymer; - the implementation of the PxmCleavespec object which models the chemical cleavage in a polymer sequence, based upon a specificity pattern and other parameters. - the functions that are involved in mass computations, elemental or monomer composition computations, polymer cleavage logic, polymer gas-phase fragmentation logic are all implemented in this library. This all sums up to this: GNU libpolyxmass contains the chemical intelligence of the whole GNU polyxmass mass spectrometric framework. This library is heavily used by the graphical user interface modules of the GNU polyxmass software project: - GNU polyxdef (definition of polymer chemistries) - GNU polyxcalc (simple polymer definition-aware mass calculator) - GNU polyxedit (the big module where mass spectrometry experiments take place with polymer sequence editing, cleavage, fragmentation, modification...) Another example is the PxmProp object, which is an object that is used throughout the polyxmass project to implement a trivial extensibility system.