From 69f13ce0a671255ed13412fe00e0755a1d6b9a99 Mon Sep 17 00:00:00 2001 From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04> Date: Mon, 17 Nov 2008 13:50:28 +0000 Subject: [PATCH] add getTopLevelFeatures git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@9370 ee4ac58c-ac51-4696-9907-e4b3aa274f04 --- artemis_sqlmap/Feature.xml | 43 +++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/artemis_sqlmap/Feature.xml b/artemis_sqlmap/Feature.xml index e6b1caed6..e71d256ef 100644 --- a/artemis_sqlmap/Feature.xml +++ b/artemis_sqlmap/Feature.xml @@ -146,14 +146,12 @@ </resultMap> <resultMap id="map-feature-with-residues-result" class="Feature"> - <result property="name" column="name"/> <result property="uniqueName" column="uniquename"/> <result property="featureId" column="feature_id"/> <result property="cvTerm.cvTermId" column="type_id"/> <result property="cvTerm.name" column="cvterm_name"/> <!--<result property="cvTerm" column="type_id" select="getCvtermByCvTermId" />--> <result property="organism.organismId" column="organism_id"/> - <result property="organism.abbreviation" column="abbreviation"/> <result property="organism.genus" column="genus"/> <result property="organism.species" column="species"/> <result property="organism.commonName" column="common_name"/> @@ -440,34 +438,51 @@ residues notnull AND residues NOT LIKE '' ORDER BY common_name </select> --> - - + + <sql id="source_feature_cvterm_names"> + cvterm.name LIKE '%chromosome%' OR cvterm.name LIKE '%sequence%' OR + cvterm.name IN ('supercontig', 'ultra_scaffold', 'golden_path_region', 'contig') + </sql> <select id="getResidueFeatures" parameterClass="java.lang.Integer" resultMap="map-feature-with-residues-result"> - SELECT feature.name, uniquename, feature_id, type_id, feature.organism_id, - abbreviation, genus, species, common_name, cvterm.name AS cvterm_name + SELECT uniquename, feature_id, type_id, feature.organism_id, + genus, species, common_name, cvterm.name AS cvterm_name FROM cvterm LEFT JOIN feature ON cvterm.cvterm_id=feature.type_id LEFT JOIN organism ON organism.organism_id=feature.organism_id WHERE <isNotNull> feature.organism_id=$value$ AND </isNotNull> residues notnull AND residues != '' AND - ( cvterm.name LIKE '%chromosome%' OR cvterm.name LIKE '%sequence%' OR - cvterm.name IN ('supercontig', 'ultra_scaffold', 'golden_path_region', 'contig') ) - ORDER BY common_name + ( <include refid="source_feature_cvterm_names"/> ) + ORDER BY common_name, uniquename + </select> + + + <select id="getTopLevelFeatures" parameterClass="java.lang.Integer" + resultMap="map-feature-with-residues-result"> + SELECT feature.name, uniquename, feature_id, feature.type_id, feature.organism_id, + genus, species, common_name, cvterm.name AS cvterm_name + FROM feature + JOIN organism using (organism_id) + JOIN cvterm on feature.type_id = cvterm.cvterm_id + JOIN featureprop using (feature_id) + WHERE <isNotNull> feature.organism_id=$value$ AND </isNotNull> + featureprop.type_id in ( + SELECT cvterm_id FROM cvterm JOIN cv using (cv_id) WHERE cv.name = 'genedb_misc' AND cvterm.name = 'top_level_seq' ) + ORDER BY common_name, uniquename </select> + <select id="getResidueFeaturesByOrganismCommonName" parameterClass="java.lang.String" resultMap="map-feature-with-residues-result"> - SELECT feature.name, uniquename, feature_id, type_id, - feature.organism_id, abbreviation, genus, species, common_name + SELECT uniquename, feature_id, type_id, + feature.organism_id, genus, species, common_name FROM cvterm LEFT JOIN feature ON cvterm.cvterm_id=feature.type_id LEFT JOIN organism ON organism.organism_id=feature.organism_id WHERE <isNotNull> organism.common_name=#value# AND </isNotNull> residues notnull AND residues != '' AND - ( cvterm.name LIKE '%chromosome%' OR cvterm.name LIKE '%sequence%' OR - cvterm.name IN ('supercontig', 'ultra_scaffold', 'golden_path_region', 'contig') ) - ORDER BY common_name + ( <include refid="source_feature_cvterm_names"/> ) + ORDER BY common_name, uniquename </select> -- GitLab