Examples of NexusDataSet


Examples of org.cipres.treebase.domain.nexus.NexusDataSet

    PhyloTree tree = getPhyloTreeService().findByID(pTreeId);
    tree = getPhyloTreeService().resurrect(tree);
    TreeBlock enclosingTreeBlock = getPhyloTreeService().resurrect(tree.getTreeBlock());
    TaxonLabelSet tls = getPhyloTreeService().resurrect(enclosingTreeBlock.getTaxonLabelSet());
    if ( getFormat(request) == FORMAT_NEXML || getFormat(request) == FORMAT_RDF ) {
      NexusDataSet nds = new NexusDataSet();
      nds.getTaxonLabelSets().add(tls);
      TreeBlock treeBlock = new TreeBlock();
      treeBlock.setTaxonLabelSet(tls);
      treeBlock.addPhyloTree(tree);
      nds.getTreeBlocks().add(treeBlock);
      return getNexmlService().serialize(nds,getDefaultProperties(request),tree.getStudy());
    }
    /*else if ( getFormat(request) == FORMAT_RDF ) {
      NexusDataSet nds = new NexusDataSet();
      nds.getTaxonLabelSets().add(tls);
View Full Code Here

Examples of org.cipres.treebase.domain.nexus.NexusDataSet

    // Process one file at a time:
    for (File file : pNexusFiles) {

      long timeFile = System.currentTimeMillis();

      NexusDataSet dataSet = null;
      try {
        // first start a transaction, use Hibernate to add and persist most of the data
        dataSet = addNexusFile(pSubmission, file);
        NexusDataSetJDBC dataJDBC = dataSet.getDataJDBC();

        // Next use direct JDBC to batch insert data, for performance reason.
        // getDomainHome().refreshAll(dataJDBC.getAllMatrices());

        // TODO: create a new method:
        Connection conn = getSubmissionHome().getConnection();
        for (MatrixJDBC matrixJDBC : dataJDBC.getMatrixJDBCList()) {
          matrixJDBC.batchInsertColumn(conn);
          matrixJDBC.prepElementBatchInsert(conn);
          matrixJDBC.processMatrixElements(conn);
          // MesquiteMatrixConverter converter = matrixJDBC.getMesqMatrixConverter();
          // converter.processMatrixElements(matrixJDBC, conn);

          matrixJDBC.batchInsertCompoundElements(conn);
          matrixCount ++;
        }

        treeCount += dataSet.getTotalTreeCount();

        // ALERT: Do not use. will get connection closed exception!
        // try {
        // conn.close();
        // } catch (SQLException ex) {
        // throw new CleanupFailureDataAccessException("Failed to close connection.", ex);
        // }
      } finally {
        // Dispose the mesquite project after all usage:
        if (dataSet != null && dataSet.getMesqProject()!=null) dataSet.getMesqProject().dispose();
      }
     
      for (Matrix m : dataSet.getMatrices()) {
        getMatrixHome().refresh(m);
        m.setDimensions();
        getMatrixHome().merge(m);
      }
View Full Code Here

Examples of org.cipres.treebase.domain.nexus.NexusDataSet

    // better to refresh:
    Submission sub = update(pSubmission);

    Study study = sub.getStudy();

    NexusDataSet data = getNexusService().parseNexus(study, pNexusFile);

    if (data != null) {

      long timeStart = System.currentTimeMillis();

      // need to store the taxon labels, don't ask why...
      Collection<TaxonLabel> labels = data.getAllTaxonLabels();
      getTaxonLabelHome().storeAll(labels);
      getTaxonLabelHome().storeAll(data.getTaxonLabelSets());
      sub.addTaxonLabels(labels);
      getTaxonHome().flush();

      sub.getStudy().getTaxonLabelSets().addAll(data.getTaxonLabelSets());

      // Store matrice:
      for (Matrix uploadMatrix : data.getMatrices()) {
        uploadMatrix.setStudy(sub.getStudy());
      }
      getMatrixHome().persistAll(data.getMatrices());
      sub.addMatrices(data.getMatrices());
      getMatrixHome().flush();

      // need to store the trees, don't ask why...
      // List<PhyloTree> alltrees = new ArrayList<PhyloTree>();
      // for (TreeBlock block : data.getTreeBlocks()) {
      // alltrees.addAll(block.getTreeList());
      // }
      // getPhyloTreeHome().storeAll(alltrees);
     
     
      //If there are more than the number of trees in getMaxTreeCount trees in a TreeBlock we need to remove them
      for (TreeBlock treeblock : data.getTreeBlocks()) {
          if (treeblock.getTreeCount() > getMaxTreeCount()) {
            Iterator tree = treeblock.getTreeListIterator();
            int treecount = 1;
           
            while(tree.hasNext()) {
              if (treecount > getMaxTreeCount()) {
                tree.remove();
              }
              tree.next();
              treecount++;
            }
          }
      }
     
      getPhyloTreeHome().storeAll(data.getTreeBlocks());
      sub.addPhyloTreeBlocks(data.getTreeBlocks());
     
     
     
   
      getPhyloTreeHome().flush();
View Full Code Here

Examples of org.cipres.treebase.domain.nexus.NexusDataSet

    // better to refresh:
    Submission sub = update(pSubmission);

    Study study = sub.getStudy();

    NexusDataSet data = getNexusService().parseNexus(study, pNexusFiles, pListener);
    NexusDataSetJDBC dataJDBC = null;

    if (data != null) {

      long timeStart = System.currentTimeMillis();

      // need to store the taxon labels, don't ask why...
      Collection<TaxonLabel> labels = data.getAllTaxonLabels();
      getTaxonLabelHome().storeAll(labels);
      getTaxonLabelHome().storeAll(data.getTaxonLabelSets());
      sub.addTaxonLabels(labels);
      getTaxonHome().flush();

      sub.getStudy().getTaxonLabelSets().addAll(data.getTaxonLabelSets());

      // Store matrice:
      getMatrixHome().persistAll(data.getMatrices());
      sub.addMatrices(data.getMatrices());

      // need to store the trees, don't ask why...
      // List<PhyloTree> alltrees = new ArrayList<PhyloTree>();
      // for (TreeBlock block : data.getTreeBlocks()) {
      // alltrees.addAll(block.getTreeList());
      // }
      // getPhyloTreeHome().storeAll(alltrees);
      getPhyloTreeHome().storeAll(data.getTreeBlocks());

      sub.addPhyloTreeBlocks(data.getTreeBlocks());

      update(sub);

      if (LOGGER.isDebugEnabled()) {
        long timeEnd = System.currentTimeMillis();
        LOGGER.debug("add nexus time=" + (timeEnd - timeStart) / 1000); //$NON-NLS-1$
      }

      dataJDBC = data.getDataJDBC();
    }

    return dataJDBC;
  }
View Full Code Here

Examples of org.cipres.treebase.domain.nexus.NexusDataSet

   *
   * @param pDocument
   * @return
   */
  public NexusDataSet fromXmlToTreeBase(Document pDocument) {
    NexusDataSet nexusDataSet = new NexusDataSet();
    nexusDataSet.setNexmlProject(pDocument);
   
    NexmlOTUReader noc = new NexmlOTUReader(getStudy(),getTaxonLabelHome(),pDocument);
    for ( OTUs xmlOTUs : pDocument.getOTUsList() ) {
      TaxonLabelSet taxonLabelSet = noc.fromXmlToTreeBase(xmlOTUs);
      nexusDataSet.addTaxonLabelSet(xmlOTUs, taxonLabelSet);
    }
   
    NexmlMatrixReader nmc = new NexmlMatrixReader(getStudy(),getTaxonLabelHome(),pDocument);
    for ( Matrix<?> xmlMatrix : pDocument.getMatrices() ) {
      org.cipres.treebase.domain.matrix.Matrix matrix = nmc.fromXmlToTreeBase(xmlMatrix);
      nexusDataSet.getMatrices().add(matrix);
    }
   
    NexmlTreeBlockReader ntc = new NexmlTreeBlockReader(getStudy(),getTaxonLabelHome(),pDocument);
    for ( TreeBlock xmlTreeBlock : pDocument.getTreeBlockList() ) {
      org.cipres.treebase.domain.tree.TreeBlock treeBlock = ntc.fromXmlToTreeBase(xmlTreeBlock);
      nexusDataSet.getTreeBlocks().add(treeBlock);
    }
   
    return nexusDataSet;   
 
View Full Code Here

Examples of org.cipres.treebase.domain.nexus.NexusDataSet

    return null; // do not need persistence service.
  }

  public NexusDataSet parseNexus(Study study, Collection<File> nexusFiles,
      ProgressionListener listener) {
    NexusDataSet data = new NexusDataSet();
    NexmlConverter converter = new NexmlConverter();
    for ( File nexusFile : nexusFiles ) {
      converter.parseOneFile(nexusFile, study, data);
    }
    return data;
View Full Code Here

Examples of org.cipres.treebase.domain.nexus.NexusDataSet

      if (LOGGER.isInfoEnabled()) {
        LOGGER.info("parseNexus - Study is null"); //$NON-NLS-1$
      }
      return null;
    }   
    NexusDataSet data = new NexusDataSet();
    NexmlConverter converter = new NexmlConverter();
    converter.parseOneFile(nexusFile, study, data);
    return data;
  }
View Full Code Here

Examples of org.cipres.treebase.domain.nexus.NexusDataSet

        LOGGER.info("parseNexus - Study is null"); //$NON-NLS-1$
      }
      return null;
    }

    NexusDataSet data = new NexusDataSet();

    MesquiteConverter converter = new MesquiteConverter();
    converter.setMatrixDataTypeHome(getMatrixDataTypeHome());
    converter.setItemDefinitionHome(getItemDefinitionHome());
    converter.setTaxonLabelHome(getTaxonLabelHome());
View Full Code Here

Examples of org.cipres.treebase.domain.nexus.NexusDataSet

    if (!checkFiles(pNexusFiles)) {
      return null;
    }

    NexusDataSet data = new NexusDataSet();

    MesquiteConverter converter = new MesquiteConverter();
    converter.setMatrixDataTypeHome(getMatrixDataTypeHome());
    converter.setItemDefinitionHome(getItemDefinitionHome());
    converter.setTaxonLabelHome(getTaxonLabelHome());
View Full Code Here

Examples of org.cipres.treebase.domain.nexus.NexusDataSet

  protected String getFileContent(long objectId, HttpServletRequest request) {
    Study pStudy = ControllerUtil.findStudy(request, getStudyService());
    Matrix matrix = getMatrixService().findByID(objectId);
    TaxonLabelSet taxa = matrix.getTaxa();   
    if ( getFormat(request) == FORMAT_NEXML || getFormat(request) == FORMAT_RDF ) {
      NexusDataSet pNexusDataSet = new NexusDataSet();
      pNexusDataSet.getTaxonLabelSets().add(taxa);
      pNexusDataSet.getMatrices().add(matrix);
      return getNexmlService().serialize(pNexusDataSet,getDefaultProperties(request),matrix.getStudy());
    }
    /*else if ( getFormat(request) == FORMAT_RDF ) {
      NexusDataSet pNexusDataSet = new NexusDataSet();
      pNexusDataSet.getTaxonLabelSets().add(taxa);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.