Matrix Science Mascot Parser toolkit
 
Loading...
Searching...
No Matches
config_modfile.cpp

Read in the modifications file - modfile.

/*
##############################################################################
# file: config_modfile.cpp #
# 'msparser' toolkit example code #
##############################################################################
# COPYRIGHT NOTICE #
# Copyright 1998-2005 Matrix Science Limited All Rights Reserved. #
# #
##############################################################################
# $Source: parser/examples/test_cxx/config_modfile.cpp $ #
# $Author: villek@matrixscience.com $ #
# $Date: 2018-07-30 16:23:53 +0100 $ #
# $Revision: 1b450440f9c97e1e41d0fc6016a27d68951d4532 | MSPARSER_REL_3_0_0-2024-09-24-0-g93ebaeb4f4 $ #
# $NoKeywords:: $ #
##############################################################################
*/
#include "msparser.hpp"
#include <iostream>
// All the classes are part of the matrix_science namespace
using namespace matrix_science;
int main(int argc, char * argv[])
{
if ( argc < 2 )
{
std::cout << "The location of modifications file has to be specified as a parameter" << std::endl;
std::cout << "The location should either be the full path to the modifications file" << std::endl;
std::cout << "or a URL to a Mascot server - e.g. http://mascot-server/mascot/cgi" << std::endl;
return 1;
}
// A sessionID can optionally be passed as the second parameter
// This will only be required if the 'file' is a URL
if (argc > 2)
{
cs.setSessionID(argv[2]);
}
// we need ms_masses class instance
// in practice, it has to be also read from a disc file
// but, for simplicity, we will use default masses
ms_masses massesFile;
ms_modfile file(argv[1], &massesFile, false, &cs);
if ( !file.isValid() )
{
std::cout << "There are errors. Cannot continue. The last error description:" << std::endl;
std::cout << file.getLastErrorString() << std::endl;
return 1;
}
int n = file.getNumberOfModifications();
std::cout << "There are " << n << " modifications configured:" << std::endl;
// now get'em all!
int i = 0;
for(i=0; i < n; i++)
{
std::cout << file.getModificationByNumber(i)->getTitle() << std::endl;
}
// Now change Acetyl (K)
ms_modification mod = *file.getModificationByName("Acetyl (K)");
mod.setHidden(true);
file.updateModificationByName("Acetyl (K)", mod);
// And delete Methyl (R)
file.deleteModificationByName("Methyl (R)");
//Finally, save the file under a new name - but only if not http:
if (strncmp("http:", argv[1], 5) != 0) {
std::string filename = argv[1];
filename += ".new";
file.setFileName(filename.c_str());
file.save_file();
}
std::cout << "There are now " << file.getNumberOfModifications() << " modifications configured:" << std::endl;
return 0;
}
/*
will give the output, for instance:
# config_modfile ../config/mod_file
There are 12 modifications configured:
Acetyl (N-term)
Acetyl (K)
Acetyl/Methyl (K)
Propionyl/Methyl (K)
Methyl (R)
Dimethyl (R)
Succininyl (K)
Succininyl+Methyl (K)
Biotinylated (N-term)
Biotinylated (K)
Carbamidomethyl (C)
Carbamyl (N-term)
*/
Settings required to make an HTTP connection to a Mascot server.
Definition: ms_connection_settings.hpp:54
void setSessionID(const std::string sessionID)
Sets the Mascot security sessionID to be used for the connection.
Definition: ms_connection_settings.cpp:242
std::string getLastErrorString() const
Return the error description of the last error that occurred.
Definition: ms_errors.cpp:1488
bool isValid() const
Call this function to determine if there have been any errors.
Definition: ms_errors.cpp:1472
Reads and parses the masses file with residue and atom masses.
Definition: ms_masses.hpp:48
Use this class in order to read in the amino acid modification file.
Definition: ms_modfile.hpp:407
bool updateModificationByName(const char *name, const ms_modification mod)
Update the information for a specific modification.
Definition: ms_modfile.cpp:1762
void save_file()
Stores modification information in the file.
Definition: ms_modfile.cpp:1605
const ms_modification * getModificationByNumber(const int numMod) const
Returns a modification object by its number.
Definition: ms_modfile.cpp:1717
const ms_modification * getModificationByName(const char *nameMod) const
Returns a modification object by its name or NULL in case of not found.
Definition: ms_modfile.cpp:1725
int getNumberOfModifications() const
Returns a number of modifications currently held in memory.
Definition: ms_modfile.cpp:1687
void setFileName(const char *name)
Call this member to set a custom file name to read from a different location.
Definition: ms_modfile.cpp:1129
bool deleteModificationByName(const char *name)
Remove a modification from the list in memory.
Definition: ms_modfile.cpp:1825
The class represents a single modification-entry in mod_file.
Definition: ms_modfile.hpp:134
void setHidden(const bool value)
Sets the value of Hidden parameter.
Definition: ms_modfile.cpp:282
std::string getTitle() const
Returns the modification title.
Definition: ms_modfile.cpp:171