#!/bin/sh -e
# get raw data file from DECIPHER
set -eEu -o pipefail

#cp $1  decipherRawNew.txt -p
sort $1| grep -v '#' | uniq >  decipherRawNew.txt 

hgsql hg19 -e 'drop table if exists decipherRawNew'
hgLoadSqlTab hg19 decipherRawNew ../decipherRaw.sql decipherRawNew.txt

hgsql hg19 -N -e 'select "chr", chr, start-1, end, id from decipherRawNew ' |\
sed -e 's/chr\t/chr/' |sort >j.tmp

cp j.tmp decipherNew.bed
# fix some out of range of entries
#cat j.tmp|sed -e 's/243000000/242951149/' |\
#sed -e 's/115090019/114142980/' >decipherNew.bed
rm j.tmp

# Load decipher table
hgLoadBed hg19 decipherNew decipherNew.bed

# Create knownToDecipher table
hgMapToGene -trackDb=trackDb -noLoad -all -type="bed 4" hg19 decipherNew knownGene knownToDecipherNew
hgsql hg19 -e 'drop table if exists knownToDecipherNew'
hgsql hg19 -e 'create table knownToDecipherNew select * from knownToDecipher limit 0'
sort knownToDecipherNew.tab | uniq > knownToDecipherNew.uniq
hgsql hg19 -e \
'load data local infile "knownToDecipherNew.uniq" into table knownToDecipherNew'

# Create knownCanonToDecipher table

hgsql hg19 -N -e \
'select d.* from knownToDecipherNew d, knownCanonical c where c.transcript=d.name' >knownCanonToDecipherNew.tab

hgsql hg19 -e 'drop table if exists knownCanonToDecipherNew'
hgsql hg19 -e 'create table knownCanonToDecipherNew select * from knownCanonToDecipher limit 0'
hgsql hg19 -e 'load data local infile "knownCanonToDecipherNew.tab" into table knownCanonToDecipherNew'


# SNVs pipeline

sort $2| grep -v '#' | uniq | tawk '{if ($2=="MT") $2="M"; print $0;}' >  decipherSnvsRawNew.txt

hgsql hg19 -e 'drop table if exists decipherSnvsRawNew'
hgLoadSqlTab hg19 decipherSnvsRawNew ../decipherSnvsRaw.sql decipherSnvsRawNew.txt

hgsql hg19 -N -e 'select "chr", chr, start-1, end, id from decipherSnvsRawNew ' |\
sed -e 's/chr\t/chr/' |sort > decipherSnvsNew.bed

# Load decipher snvs table
hgLoadBed hg19 decipherSnvsNew decipherSnvsNew.bed
