Skip to content
Snippets Groups Projects
Commit 34288cc7 authored by tjc's avatar tjc
Browse files

fixes for cluster/ortho/paralog

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@6342 ee4ac58c-ac51-4696-9907-e4b3aa274f04
parent 047030f6
No related branches found
No related tags found
No related merge requests found
......@@ -66,6 +66,15 @@
select="getOrganism" />
</resultMap>
<resultMap id="map-feature-name-lazy" class="Feature">
<result property="uniqueName" column="uniquename"/>
<result property="cvTerm.name" column="name" />
<result property="featureRelationshipsForSubjectId" column="{subject_id=id}"
select="getParentFeatureRelationship" />
</resultMap>
<resultMap id="map-feature-withprop" class="Feature"
groupBy="featureId" extends="map-basicfeature">
<result property="cvTerm" column="type_id" select="getCvtermByCvTermId" />
......@@ -95,10 +104,13 @@
<resultMap id="map-clusterfeature" class="Feature"
groupBy="featureId" extends="map-basicfeature">
<result property="cvTerm" column="type_id" select="getCvtermByCvTermId" />
groupBy="featureId">
<result property="featureId" column="id"/>
<result property="uniqueName" column="cluster_name"/>
<result property="cvTerm.name" column="cluster_cvterm"/>
<result property="featureProps" column="{feature_id=id}"
select="getFeaturePropByFeatureId" />
<result property="featureRelationshipsForSubjectId"
resultMap="FeatureRelationship.map-feature-relationship-for-subjectId" />
<result property="analysisFeatures" resultMap="AnalysisFeature.map-analysisfeature" />
......@@ -216,6 +228,15 @@
WHERE f.feature_id=$featureId$
</select>
<select id="getLazyFeatureNameAndTypeById" resultMap ="map-feature-name-lazy" >
SELECT
uniquename, cvTerm.name, feature_id AS id
FROM feature f
LEFT JOIN cvterm ON cvterm.cvterm_id=type_id
WHERE f.feature_id=$featureId$
</select>
<select id="getFeatureById" resultMap ="map-feature-withprop"
cacheModel="feature-cache">
SELECT
......@@ -308,23 +329,25 @@
<select id="getLazyClustersByFeatureIds" parameterClass="java.util.List"
resultMap="map-clusterfeature">
SELECT
timelastmodified,
f.feature_id AS id,
fr.feature_relationship_id,
f.uniquename AS cluster_name,
cv_f.name AS cluster_cvterm,
f1.uniquename AS subject_name,
fr.subject_id,
fr.type_id AS relation_type_id,
fr.value AS relation_value,
fr.rank,
f.uniquename,
f.type_id,
f.name AS feature_name,
f.seqlen,
cv_fr.name AS fr_name,
common_name AS subject_common_name,
cv_f1.name AS subject_cvterm,
rawscore, normscore, significance, identity, a.analysis_id,
a.name, description, program, programversion, algorithm, sourcename, sourceversion,sourceuri, timeexecuted
FROM feature f
LEFT JOIN feature_relationship fr ON f.feature_id=fr.object_id
LEFT JOIN analysisfeature af ON f.feature_id=af.feature_id
LEFT JOIN analysis a ON af.analysis_id=a.analysis_id
LEFT JOIN feature f1 ON f1.feature_id=subject_id
LEFT JOIN organism ON f1.organism_id=organism.organism_id
LEFT JOIN cvterm AS cv_f1 ON cv_f1.cvterm_id=f1.type_id
LEFT JOIN cvterm AS cv_fr ON cv_fr.cvterm_id=fr.type_id
LEFT JOIN cvterm AS cv_f ON cv_f.cvterm_id=f.type_id
WHERE f.feature_id IN <iterate open="(" close=")" conjunction=","> #[]# </iterate>
</select>
......
......@@ -23,10 +23,15 @@
<result property="featureByObjectId.featureId" column="object_id"/>
</resultMap>
<resultMap id="map-feature-relationship-for-subjectId" class="FeatureRelationship"
extends="map-basic-feature-relationship">
<result property="featureBySubjectId" column="subject_id"
select="getLazyFeatureById"/>
<resultMap id="map-feature-relationship-for-subjectId" class="FeatureRelationship">
<result property="cvTerm.name" column="fr_name"/>
<result property="featureBySubjectId.featureId" column="subject_id"/>
<result property="featureBySubjectId.uniqueName" column="subject_name"/>
<result property="featureBySubjectId.organism.commonName" column="subject_common_name"/>
<result property="featureBySubjectId.cvTerm.name" column="subject_cvterm" />
<result property="featureBySubjectId.featureRelationshipsForSubjectId"
column="{{subject_id=subject_id}}"
select="getParentFeatureRelationship" />
</resultMap>
<resultMap id="select-relationship" class="FeatureRelationship">
......@@ -40,6 +45,17 @@
<result property="cvTerm" column="type_id" select="getCvtermByCvTermId" />
</resultMap>
<resultMap id="map-parent-relationship" class="FeatureRelationship">
<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="value" column="value" />
<result property="rank" column="rank" />
<result property="cvTerm.name" column="name" />
</resultMap>
<!-- select feature_relationship -->
<select id="getFeatureRelationship" resultMap="select-relationship">
SELECT feature_relationship_id, subject_id, object_id, type_id, value, rank
......@@ -55,6 +71,13 @@
</dynamic>
</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
WHERE subject_id=#subject_id# AND
( cvterm.name='derives_from' OR cvterm.name='part_of' OR cvterm.name='proper_part_of' )
</select>
<update id="updateFeatureRelationshipsForSubjectId"
parameterClass="FeatureRelationship">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment