Matrix Science header

config_taxonomy.cpp

Read in the taxonomy file.

/*
##############################################################################
# file: config_taxonomy.cpp                                                  #
# 'msparser' toolkit example code                                            #
##############################################################################
# COPYRIGHT NOTICE                                                           #
# Copyright 1998-2005 Matrix Science Limited  All Rights Reserved.           #
#                                                                            #
##############################################################################
#    $Source: parser/examples/test_cxx/config_taxonomy.cpp $ #
#     $Author: villek@matrixscience.com $                                                      #
#       $Date: 2018-07-30 16:23:53 +0100 $                                         #
#   $Revision: 1b450440f9c97e1e41d0fc6016a27d68951d4532 | MSPARSER_REL_2_8_1-0-gea32989045 $                                                         #
# $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 taxonomy file has to be specified as a parameter" << std::endl;
        std::cout << "The location should either be the full path to the taxonomy 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
    ms_connection_settings cs;
    if (argc > 2) 
    {
        cs.setSessionID(argv[2]);
    }
    ms_taxonomyfile 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.getNumberOfEntries();
    std::cout << "There are " << n << " taxonomy choice entries configured:" << std::endl;

    // now get'em all!
    int i = 0;
    for(i=0; i < n; i++)
    {
        std::cout << file.getEntryByNumber(i)->getTitle() << std::endl;
        std::cout << "Include: ";
        int j;
        for(j=0; j < file.getEntryByNumber(i)->getNumberOfIncludeTaxonomies(); j++)
        {
            if ( j > 0 )
                std::cout << ",";
            std::cout << file.getEntryByNumber(i)->getIncludeTaxonomy(j);
        }
        std::cout << std::endl;
        std::cout << "Exclude: ";
        for(j=0; j < file.getEntryByNumber(i)->getNumberOfExcludeTaxonomies(); j++)
        {
            if ( j > 0 )
                std::cout << ",";
            std::cout << file.getEntryByNumber(i)->getExcludeTaxonomy(j);
        }
        std::cout << std::endl;
    }

    return 0;
}


/*

will give the output, for instance: 


# config_taxonomy ../config/taxonomy

There are 64 taxonomy choice entries configured:
All entries
Include: 1
Exclude: 0
. . Archaea (Archaeobacteria)
Include: 2157
Exclude:
. . Eukaryota (eucaryotes)
Include: 2759
Exclude:
. . . . Alveolata (alveolates)
Include: 33630
Exclude:
. . . . . . Plasmodium falciparum (malaria parasite)
Include: 5833
Exclude:
. . . . . . Other Alveolata
Include: 33630
Exclude: 5833

...

*/

Copyright © 2022 Matrix Science Ltd.  All Rights Reserved. Generated on Thu Mar 31 2022 01:12:29