From 1d807b016d8b4ddf71961ccbc036ec489b62f61c Mon Sep 17 00:00:00 2001 From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04> Date: Wed, 19 Sep 2007 12:48:05 +0000 Subject: [PATCH] updates git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@6397 ee4ac58c-ac51-4696-9907-e4b3aa274f04 --- artemis_sqlmap/FeatureRelationship.xml | 71 +++++++++++++++++++++++--- 1 file changed, 64 insertions(+), 7 deletions(-) diff --git a/artemis_sqlmap/FeatureRelationship.xml b/artemis_sqlmap/FeatureRelationship.xml index 8da16d8d7..0d9c4b81f 100644 --- a/artemis_sqlmap/FeatureRelationship.xml +++ b/artemis_sqlmap/FeatureRelationship.xml @@ -49,11 +49,12 @@ <result property="featureRelationshipId" column="feature_relationship_id"/> <result property="featureBySubjectId" column="subject_id" select="getLazyFeatureById" /> - <result property="featureByObjectId" column="object_id" - select="getLazyFeatureNameAndTypeById" /> + <!--<result property="featureByObjectId" column="object_id" + select="getLazyFeatureNameAndTypeById" />--> + <result property="featureByObjectId" resultMap="Feature.map-feature-name-lazy" /> <result property="value" column="value" /> <result property="rank" column="rank" /> - <result property="cvTerm.name" column="name" /> + <result property="cvTerm.name" column="fr_name" /> </resultMap> <!-- select feature_relationship --> @@ -72,13 +73,69 @@ </select> <select id="getParentFeatureRelationship" resultMap="map-parent-relationship"> - SELECT feature_relationship_id, subject_id, object_id, type_id, value, rank, cvterm.name - FROM feature_relationship - LEFT JOIN cvterm ON cvterm_id=type_id + SELECT feature_relationship_id, subject_id, object_id, value, rank, + fr_cvterm.name AS fr_name, parent.uniquename, parent_cvterm.name AS name, parent.feature_id AS id + FROM feature_relationship AS fr + LEFT JOIN cvterm AS fr_cvterm ON fr_cvterm.cvterm_id=fr.type_id + LEFT JOIN feature AS parent ON object_id=feature_id + LEFT JOIN cvterm AS parent_cvterm ON parent_cvterm.cvterm_id=parent.type_id WHERE subject_id=#subject_id# AND - ( cvterm.name='derives_from' OR cvterm.name='part_of' OR cvterm.name='proper_part_of' ) + ( fr_cvterm.name='derives_from' OR fr_cvterm.name='part_of' OR fr_cvterm.name='proper_part_of' ) + + <!-- + SELECT feature_relationship_id, subject_id, object_id, value, rank, + fr_cvterm.name AS fr_name, parent.uniquename, parent_cvterm.name, parent.feature_id AS id + FROM feature_relationship AS fr + LEFT JOIN cvterm AS fr_cvterm ON fr_cvterm.cvterm_id=fr.type_id + LEFT JOIN feature AS parent ON object_id=feature_id + LEFT JOIN cvterm AS parent_cvterm ON parent_cvterm.cvterm_id=parent.type_id + WHERE + ( subject_id=#subject_id# + AND (fr_cvterm.name='derives_from' OR fr_cvterm.name='part_of' OR fr_cvterm.name='proper_part_of') + AND (parent_cvterm.name='gene' OR parent_cvterm.name='pseudogene')) + OR ( subject_id IN (SELECT object_id FROM feature_relationship AS fr2 + LEFT JOIN cvterm AS fr2_cvterm ON fr2_cvterm.cvterm_id=fr2.type_id + WHERE subject_id=#subject_id# + AND (fr2_cvterm.name='derives_from' OR fr2_cvterm.name='part_of' OR fr2_cvterm.name='proper_part_of')) + AND (fr_cvterm.name='derives_from' OR fr_cvterm.name='part_of' OR fr_cvterm.name='proper_part_of') + AND (parent_cvterm.name='gene' OR parent_cvterm.name='pseudogene')) ; + --> + </select> + <select id="getParentFeaturesByChildFeatureIds" resultMap="map-parent-relationship"> + SELECT feature_relationship_id, subject_id, object_id, value, rank, + fr_cvterm.name AS fr_name, parent.uniquename, parent_cvterm.name AS name, parent.feature_id AS id + FROM feature_relationship AS fr + LEFT JOIN cvterm AS fr_cvterm ON fr_cvterm.cvterm_id=fr.type_id + LEFT JOIN feature AS parent ON object_id=feature_id + LEFT JOIN cvterm AS parent_cvterm ON parent_cvterm.cvterm_id=parent.type_id + WHERE + ( subject_id IN <iterate open="(" close=")" conjunction=","> $[]$ </iterate> + AND (fr_cvterm.name='derives_from' OR fr_cvterm.name='part_of' OR fr_cvterm.name='proper_part_of') ) + </select> + + <!-- + <select id="getGeneFeaturesByChildFeatureIds" resultMap="map-parent-relationship"> + SELECT feature_relationship_id, subject_id, object_id, value, rank, + fr_cvterm.name AS fr_name, parent.uniquename, parent_cvterm.name AS name, parent.feature_id AS id + FROM feature_relationship AS fr + LEFT JOIN cvterm AS fr_cvterm ON fr_cvterm.cvterm_id=fr.type_id + LEFT JOIN feature AS parent ON object_id=feature_id + LEFT JOIN cvterm AS parent_cvterm ON parent_cvterm.cvterm_id=parent.type_id + WHERE + ( subject_id IN <iterate open="(" close=")" conjunction=","> $[]$ </iterate> + AND (fr_cvterm.name='derives_from' OR fr_cvterm.name='part_of' OR fr_cvterm.name='proper_part_of') + AND (parent_cvterm.name='gene' OR parent_cvterm.name='pseudogene') ) + OR ( subject_id IN (SELECT object_id FROM feature_relationship AS fr2 + LEFT JOIN cvterm AS fr2_cvterm ON fr2_cvterm.cvterm_id=fr2.type_id + WHERE subject_id IN <iterate open="(" close=")" conjunction=","> $[]$ </iterate> + AND (fr2_cvterm.name='derives_from' OR fr2_cvterm.name='part_of' OR fr2_cvterm.name='proper_part_of')) + AND (fr_cvterm.name='derives_from' OR fr_cvterm.name='part_of' OR fr_cvterm.name='proper_part_of') + AND (parent_cvterm.name='gene' OR parent_cvterm.name='pseudogene') ) ; + </select> + --> + <update id="updateFeatureRelationshipsForSubjectId" parameterClass="FeatureRelationship"> UPDATE feature_relationship -- GitLab