Ejemplo n.º 1
0
  protected BasicGene geneFromFeature(Feature feat) {
    BasicGene ret = new Gene();

    ret.setUniqueName(feat.getUniqueName());
    ret.setFeatureId(feat.getFeatureId());

    List<String> synonyms = new ArrayList<String>();
    for (FeatureSynonym fs : feat.getFeatureSynonyms()) {
      String type = fs.getSynonym().getType().getName();
      if (type.equals("synonym")) {
        synonyms.add(fs.getSynonym().getName());
      }
    }
    ret.setSynonyms(synonyms);

    if (StringUtils.hasText(feat.getName())) {
      ret.setName(feat.getName());
    }

    for (FeatureRelationship fr : feat.getFeatureRelationshipsForObjectId()) {
      Feature otherFeat = fr.getSubjectFeature();
      if (otherFeat instanceof org.gmod.schema.feature.Transcript) {
        ret.addTranscript(makeTranscript(otherFeat));
      }
    }

    ret.setOrganism(feat.getOrganism().getCommonName());

    FeatureLoc loc = feat.getRankZeroFeatureLoc();
    Feature chromosomeFeature = loc.getSourceFeature();
    Chromosome chromosome =
        new Chromosome(
            chromosomeFeature.getDisplayName(),
            chromosomeFeature.getFeatureId(),
            chromosomeFeature.getSeqLen());
    ret.setChromosome(chromosome);
    ret.setStrand(loc.getStrand());
    ret.setFmin(loc.getFmin());
    ret.setFmax(loc.getFmax());

    return ret;
  }