Search in sources :

Example 1 with DnaRegionReferenceProxy

use of org.vcell.pathway.persistence.BiopaxProxy.DnaRegionReferenceProxy in project vcell by virtualcell.

the class PathwayReaderBiopax3 method addContentDnaReference.

private boolean addContentDnaReference(DnaReference dnaReference, Element element, Element childElement) {
    if (addContentEntityReference(dnaReference, element, childElement)) {
        return true;
    }
    /**
     * ArrayList<DnaRegionReference> subRegion
     * BioSource organism
     * ArrayList<RnaRegionReference> subRegion
     * String sequence
     */
    if (childElement.getName().equals("organism")) {
        dnaReference.setOrganism(addObjectBioSource(childElement));
        return true;
    } else if (childElement.getName().equals("dnaSubRegion")) {
        // obsolete
        dnaReference.getDnaSubRegion().add(addObjectDnaRegionReference(childElement));
        return true;
    } else if (childElement.getName().equals("rnaSubRegion")) {
        // obsolete
        dnaReference.getRnaSubRegion().add(addObjectRnaRegionReference(childElement));
        return true;
    } else if (childElement.getName().equals("sequence")) {
        dnaReference.setSequence(childElement.getTextTrim());
        return true;
    } else if (childElement.getName().equals("subRegion")) {
        if (childElement.getChildren().size() == 0) {
            // if there are no children it must be a resource inside another object
            // we don't know yet whether it's DnaRegionReference or RnaRegionReference, we make a proxy for each
            // at the time when we solve the references we'll find out which is fake
            DnaRegionReference dReg = new DnaRegionReferenceProxy();
            addAttributes(dReg, childElement);
            pathwayModel.add(dReg);
            dnaReference.getDnaSubRegion().add(dReg);
            RnaRegionReference rReg = new RnaRegionReferenceProxy();
            addAttributes(rReg, childElement);
            pathwayModel.add(rReg);
            dnaReference.getRnaSubRegion().add(rReg);
            return true;
        } else {
            // it's the real object declaration - we ignore this situation for now
            showIgnored(childElement, "Found NESTED child.");
            return false;
        }
    } else {
        // no match
        return false;
    }
}
Also used : DnaRegionReferenceProxy(org.vcell.pathway.persistence.BiopaxProxy.DnaRegionReferenceProxy) DnaRegionReference(org.vcell.pathway.DnaRegionReference) RnaRegionReferenceProxy(org.vcell.pathway.persistence.BiopaxProxy.RnaRegionReferenceProxy) RnaRegionReference(org.vcell.pathway.RnaRegionReference)

Example 2 with DnaRegionReferenceProxy

use of org.vcell.pathway.persistence.BiopaxProxy.DnaRegionReferenceProxy in project vcell by virtualcell.

the class PathwayReaderBiopax3 method addObjectDnaRegionReference.

private DnaRegionReference addObjectDnaRegionReference(Element element) {
    if (element.getChildren().size() == 0) {
        DnaRegionReferenceProxy proxy = new DnaRegionReferenceProxy();
        addAttributes(proxy, element);
        pathwayModel.add(proxy);
        return proxy;
    }
    DnaRegionReference dnaRegionReference = new DnaRegionReference();
    addAttributes(dnaRegionReference, element);
    for (Object child : element.getChildren()) {
        if (child instanceof Element) {
            Element childElement = (Element) child;
            if (!addContentDnaRegionReference(dnaRegionReference, element, childElement)) {
                showUnexpected(childElement);
            }
        }
    }
    pathwayModel.add(dnaRegionReference);
    return dnaRegionReference;
}
Also used : DnaRegionReferenceProxy(org.vcell.pathway.persistence.BiopaxProxy.DnaRegionReferenceProxy) DnaRegionReference(org.vcell.pathway.DnaRegionReference) Element(org.jdom.Element) GroupObject(org.vcell.pathway.GroupObject) BioPaxObject(org.vcell.pathway.BioPaxObject)

Aggregations

DnaRegionReference (org.vcell.pathway.DnaRegionReference)2 DnaRegionReferenceProxy (org.vcell.pathway.persistence.BiopaxProxy.DnaRegionReferenceProxy)2 Element (org.jdom.Element)1 BioPaxObject (org.vcell.pathway.BioPaxObject)1 GroupObject (org.vcell.pathway.GroupObject)1 RnaRegionReference (org.vcell.pathway.RnaRegionReference)1 RnaRegionReferenceProxy (org.vcell.pathway.persistence.BiopaxProxy.RnaRegionReferenceProxy)1