private void log(String s) { fireEventOccurred(new GeneralOutputEvent(s, "")); }
private void log(String s) { fireEventOccurred(new GeneralOutputEvent(s, "")); }
@Override public void start() throws Exception { errorReport = new StringBuffer(); File file = new File( (String) args.getUniqueValue(FileArgumentDefinition.INPUT_FILE)); fireEventOccurred(new GeneralOutputEvent("Parsing " + file.getAbsolutePath(), "[Parser - start]")); parseFile(file); // output optional log file if (args.getOptions().containsKey(ERRORLOG_ARG)) { file = new File((String) args.getUniqueValue(ERRORLOG_ARG)); fireEventOccurred(new GeneralOutputEvent("Saving log to " + file.getAbsolutePath(), "[Parser - start]")); BufferedWriter writer = new BufferedWriter(new FileWriter(file)); writer.write(errorReport.toString()); writer.flush(); writer.close(); } }
@Override public void start() throws Exception { // get file content InputStream in = new BufferedInputStream(new FileInputStream(args .getUniqueValue(FileArgumentDefinition.INPUT_FILE).toString())); // parse XML content DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(in); doc.getDocumentElement().normalize(); // get all target elements NodeList nList = doc.getElementsByTagName("target"); // utility class providing XML parsing ChEMBLWrapper wrapper = new ChEMBLWrapper(graph); // iterate over all targets Set<ONDEXConcept> created = new HashSet<ONDEXConcept>(); for (int temp = 0; temp < nList.getLength(); temp++) { Node nNode = nList.item(temp); if (nNode.getNodeType() == Node.ELEMENT_NODE) { Element eElement = (Element) nNode; // parse concept from XML ONDEXConcept c = wrapper.parseTarget(eElement, null); created.add(c); } } fireEventOccurred(new GeneralOutputEvent("Total targets parsed:" + created.size(), getCurrentMethodName())); }
@Override public void start() throws Exception { GeneralOutputEvent goe = new GeneralOutputEvent("Start parsing Phytozome organism...", "[Parser - start()]"); goe.setLog4jLevel(Level.INFO); fireEventOccurred(goe); //parse FASTA, GFF3 and SYNONYM files GenomicParser genomic = new GenomicParser(genomeReg); genomic.start(graph, args, this); goe = new GeneralOutputEvent("Successfully parsed Phytozome.", "[Parser - start()]"); fireEventOccurred(goe); }
@Override public void start() throws Exception { // get parser arguments for expanded boolean expanded = (Boolean) args.getUniqueValue(EXPANDED_ARG); // which directory to parse XML files File dir = new File((String) args.getUniqueValue(FileArgumentDefinition.INPUT_DIR)); fireEventOccurred(new GeneralOutputEvent("Parsing files from " + dir.getAbsolutePath(), "[Parser - start]")); // get all xml files from directory File[] files = dir.listFiles(new FileFilter() { @Override public boolean accept(File pathname) { return pathname.getName().endsWith("xml"); } }); // parse every xml file int nbFiles = files.length; for (int i = 0; i < files.length; i++) { parse(files[i], expanded); if (i % 1000 == 0) { fireEventOccurred(new GeneralOutputEvent("Processing finished " + i + " out of " + nbFiles, "[Parser - start]")); } } }
/** * @see net.sourceforge.ondex.ONDEXPlugin#start() */ public void start() throws PluginException { fetchArguments(); PathNode result = search(); conceptDefaultBitSet = new HashSet<Integer>(); relationDefaultBitSet = new HashSet<Integer>(); if (result != null) { conceptDefaultBitSet.add(result.getCid()); traceBack(result); fireEventOccurred(new GeneralOutputEvent("Finished: Found " + conceptDefaultBitSet.size() + " Concepts and " + relationDefaultBitSet.size() + " Relations", getCurrentMethodName())); } else { ready = true; throw new PluginException("No path exists!"); } ready = true; }
/** * returns a view of concepts that meet both criteria * * @param graph the currentGraph * @param taxId * @return concept that are of specified cc and have the specified att */ private Set<ONDEXConcept> getSet(ONDEXGraph graph, ConceptClass ccName, AttributeName sequenceTypeName, AttributeName taxId) { Set<ONDEXConcept> concepts = BitSetFunctions.copy(graph.getConceptsOfAttributeName(sequenceTypeName)); fireEventOccurred(new GeneralOutputEvent(concepts.size() + " concepts found with att " + sequenceTypeName.getId(), getCurrentMethodName())); if (taxId != null) { Set<ONDEXConcept> taxConcepts = graph.getConceptsOfAttributeName(taxId); fireEventOccurred(new GeneralOutputEvent(taxConcepts.size() + " concepts found with taxId ", getCurrentMethodName())); concepts.retainAll(taxConcepts); } if (ccName != null) { concepts.retainAll(graph.getConceptsOfConceptClass(ccName)); fireEventOccurred(new GeneralOutputEvent(concepts.size() + " concepts found with att " + sequenceTypeName.getId() + " and taxId and cc " + ccName.getId(), getCurrentMethodName())); } return concepts; }
@Override public void start() throws PluginConfigurationException { setOptionalArguements(); getInputAndStart(); GeneralOutputEvent so1 = new GeneralOutputEvent( "OXL parsing finished.", "[Parser - start]"); so1.setLog4jLevel(Level.INFO); fireEventOccurred(so1); }
/** * @see net.sourceforge.ondex.ONDEXPlugin#start() */ @Override public void start() throws InvalidPluginArgumentException { fireEventOccurred(new GeneralOutputEvent("\npreparing...", "")); fetchArguments(); fetchMetaData(); createWorkingSet(); fireEventOccurred(new GeneralOutputEvent("\npreprocessing...", "")); indexGraph(); d_curr = buildTemplateTree(); fireEventOccurred(new GeneralOutputEvent("\nrunning...", "")); runMCMC(); fireEventOccurred(new GeneralOutputEvent("\npostprocessing...", "")); if (CONSENSUS) { Cluster root = consensusSet.buildConsensus(); if (root != null) buildOutput(root); } else { buildOutput(d_curr.getRoot()); } fireEventOccurred(new GeneralOutputEvent("\ndone", "")); }
/** * setups the filters */ private FileFilter setupFilters(Set<ONDEXConcept> concepts, DataSource targetDataSource) { PDBFileNameFilter filter = new PDBFileNameFilter(); for (ONDEXConcept concept : concepts) { for (ConceptAccession accession : concept.getConceptAccessions()) { if (!accession.getElementOf().equals(targetDataSource)) continue; filter.addFileName(accession.getAccession()); } } ONDEXEventHandler.getEventHandlerForSID(graph.getSID()) .fireEventOccurred( new GeneralOutputEvent("found " + filter.fileNames.size() + " pdb references in current graph", Parser.class.toString())); return filter.fileNames.size() == 0 ? new EntDotZFilter() : filter; }
/** * Takes a given AbstractONDEXGraph and builds the index around it. * * @param aog * AbstractONDEXGraph * @throws AccessDeniedException */ public void setONDEXGraph(ONDEXGraph aog) throws AccessDeniedException { GeneralOutputEvent so = new GeneralOutputEvent( "Using Lucene with index dir: " + this.indexdir, "[LuceneEnv - setONDEXGraph]"); so.setLog4jLevel(Level.INFO); // todo: fix this - should be configured // externally fireEventOccurred(so); // start indexing indexONDEXGraph(aog, create); // make the ONDEXGraph immutable og = new LuceneONDEXGraph(aog); }
private void setOptionalArguements() throws InvalidPluginArgumentException { EventType so = new GeneralOutputEvent("Starting OXL parsing...", "[Parser - start]"); so.setLog4jLevel(Level.INFO); fireEventOccurred(so); String[] gdss = (String[]) args .getObjectValueArray(ArgumentNames.IGNORE_ATTRIBUTE_ARG); for (String gds : gdss) { AttributeName attname = graph.getMetaData().getAttributeName(gds); if (attname != null) { if (ignoreGDSAttributeGDS == null) { ignoreGDSAttributeGDS = new HashSet<AttributeName>(); } ignoreGDSAttributeGDS.add(attname); } else { fireEventOccurred(new AttributeNameMissingEvent(gds + " is not found in the metadata (ignoring parameter)", "[Parser - start]")); } } }
/** * searchs for all concepts with given DataSource and adds them to the filter * * @param concepts concepts of perhaps a given cv type * @param targetDataSource which should be seached */ private void setupFilters(Set<ONDEXConcept> concepts, DataSource targetDataSource) throws InvalidPluginArgumentException { accessionFilter = new Filter(); if ((Boolean) super.args .getUniqueValue(ArgumentNames.SEARCH_FOR_PFAM_ACCESSION_ARG)) return; for (ONDEXConcept concept : concepts) { for (ConceptAccession accession : concept.getConceptAccessions()) { // accession equals targetCV if (!accession.getElementOf().equals(targetDataSource)) continue; accessionFilter.addAccession(accession.getAccession()); } } ONDEXEventHandler.getEventHandlerForSID(graph.getSID()) .fireEventOccurred( new GeneralOutputEvent("found " + accessionFilter.accessions.size() + " pfam references in current graph", Parser.class.toString())); }
private Set<ONDEXConcept> getBaseConcepts() throws InvalidPluginArgumentException { Set<ONDEXConcept> itConcepts = null; Set<ConceptClass> validCCs = getExclusiveConceptClasses(); if (validCCs.size() > 0) { for (ConceptClass cc : validCCs) { fireEventOccurred(new GeneralOutputEvent("Filtering on cc " + cc.getId(), getCurrentMethodName())); if (itConcepts == null) { itConcepts = BitSetFunctions.copy(graph .getConceptsOfConceptClass(cc)); } else { itConcepts.addAll(graph.getConceptsOfConceptClass(cc)); } } } else { itConcepts = BitSetFunctions.copy(graph.getConcepts()); // map to everything } return itConcepts; }
public void start() throws InvalidPluginArgumentException { GeneralOutputEvent so = new GeneralOutputEvent("Started TAIR Database Parser...", getCurrentMethodName()); so.setLog4jLevel(Level.INFO); fireEventOccurred(so); File dir = new File((String) args.getUniqueValue(FileArgumentDefinition.INPUT_DIR)); //Get Dir for the tair files: String inFilesDir = dir.getAbsolutePath() + File.separator; //Parse The Genome ParseGenome genome = new ParseGenome(); genome.parseGenome(inFilesDir, graph); boolean parseAnnotation = (Boolean) args.getUniqueValue(ArgumentNames.ANNOTATION); if (parseAnnotation) { //parse protein domain information ParseProtein protDomain = new ParseProtein(); protDomain.parse(inFilesDir, graph, genome.getProteinsMap()); //parse publications ParseAnnotation genePubs = new ParseAnnotation(); genePubs.parse(inFilesDir, graph, genome.getProteinsMap()); } //Parse ... (other things) so = new GeneralOutputEvent("Finished TAIR Database Parser...", getCurrentMethodName()); so.setLog4jLevel(Level.INFO); fireEventOccurred(so); }
/** * Runs an export plug-in on the specified graph * * @param exporter the export to run * @param exportArgs the args to run with * @param inputGraph the graph to export * @throws Exception if the export fails */ public void runExport(ONDEXExport exporter, ONDEXPluginArguments exportArgs, ONDEXGraph inputGraph) throws Exception { if(inputGraph == null) throw new NullPointerException("Can not run plugin with a null inputGraph"); if (exportArgs == null) exportArgs = new ONDEXPluginArguments(exporter.getArgumentDefinitions()); String name = exporter.getName(); exporter.setArguments(exportArgs); exporter.addONDEXListener(pluginLogger); if (exporter.requiresValidators() != null && exporter.requiresValidators().length > 0) { initializeValidators(exporter.requiresValidators(), inputGraph); } long start = System.currentTimeMillis(); exporter.setONDEXGraph(inputGraph); exporter.start(); fireEventOccurred(new GeneralOutputEvent("Exporting with " + name + " took " + ((System.currentTimeMillis() - start) / 1000) + " seconds", getCurrentMethodName())); }
/** * Runs a Transformer producer on the specified graph * * @param transformer the Transformer to run * @param args arguments for the transformer * @param graphInput the graph to use as input (and by implication output) * @throws Exception */ public ONDEXGraph runTransformer(ONDEXTransformer transformer, ONDEXPluginArguments args, ONDEXGraph graphInput) throws Exception { if(graphInput == null) throw new NullPointerException("Can not run plugin with a null graphInput"); if (args == null) args = new ONDEXPluginArguments(transformer.getArgumentDefinitions()); LuceneEnv lenv = null; if (transformer.requiresIndexedGraph()) { lenv = getIndex(graphInput, transformer.getName()); } String name = transformer.getName(); transformer.addONDEXListener(pluginLogger); transformer.setArguments(args); long start = System.currentTimeMillis(); transformer.setONDEXGraph(graphInput); transformer.start(); fireEventOccurred(new GeneralOutputEvent(name + " took " + ((System.currentTimeMillis() - start) / 1000) + " seconds", getCurrentMethodName())); removeIndex(graphInput, lenv); return graphInput; }
/** * Runs a parser producer * * @param parser the parser to run * @param args arguments for the parser * @param graphInput the graph to use as input (and by implication output) * @throws Exception */ public ONDEXGraph runParser(ONDEXParser parser, ONDEXPluginArguments args, ONDEXGraph graphInput) throws Exception { if(graphInput == null) throw new NullPointerException("Can not run plugin with a null graphInput"); if (args == null) args = new ONDEXPluginArguments(parser.getArgumentDefinitions()); LuceneEnv lenv = null; if (parser.requiresIndexedGraph()) { lenv = getIndex(graphInput, parser.getName()); } parser.addONDEXListener(pluginLogger); parser.setArguments(args); if (parser.requiresValidators() != null && parser.requiresValidators().length > 0) { initializeValidators(parser.requiresValidators(), graphInput); } long start = System.currentTimeMillis(); parser.setONDEXGraph(graphInput); parser.start(); fireEventOccurred(new GeneralOutputEvent(parser.getName() + " took " + +((System.currentTimeMillis() - start) / 1000) + " seconds", getCurrentMethodName())); removeIndex(graphInput, lenv); return graphInput; }
@Override public void start() throws Exception { // configure XML factory WstxOutputFactory xmlw = getXMLFactory(); // configure XML writer XMLStreamWriter2 xmlWriteStream = getXMLStreamWriter2(xmlw); fireEventOccurred(new GeneralOutputEvent("Ready to Export.", "[Export - start]")); // start document xmlWriteStream.writeStartDocument(); // write document root element xmlWriteStream.writeStartElement(ROOT); // a graph over-seeds list of concepts / relations if (graph != null) { concepts = graph.getConcepts(); relations = graph.getRelations(); writeGraphInfo(xmlWriteStream); writeMetaDataInfo(xmlWriteStream); writeEachDataSourceMetaData(xmlWriteStream); writeConceptAccessions(xmlWriteStream); } // close XML document properly xmlWriteStream.writeEndElement(); xmlWriteStream.writeEndDocument(); xmlWriteStream.flush(); xmlWriteStream.close(); flushOutput(); fireEventOccurred(new GeneralOutputEvent("Finished Graph Info Export.", "[Export - start]")); }