ExitCodes main_(int, const char **) { // parameter handling String in = getStringOption_("in"); String out = getStringOption_("out"); // input file type FileTypes::Type in_type = FileHandler::getType(in); writeDebug_(String("Input file type: ") + FileTypes::typeToName(in_type), 2); if (in_type == FileTypes::UNKNOWN) { writeLog_("Error: Could not determine input file type!"); return PARSE_ERROR; } String document_id; vector<ProteinIdentification> prot_ids; vector<PeptideIdentification> pep_ids; IdXMLFile().load(in, prot_ids, pep_ids, document_id); MzTabFile mztab; mztab.store(out, prot_ids, pep_ids, in, document_id); return EXECUTION_OK; }
ExitCodes main_(int, const char **) { String in = getStringOption_("in"); StringList out = getStringList_("out"); SeedListGenerator seed_gen; // results (actually just one result, except for consensusXML input): Map<UInt64, SeedListGenerator::SeedList> seed_lists; Size num_maps = 0; FileTypes::Type in_type = FileHandler::getType(in); if (in_type == FileTypes::CONSENSUSXML) { ConsensusMap consensus; ConsensusXMLFile().load(in, consensus); num_maps = consensus.getFileDescriptions().size(); if (out.size() != num_maps) { writeLog_("Error: expected " + String(num_maps) + " output filenames"); return ILLEGAL_PARAMETERS; } seed_gen.generateSeedLists(consensus, seed_lists); } else if (out.size() > 1) { writeLog_("Error: expected only one output filename"); return ILLEGAL_PARAMETERS; } else if (in_type == FileTypes::MZML) { MSExperiment<> experiment; MzMLFile().load(in, experiment); seed_gen.generateSeedList(experiment, seed_lists[0]); } else if (in_type == FileTypes::IDXML) { vector<ProteinIdentification> proteins; vector<PeptideIdentification> peptides; IdXMLFile().load(in, proteins, peptides); seed_gen.generateSeedList(peptides, seed_lists[0], getFlag_("use_peptide_mass")); } else if (in_type == FileTypes::FEATUREXML) { FeatureMap features; FeatureXMLFile().load(in, features); seed_gen.generateSeedList( features.getUnassignedPeptideIdentifications(), seed_lists[0]); } // output: num_maps = 0; for (Map<UInt64, SeedListGenerator::SeedList>::Iterator it = seed_lists.begin(); it != seed_lists.end(); ++it, ++num_maps) { FeatureMap features; seed_gen.convertSeedList(it->second, features); //annotate output with data processing info: addDataProcessing_(features, getProcessingInfo_( DataProcessing::DATA_PROCESSING)); FeatureXMLFile().store(out[num_maps], features); } return EXECUTION_OK; }