diff --git a/artemis_sqlmap/Analysis.xml b/artemis_sqlmap/Analysis.xml new file mode 100644 index 0000000000000000000000000000000000000000..666f393d2806c150dfa9fd519c93294d9b29465e --- /dev/null +++ b/artemis_sqlmap/Analysis.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<!DOCTYPE sqlMap + PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" + "http://ibatis.apache.org/dtd/sql-map-2.dtd"> + + +<sqlMap namespace="Analysis"> + + <typeAlias alias="Analysis" + type="org.gmod.schema.analysis.Analysis"/> + + <select id="selectAnalysis" resultClass="Analysis"> + SELECT name, description, program, programversion, algorithm, + sourcename, sourceversion,sourceuri, timeexecuted + FROM analysis + WHERE analysis_id=#analysis_id# + </select> + +</sqlMap> \ No newline at end of file diff --git a/artemis_sqlmap/AnalysisFeature.xml b/artemis_sqlmap/AnalysisFeature.xml new file mode 100644 index 0000000000000000000000000000000000000000..6853ea3b062d93748fd923f2d4f4961f923aed72 --- /dev/null +++ b/artemis_sqlmap/AnalysisFeature.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<!DOCTYPE sqlMap + PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" + "http://ibatis.apache.org/dtd/sql-map-2.dtd"> + + +<sqlMap namespace="AnalysisFeature"> + + <typeAlias alias="AnalysisFeature" + type="org.gmod.schema.analysis.AnalysisFeature"/> + + <resultMap id="select-analysisfeature" + class="AnalysisFeature"> + <result property="rawScore" column="rawscore" /> + <result property="normScore" column="normscore" /> + <result property="significance" column="significance" /> + <result property="analysis" column="analysis_id" select="selectAnalysis" /> + </resultMap> + + <select id="selectAnalysisFeatures" resultMap="select-analysisfeature"> + SELECT rawscore, normscore, significance, analysis_id + FROM analysisfeature + WHERE feature_id=#feature_id# + </select> + + + <!-- INSERT --> + <insert id="insertAnalysisFeature" + parameterClass="AnalysisFeature"> + INSERT INTO feature + ( feature_id, analysis_id, rawscore, normscore, significance, identity ) + VALUES + ( (SELECT feature_id FROM feature WHERE uniquename=#feature.uniqueName#), + $analysis.analysisId$, + $rawscore$, + $normscore$, + $significance$, + $identity$ ) + </insert> + +</sqlMap> \ No newline at end of file diff --git a/artemis_sqlmap/Feature.xml b/artemis_sqlmap/Feature.xml index f709c40a908806c1a52a0051fe617f4eba2286a2..60ea64a49591a69e0734cc31af177b01c874cc4b 100644 --- a/artemis_sqlmap/Feature.xml +++ b/artemis_sqlmap/Feature.xml @@ -68,6 +68,22 @@ select="getOrganism" /> </resultMap> + + <resultMap id="select-similaritymatch" + class="Feature" groupBy="featureId"> + <result property="timeLastModified" column="timelastmodified"/> + <result property="featureId" column="id"/> + <result property="uniqueName" column="uniquename"/> + <result property="name" column="name"/> + <result property="seqLen" column="length" nullValue="-999" /> + <result property="residues" column="residues" /> + <result property="cvTerm" column="type_id" select="selectCvterm" /> + <result property="featureLocsForFeatureId" resultMap="FeatureLoc.select-location" /> + <result property="featureProps" column="{feature_id=id}" + select="selectFeatureProp" /> + <result property="analysisFeatures" column="{feature_id=id}" + select="selectAnalysisFeatures" /> + </resultMap> <resultMap id="select-feature-with-residues-result" class="Feature"> @@ -158,6 +174,40 @@ f.feature_id > 0 </select> + <select id="getLazyFeatureById" resultMap ="select-feature-lazy" > + SELECT + timelastmodified, + f.feature_id AS id, + uniquename, + organism_id AS organismId, + f.name, + f.type_id, + seqlen AS length, + residues + FROM feature f + WHERE f.feature_id=$featureId$ + </select> + + <select id="getLazySimilarityMatches" parameterClass="java.lang.Integer" + resultMap="select-similaritymatch"> + SELECT + timelastmodified, + f.feature_id AS id, + f.uniquename, + f.type_id, + f.name, + f.seqlen AS length, + f.residues, + srcfeature_id, fmin, fmax, strand, phase, residue_info, locgroup, rank + FROM feature f + LEFT JOIN featureloc fl ON f.feature_id=fl.feature_id + WHERE f.feature_id IN + ( SELECT feature_id FROM featureloc WHERE srcfeature_id IN + ( SELECT feature_id FROM featureloc WHERE srcfeature_id=$value$) ) + ORDER BY f.feature_id + </select> + + <select id="getSchema" resultClass="java.lang.String"> SELECT schema_name FROM information_schema.schemata WHERE schema_name=schema_owner ORDER BY schema_name diff --git a/artemis_sqlmap/FeatureLoc.xml b/artemis_sqlmap/FeatureLoc.xml index ef40585daa5bc136c715b68014ab8dc267b3dceb..646464ac442b609101bd6d1341d01c86018209a0 100644 --- a/artemis_sqlmap/FeatureLoc.xml +++ b/artemis_sqlmap/FeatureLoc.xml @@ -14,7 +14,9 @@ <resultMap id="select-location" class="FeatureLoc"> - <result property="featureBySrcFeatureId.featureId" column="srcfeature_id" nullValue="-999" /> + <result property="srcFeatureId" column="srcfeature_id" nullValue="-999" /> + <result property="featureBySrcFeatureId" column="{featureId=srcfeature_id}" + select="getLazyFeatureById" /> <result property="fmin" column="fmin" nullValue="-999" /> <result property="fmax" column="fmax" nullValue="-999" /> <result property="strand" column="strand" nullValue="0" /> diff --git a/artemis_sqlmap/chado_iBatis_config.xml b/artemis_sqlmap/chado_iBatis_config.xml index 83f1502df81545ec2092f904191c8e299f0e2913..6ea7f5097cfc8e93142818dfa55f980c5df6763e 100644 --- a/artemis_sqlmap/chado_iBatis_config.xml +++ b/artemis_sqlmap/chado_iBatis_config.xml @@ -63,6 +63,8 @@ <sqlMap resource="artemis_sqlmap/Db.xml" /> <sqlMap resource="artemis_sqlmap/DbXRef.xml" /> <sqlMap resource="artemis_sqlmap/Synonym.xml" /> + <sqlMap resource="artemis_sqlmap/AnalysisFeature.xml" /> + <sqlMap resource="artemis_sqlmap/Analysis.xml" /> </sqlMapConfig>