Example #1
0
  /**
   * Constructor
   *
   * @param writer ItemWriter
   * @param seqClsName The class of the coordinate system for this GFF3 file (generally Chromosome)
   * @param orgTaxonId The taxon ID of the organism we are loading
   * @param dataSourceName name for dataSource
   * @param dataSetTitle title for dataSet
   * @param tgtModel the model to create items in
   * @param handler object to perform optional additional operations per GFF3 line
   * @param sequenceHandler the GFF3SeqHandler use to create sequence Items
   * @throws ObjectStoreException if something goes wrong
   */
  public GFF3Converter(
      ItemWriter writer,
      String seqClsName,
      String orgTaxonId,
      String dataSourceName,
      String dataSetTitle,
      Model tgtModel,
      GFF3RecordHandler handler,
      GFF3SeqHandler sequenceHandler)
      throws ObjectStoreException {
    super(writer, tgtModel);
    this.seqClsName = seqClsName;
    this.orgTaxonId = orgTaxonId;
    this.tgtModel = tgtModel;
    this.handler = handler;
    this.sequenceHandler = sequenceHandler;

    organism = getOrganism();
    dataSource = getDataSourceItem(dataSourceName);
    dataSet = getDataSetItem(dataSetTitle, null, null, dataSource);

    if (sequenceHandler == null) {
      this.sequenceHandler = new GFF3SeqHandler();
    }

    setStoreHook(
        new BioStoreHook(
            tgtModel,
            dataSet.getIdentifier(),
            dataSource.getIdentifier(),
            BioConverterUtil.getOntology(this)));

    handler.setConverter(this);
    handler.setIdentifierMap(identifierMap);
    handler.setOrganism(organism);
    readConfig();
  }