Issue 5486: transformed DTD should keep dimensions in content list of the BioAssayData (gene-expression-ftf) Source: Rosetta Biosoftware Business Unit (Mr. Michael D Miller, nobody) Nature: Uncategorized Issue Severity: Summary: Recommend that the transformed DTD should keep dimensions in the content list of the BioAssayData element instead of moving them to the BioDataCube and BioDataTuples content lists. This simplifies considerable the difference between the PIM and XML-DTD PSM. Requires modification of the following files: MAGE-ML.dtd (by modifying the generating code: generate_dtd\TransformBioAssayData.java) Section 4.1.4, Transforming BioDataValues of the submission Resolution: see below Revised Text: Changes to the Specification: Section 3.1.4, Transforming BioDataValues of the submission Changes to section 3.1.4.4: Currently: "The code to produce this transformation takes the list of CreateFiles generated by the parsing of the XML. 1. It searches for the representations of the original classes involved in the transformation, BioAssayData, BioDataCube, BioDataTuples, and BioAssayDatum. BioAssayDatum is removed from the CreateFile list. 2. The association to the three dimension classes and the cube are removed from BioAssayData. 3. The CreateFiles to represent the DataInternal and DataExternal elements are created and their attributes are added. DataInternal also has #PCDATA added for its content list for the white-space delimited data. 4. BioDataCube has the Dimension associations 1..1 added with a rank of -1 specified. The -1 will be interpreted by the generating code to produce all the possible orderings of the Dimensions as the first part of the content list of the BioDataCube after the base class content. Associations 1..1 to DataInternal and DataExternal are both added with a rank of 2 which will cause the generating code to add them as a Choice group to the content list after the Dimensions. 5. The tag-delimited form of the data representation, BioAssayTuples, now is transformed. Associations 0..1 to the three Dimensions are added to BioAssayTuples, in order of ranking, BioAssayDimension, the DesignElementDimension and the QuantitationTypeDimension. The association to BioAssayDatum is removed. 6. The CreateFile to represent the Datum element is created with a value attribute. 7. The CreateFile to represent the QuantitationTypeTuple is created with an association 1..1 to Datum and the association 1..1 to QuantitationType from the BioAssayDatum. 8. The CreateFile to represent the DesignElementTuple is created with an association 1..n to QuantitationTypeTuple and the association to DesignElement from the BioAssayDatum. 9. The CreateFile to represent the BioAssayTuple is created with an association 1..n to DesignElementTuple and the association 1..1 to BioAssay from the BioAssayDatum. 10. An association 1..n to BioAssayTuple is added to BioAssayTuples. 11. Lastly, the new CreateFiles are added to the list of CreateFiles." Becomes: "The code to produce this transformation takes the list of CreateFiles generated by the parsing of the XML. 1. It searches for the representations of the original classes involved in the transformation, BioAssayData, BioDataCube, BioDataTuples, and BioAssayDatum. BioAssayDatum is removed from the CreateFile list. 2. The CreateFiles to represent the DataInternal and DataExternal elements are created and their attributes are added. DataInternal also has #PCDATA added for its content list for the white-space delimited data. 3. BioDataCube has the associations 1..1 to DataInternal and DataExternal added with a rank of 2 which will cause the generating code to add them as a Choice group to the content list. 4. The tag-delimited form of the data representation, BioAssayTuples, now is transformed. The association to BioAssayDatum is removed. 5. The CreateFile to represent the Datum element is created with a value attribute. 6. The CreateFile to represent the QuantitationTypeTuple is created with an association 1..1 to Datum and the association 1..1 to QuantitationType from the BioAssayDatum. 7. The CreateFile to represent the DesignElementTuple is created with an association 1..n to QuantitationTypeTuple and the association to DesignElement from the BioAssayDatum. 8. The CreateFile to represent the BioAssayTuple is created with an association 1..n to DesignElementTuple and the association 1..1 to BioAssay from the BioAssayDatum. 9. An association 1..n to BioAssayTuple is added to BioAssayTuples. 10. Lastly, the new CreateFiles are added to the list of CreateFiles." Changes to Section 3.1.4.5: Currently: "<!ELEMENT BioDataCube ((%BioDataValues_content;), ((BioAssayDimension_assnref, ((DesignElementDimension_assnref, QuantitationTypeDimension_assnref) | (QuantitationTypeDimension_assnref, DesignElementDimension_assnref))) | (DesignElementDimension_assnref, ((QuantitationTypeDimension_assnref, BioAssayDimension_assnref) | (BioAssayDimension_assnref, QuantitationTypeDimension_assnref))) | (QuantitationTypeDimension_assnref, ((BioAssayDimension_assnref, DesignElementDimension_assnref) | (DesignElementDimension_assnref, BioAssayDimension_assnref)))), (DataInternal_assn | DataExternal_assn)) > <!ATTLIST BioDataCube %BioDataValues_attrs; > <!ELEMENT DataExternal_assn (DataExternal) > <!ELEMENT DataExternal EMPTY > <!ATTLIST DataExternal dataFormat CDATA "whitespace" dataFormatInfoURI CDATA #IMPLIED filenameURI CDATA #REQUIRED > <!ELEMENT DataInternal_assn (DataInternal) > <!ELEMENT DataInternal (#PCDATA) > <!ELEMENT BioDataTuples ((%BioDataValues_content;), BioAssayDimension_assnref?, DesignElementDimension_assnref?, QuantitationTypeDimension_assnref?, BioAssayTuples_assnlist?) > <!ATTLIST BioDataTuples %BioDataValues_attrs; > <!ELEMENT BioAssayTuples_assnlist (BioAssayTuple+) > <!ELEMENT BioAssayTuple (BioAssay_assnref, DesignElementTuples_assnlist) > <!ELEMENT DesignElementTuples_assnlist (DesignElementTuple+) > <!ELEMENT DesignElementTuple (DesignElement_assnref, QuantitationTypeTuples_assnlist) > <!ELEMENT QuantitationTypeTuples_assnlist (QuantitationTypeTuple+) > <!ELEMENT QuantitationTypeTuple (QuantitationType_assnref, Datum_assn) > <!ELEMENT Datum_assn (Datum) > <!ELEMENT Datum EMPTY > <!ATTLIST Datum value CDATA #REQUIRED >" Becomes: "<!ELEMENT BioDataCube ((%BioDataValues_content;), (DataInternal_assn | DataExternal_assn)) > <!ATTLIST BioDataCube %BioDataValues_attrs; > <!ELEMENT DataExternal_assn (DataExternal) > <!ELEMENT DataExternal EMPTY > <!ATTLIST DataExternal dataFormat CDATA "whitespace" dataFormatInfoURI CDATA #IMPLIED filenameURI CDATA #REQUIRED > <!ELEMENT DataInternal_assn (DataInternal) > <!ELEMENT DataInternal (#PCDATA) > <!ELEMENT BioDataTuples ((%BioDataValues_content;), BioAssayTuples_assnlist?) > <!ATTLIST BioDataTuples %BioDataValues_attrs; > <!ELEMENT BioAssayTuples_assnlist (BioAssayTuple+) > <!ELEMENT BioAssayTuple (BioAssay_assnref, DesignElementTuples_assnlist) > <!ELEMENT DesignElementTuples_assnlist (DesignElementTuple+) > <!ELEMENT DesignElementTuple (DesignElement_assnref, QuantitationTypeTuples_assnlist) > <!ELEMENT QuantitationTypeTuples_assnlist (QuantitationTypeTuple+) > <!ELEMENT QuantitationTypeTuple (QuantitationType_assnref, Datum_assn) > <!ELEMENT Datum_assn (Datum) > <!ELEMENT Datum EMPTY > <!ATTLIST Datum value CDATA #REQUIRED >" MAGE-ML.dtd (by modifying the generating code: generate_dtd\TransformBioAssayData.java): Currently: "<!ENTITY % BioAssayData_content "(%Identifiable_content;), SummaryStatistics_assnlist?, BioDataValues_assn?" >" Becomes: "<!ENTITY % BioAssayData_content "(%Identifiable_content;), SummaryStatistics_assnlist?, BioAssayDimension_assnref, DesignElementDimension_assnref, QuantitationTypeDimension_assnref, BioDataValues_assn?" >" Currently: "<!ELEMENT BioDataCube ((%BioDataValues_content;), ((BioAssayDimension_assnref, ((DesignElementDimension_assnref, QuantitationTypeDimension_assnref) | (QuantitationTypeDimension_assnref, DesignElementDimension_assnref))) | (DesignElementDimension_assnref, ((QuantitationTypeDimension_assnref, BioAssayDimension_assnref) | (BioAssayDimension_assnref, QuantitationTypeDimension_assnref))) | (QuantitationTypeDimension_assnref, ((BioAssayDimension_assnref, DesignElementDimension_assnref) | (DesignElementDimension_assnref, BioAssayDimension_assnref)))), (DataInternal_assn | DataExternal_assn)) >" Becomes: "<!ELEMENT BioDataCube ((%BioDataValues_content;), (DataInternal_assn | DataExternal_assn)) >" Currently: "<!ELEMENT BioDataTuples ((%BioDataValues_content;), BioAssayDimension_assnref?, DesignElementDimension_assnref?, QuantitationTypeDimension_assnref?, BioAssayTuples_assnlist?) >" Becomes: "<!ELEMENT BioDataTuples ((%BioDataValues_content;), BioAssayTuples_assnlist?) >" Actions taken: July 14, 2002: received issue December 11, 2002: closed issue Discussion: The transformed DTD should keep dimensions in the content list of the BioAssayData element instead of moving them to the BioDataCube and BioDataTuples content lists. This simplifies considerable the difference between the PIM and XML-DTD PSM. End of Annotations:===== X-Server-Uuid: F7D3E4A3-3C15-41D2-AC5D-A7D3F094E28F From: "Miller, Michael (Rosetta)" To: "'Juergen Boldt'" cc: "'GE FTF'" Subject: Issues for GE Specification Date: Sun, 14 Jul 2002 15:46:45 -0700 X-Mailer: Internet Mail Service (5.5.2653.19) X-WSS-ID: 112F21B171906-01-01 Hi Juergen, Here's the first batch of issues for the Gene Expression FTF (dtc/02-02-05). Also, since the DTD and the XMI files are normative, shouldn't they be available from the FTF site, along with the specification? The DTD in particular is important. We've assigned private issue numbers (which aren't particularly consecutive) to some of the issues which I'm noting--I'm expecting them to get an entirely different issue number from you that the FTF will refer to! For others who might want to raise issues, should they send directly to you or is there an appropriate e-mail address? thanks, Michael Michael Miller Senior Application Developer Rosetta Biosoftware michael_miller@rosettabio.com www.rosettabio.com =============================================== Recommend that the transformed DTD should keep dimensions in the content list of the BioAssayData element instead of moving them to the BioDataCube and BioDataTuples content lists. This simplifies considerable the difference between the PIM and XML-DTD PSM. Requires modification of the following files: MAGE-ML.dtd (by modifying the generating code: generate_dtd\TransformBioAssayData.java) Section 4.1.4, Transforming BioDataValues of the submission (MAGE Issue 11)