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

Read in the fragmentation_rules file.

/*
##############################################################################
# file: config_fragrules.cpp #
# 'msparser' toolkit example code #
##############################################################################
# COPYRIGHT NOTICE #
# Copyright 1998-2005 Matrix Science Limited All Rights Reserved. #
# #
##############################################################################
# $Source: parser/examples/test_cxx/config_fragrules.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 fragmentation_rules file has to be specified as a parameter" << std::endl;
std::cout << "The location should either be the full path to the fragmentation_rules 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]);
}
ms_fragrulesfile file(argv[1], &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.getNumberOfInstruments();
std::cout << n << " instruments are configured:" << std::endl;
int i;
for(i=0; i < n; i++)
{
std::cout << file.getInstrumentName(i) << std::endl;
}
// Now change ESI-QUAD-TOF
ms_fragmentationrules instrument = *file.getInstrumentByName("ESI-QUAD-TOF");
instrument.setSeriesUsed(23, true); // Add v series
file.updateInstrumentByName("ESI-QUAD-TOF", instrument);
// And delete MALDI-QIT-TOF
file.deleteInstrumentByName("MALDI-QIT-TOF");
//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.getNumberOfInstruments() << " instruments configured." << std::endl;
return 0;
}
/*
will give the output:
# config_fragrules.exe ../config/fragmentation_rules
11 instruments are configured:
Default
ESI-QUAD-TOF
MALDI-TOF-PSD
ESI-TRAP
ESI-QUAD
ESI-FTICR
MALDI-TOF-TOF
ESI-4SECTOR
FTMS-ECD
MALDI-QUAD-TOF
LCQ
There are now 10 instruments configured.
*/
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
This class encapsulates a single entry (an instrument) from a fragmentation_rules file.
Definition: ms_fragmentationrules.hpp:56
void setSeriesUsed(const int series, const bool val)
Sets availability on a given series.
Definition: ms_fragmentationrules.cpp:343
This class encapsulates a complete fragmentation_rules file.
Definition: ms_fragmentationrules.hpp:209
const ms_fragmentationrules * getInstrumentByName(const char *name) const
Returns a configuration for an instrument by name.
Definition: ms_fragmentationrules.cpp:1313
bool updateInstrumentByName(const char *name, const ms_fragmentationrules item)
Update the information for a specific instrument.
Definition: ms_fragmentationrules.cpp:1369
void save_file()
Stores instrument definitions in a file.
Definition: ms_fragmentationrules.cpp:1245
void setFileName(const char *filename)
Use this member to set a non-default file name.
Definition: ms_fragmentationrules.cpp:959
bool deleteInstrumentByName(const char *name)
Remove an instrument from the list in memory.
Definition: ms_fragmentationrules.cpp:1432
std::string getInstrumentName(const int instrumentNum) const
Returns an instrument name by its number from 0 to (getNumberOfInstruments()-1).
Definition: ms_fragmentationrules.cpp:1297
int getNumberOfInstruments() const
Returns a number of instruments configured.
Definition: ms_fragmentationrules.cpp:997