} else if ("create-utr-references".equals(operation)) { CreateReferences cr = new CreateReferences(getObjectStoreWriter()); LOG.info("Starting CreateReferences.createUtrRefs()"); cr.createUtrRefs();
    public void execute() throws BuildException {        if (operation == null) {            throw new BuildException("operation attribute is not set");        }        try {            if ("calculate-locations".equals(operation)) {                CalculateLocations cl = new CalculateLocations(getObjectStoreWriter());                LOG.info("Starting CalculateLocations.fixPartials()");                cl.fixPartials();                LOG.info("Starting CalculateLocations.createLocations()");                cl.createLocations();            } else if ("create-chromosome-locations-and-lengths".equals(operation)) {                CalculateLocations cl = new CalculateLocations(getObjectStoreWriter());                LOG.info("Starting CalculateLocations.setChromosomeLocationsAndLengths()");                cl.setChromosomeLocationsAndLengths();            } else if ("create-oligo-locations".equals(operation)) {                CalculateLocations cl = new CalculateLocations(getObjectStoreWriter());                LOG.info("Starting CalculateLocations.createOligoLocations()");                cl.createOligoLocations();            } else if ("create-references".equals(operation)) {                CreateReferences cr = new CreateReferences(getObjectStoreWriter());                LOG.info("Starting CreateReferences.insertReferences()");                cr.insertReferences();            } else if ("create-symmetrical-relation-references".equals(operation)) {                CreateReferences cr = new CreateReferences(getObjectStoreWriter());                LOG.info("Starting CreateReferences.insertSymmetricalRelationReferences()");                cr.insertSymmetricalRelationReferences();            } else if ("fetch-contig-sequences-human".equals(operation)) {                if (ensemblDb == null) {                    throw new BuildException("ensemblDb attribute is not set");                }                Database db = DatabaseFactory.getDatabase(ensemblDb);                StoreSequences ss = new StoreSequences(getObjectStoreWriter(), db);                LOG.info("Starting StoreSequences.storeContigSequences()");                ss.storeContigSequences();            } else if ("transfer-sequences-chromosome".equals(operation)) {                TransferSequences ts = new TransferSequences(getObjectStoreWriter());                LOG.info("Starting TransferSequences.transferToChromosome()");                ts.transferToChromosome();            } else if ("transfer-sequences".equals(operation)) {                TransferSequences ts = new TransferSequences(getObjectStoreWriter());                LOG.info("Starting TransferSequences.transferToChromosome()");                ts.transferToChromosome();                LOG.info("Starting TransferSequences.transferToLocatedSequenceFeatures()");                ts.transferToLocatedSequenceFeatures();                LOG.info("Starting TransferSequences.transferToTranscripts()");                ts.transferToTranscripts();            } else if ("make-spanning-locations".equals(operation)) {                CalculateLocations cl = new CalculateLocations(getObjectStoreWriter());                LOG.info("Starting CalculateLocations.createSpanningLocations()");                cl.createSpanningLocations(Transcript.class, Exon.class, "exons");                cl.createSpanningLocations(Gene.class, Transcript.class, "transcripts");            } else if ("update-publications".equals(operation)) {                if (objectStore == null) {                    throw new BuildException("objectStore attribute is not set");                }                if (outputFile == null) {                    throw new BuildException("outputFile attribute is not set");                }                LOG.info("Starting update-publications");                Writer writer = new BufferedWriter(new FileWriter(outputFile));                new UpdatePublications(ObjectStoreFactory.getObjectStore(objectStore), writer)                    .execute();                writer.close();            } else if ("add-licences".equals(operation)) {                LOG.info("Starting add-licences");                new AddLicences(getObjectStoreWriter()).execute();            } else if ("update-orthologues".equals(operation)) {//                UpdateOrthologues uo = new UpdateOrthologues(getObjectStoreWriter());//                LOG.info("Starting UpdateOrthologues.process()");//                uo.process();//                CreateReferences cr = new CreateReferences(getObjectStoreWriter());//                LOG.info("Starting CreateReferences.populateOrthologuesCollection()");//                cr.populateOrthologuesCollection();            } else if ("homophila-post-process".equals(operation)) {                HomophilaPostProcess hpp = new HomophilaPostProcess(getObjectStoreWriter());                hpp.connectDrosophilaGenesToHumanDiseases();            } else if ("update-equivalent-interpro-features".equals(operation)) {                UpdateEquivalentInterproFeatures ueid =                        new UpdateEquivalentInterproFeatures(getObjectStoreWriter());                ueid.updateEquivalentFeatures();            } else if ("set-collection-counts".equals(operation)) {                SetCollectionCounts setCounts = new SetCollectionCounts(getObjectStoreWriter());                setCounts.setCollectionCount();            } else {                throw new BuildException("unknown operation: " + operation);            }        } catch (BuildException e) {            throw e;        } catch (Exception e) {            throw new BuildException(e);        } finally {            try {                if (osw != null) {                    osw.close();                }            } catch (Exception e) {                throw new BuildException(e);            }        }    }