#!/bin/bash -e
usage="loadEnsembl - load tab files created by exportEnsembl into browser database.
usage: 
   ensemblLoad organism version db
expects to be run in the directory where exportEnsembl was run
"
KENT=${KENT:-${HOME}/kent}

[ $# != 3 ] && {
    echo "wrong # args
$usage" >&2
     exit 1
}
organism=$1
version=$2
db=$3

kentLib=${KENT}/src/hg/lib

if [[ ${version} == vega_* ]] ; then
    genePre=vegaGene
    pseudoPre=vegaPseudo
    infoPre=vegaInfo
    xrefPre=vegaGeneXref
    gtpPre=vegaGtp
    # vega has tons of frame problems, so don't use it.
    frameOpt=""
else
    genePre=ensGene
    pseudoPre=ensPseudo
    infoPre=ensInfo
    xrefPre=ensGeneXref
    gtpPre=ensGtp
    frameOpt="-genePredExt"
fi
set -x
hgsql $db -e "drop table if exists ${genePre}"
hgLoadGenePred ${frameOpt} $db ${genePre} ${genePre}.gp
hgsql $db -e "drop table if exists ${pseudoPre}"
if [ -f ${pseudoPre}.gp ] ; then
    hgLoadGenePred $db ${pseudoPre} ${pseudoPre}.gp
fi
hgsql $db -e "drop table if exists ${infoPre}"
hgLoadSqlTab $db ${infoPre} $kentLib/${infoPre}.sql ${infoPre}.tab
hgsql $db -e "drop table if exists ${gtpPre}"
hgLoadSqlTab $db ${gtpPre} $kentLib/${gtpPre}.sql ${gtpPre}.tab
hgsql $db -e "drop table if exists ${xrefPre}"
hgLoadSqlTab $db ${xrefPre} $kentLib/${xrefPre}.sql ${xrefPre}.tab

# remove older and outdated tables
hgsql $db -e "drop table if exists ensemblXref3"
hgsql $db -e "drop table if exists ensGeneChk"
hgsql $db -e "drop table if exists ensGeneChkDetails"
tawk '{print $4,$6}' ${infoPre}.tab |sort |uniq --count|sort -nr
