· 7 years ago · Jan 04, 2019, 05:16 AM
1CREATE TEMPORARY TABLE jobSubSet (rs CHAR(15), beta DOUBLE, stat DOUBLE, BFassoc DOUBLE, BFconLow DOUBLE, BFconMed DOUBLE, BFconHigh DOUBLE, assocRank INT, annotLowRank INT, annotMedRank INT, annotHighRank INT, PRIMARY KEY(rs)) ENGINE=innodb (SELECT rs, beta, stat FROM assoc WHERE assoc.jobID in ('3687a47b7bd3c5ad9031d32d7d0352b4' ));
2
3UPDATE jobSubSet SET BFassoc = (SQRT((POW((LOG(beta) / stat),2))/((POW((LOG(beta) / stat),2))+ 0.5)) * EXP(0.5 * POW((LOG(beta)), 2) / 2 / (POW((LOG(beta) / stat),2)) / ((POW((LOG(beta) / stat),2)) + 0.5)));
4
5UPDATE jobSubSet, BFanot SET jobSubSet.BFconLow = BFanot.BFlow * jobSubSet.BFassoc, jobSubSet.BFconMed = BFanot.BFMed * jobSubSet.BFassoc, jobSubSet.BFconHigh = BFanot.BFHigh * jobSubSet.BFassoc WHERE jobSubSet.rs = BFanot.rs;
6
7UPDATE jobSubSet SET BFconLow = BFassoc, BFconMed = BFassoc, BFconHigh = BFassoc WHERE rs NOT IN (SELECT rs FROM BFanot);
8
9create temporary table AssocRank (rs char(15), assocRank INT AUTO_INCREMENT, PRIMARY KEY(rs), KEY (assocRank)) ENGINE=innodb (select rs from jobSubSet order by BFassoc DESC);
10
11create temporary table AnnotRankLow (rs char(15), annotLowRank INT AUTO_INCREMENT, PRIMARY KEY(rs), KEY (annotLowRank)) ENGINE=innodb (select rs from jobSubSet order by BFconLow DESC);
12
13create temporary table AnnotRankMed (rs char(15), annotMedRank INT AUTO_INCREMENT, PRIMARY KEY(rs), KEY (annotMedRank)) ENGINE=innodb (select rs from jobSubSet order by BFconMed DESC);
14
15
16create temporary table AnnotRankHigh (rs char(15), annotHighRank INT AUTO_INCREMENT, PRIMARY KEY(rs), KEY (annotHighRank)) ENGINE=innodb (select rs from jobSubSet order by BFconHigh DESC);
17
18UPDATE jobSubSet, AssocRank SET jobSubSet.assocRank = AssocRank.assocRank WHERE jobSubSet.rs = AssocRank.rs;
19UPDATE jobSubSet, AnnotRankLow SET jobSubSet.annotLowRank = AnnotRankLow.annotLowRank WHERE jobSubSet.rs = AnnotRankLow.rs;
20UPDATE jobSubSet, AnnotRankMed SET jobSubSet.annotMedRank = AnnotRankMed.annotMedRank WHERE jobSubSet.rs = AnnotRankMed.rs;
21UPDATE jobSubSet, AnnotRankHigh SET jobSubSet.annotHighRank = AnnotRankHigh.annotHighRank WHERE jobSubSet.rs = AnnotRankHigh.rs;
22
23UPDATE assoc, jobSubSet SET assoc.BFassoc = jobSubSet.BFassoc, assoc.BFconLow = jobSubSet.BFconLow, assoc.BFconMed = jobSubSet.BFconMed, assoc.BFconHigh = jobSubSet.BFconHigh, assoc.assocRank = jobSubSet.assocRank, assoc.annotLowRank = jobSubSet.annotLowRank, assoc.annotMedRank = jobSubSet.annotMedRank, assoc.annotHighRank = jobSubSet.annotMedRank WHERE assoc.jobID = '3687a47b7bd3c5ad9031d32d7d0352b4' AND assoc.rs = jobSubSet.rs
24
25DROP TEMPORARY TABLE IF EXISTS jobSubSet, AssocRank, AnnotRankLow, AnnotRankMed, AnnotRankHigh;