src/utils/qa/findLevel.csh 1.17
1.17 2010/01/06 23:20:13 ann
updated script to use the tdbQuery tool to find the trackDb.ra block(s) in which it is specified
Index: src/utils/qa/findLevel.csh
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/utils/qa/findLevel.csh,v
retrieving revision 1.16
retrieving revision 1.17
diff -b -B -U 4 -r1.16 -r1.17
--- src/utils/qa/findLevel.csh 11 Apr 2009 00:37:03 -0000 1.16
+++ src/utils/qa/findLevel.csh 6 Jan 2010 23:20:13 -0000 1.17
@@ -16,45 +16,24 @@
set db=""
set tableName=""
set currDir=""
set dbs=""
-set encode=""
-set split=""
-set partName=""
-set matches=""
-set match=""
-set prio=""
-set vis=""
-if ( $#argv < 2 || $#argv > 4 ) then
+if ( $#argv != 2 ) then
echo
echo " searches trackDb hierarchy for your table and corresponding .html file"
- echo " optionally returns the location of the priority and visibility entries"
- echo " returns the lowest-level directory for each"
+ echo " also returns the value of the priority and visibility entries"
+ echo " and the .ra file location for each"
echo
- echo " usage: database tableName [priority] [visibility]"
+ echo " usage: database tableName"
echo
exit
else
set db=$argv[1]
set tableName=$argv[2]
endif
echo
-# find out if they want priority and/or visibility as well
-if ( $#argv == 3 ) then
- if ( $argv[3] == 'priority' ) then
- set prio="T"
- endif
- if ( $argv[3] == 'visibility' ) then
- set vis="T"
- endif
-endif
-if ( $#argv == 4 ) then
- set prio="T"
- set vis="T"
-endif
-
if ( "$HOST" != "hgwdev" ) then
echo "\n error: you must run this script on dev!\n"
exit 1
endif
@@ -79,80 +58,10 @@
cd ~/trackDb/*/$db
set currDir=`pwd`
endif
-# detect split chroms and check trackDb for db/table combination
-set split=`getSplit.csh $db $tableName hgwdev`'_'
-hgsql -N -e 'SHOW TABLES' $db | egrep -wqi "${split}$tableName|$tableName"
-if ($status) then
- # look for ref to composite main entries which have no tables
- find ../../ -name "trackDb*ra" | xargs grep -wq "subTrack.$tableName"
- if ($status) then
- echo " ERROR: No such database/table combination: $db $tableName"
- echo " and no composite track by that name.\n"
- exit
- else
- echo " Composite track. No single table by this name: $tableName"
- echo
- endif
-else
- find ../../ -name "trackDb*ra" | xargs grep -xq "track.$tableName"
- if ($status) then
- echo " This is a composite subtrack table"
- echo
- endif
-endif
-
-# check for entry in trackDb.ra, starting at assembly level
-set matches=`grep -ws "track.$tableName" trackDb.ra`
-set match=`echo $matches | grep -v "^#"`
-if ( "$match" != '' ) then
- # the track is mentioned in the assembly-level trackDb.ra file
-else
- # see if it's in another assembly-level trackDb*
- set partName=`grep -wHs track.$tableName trackDb.*.ra`
- if ( "$partName" != '' ) then
- # the track is mentioned in an assembly-level trackDb.*.ra file
- set encode=`echo $partName | sed -e "s/trackDb//" | sed -e "s/.ra:track $tableName//"`
- else
- # the track is not at the assembly-level, go up to the organism level
- cd ..
- set currDir=`pwd`
- set matches=`grep -ws track.$tableName trackDb.ra`
- set match=`echo $matches | grep -v "^#"`
- if ( "$match" != '' ) then
- # the track is mentioned in the organism-level trackDb.ra file
- else
- # see if it's in another organism-level trackDb.*.ra
- set partName=`grep -wHs track.$tableName trackDb.*.ra`
- if ( "$partName" != '' ) then
- # the track is mentioned in an organism-level trackDb.*.ra file
- set encode=`echo $partName | sed -e "s/trackDb//" | sed -e "s/.ra:track $tableName//"`
- else
- # the track is not at the organism level, go up to the top level
- cd ..
- set currDir=`pwd`
- set matches=`grep -ws track.$tableName trackDb.ra`
- set match=`echo $matches | grep -v "^#"`
- if ( "$match" != '' ) then
- # the track is mentioned in the top-level trackDb.ra file
- else
- # the track is not at the top level either - it does not exist
- echo " * the $tableName track does not exist in any level trackDb.ra file"
- set currDir=""
- endif
- endif
- endif
- endif
-endif
-if ($currDir != "") then
- echo " * trackDb: \
- `echo $currDir | sed -e 's^.*makeDb^~^'`/trackDb$encode.ra"
-endif
-echo
-
###########################################
-# now, find the level of the associated .html file
+# find the level of the associated .html file
# start at the assembly level
cd ~/trackDb/*/$db
set currDir=`pwd`
@@ -184,103 +93,13 @@
`echo $currDir | sed 's^.*makeDb^~^'`/$tableName.html"
endif
echo
-###########################################
-# check for entry in priority.ra file, starting at assembly level
-if ( "T" == $prio) then
- # start back at the assembly level
- cd ~/trackDb/*/$db
- set currDir=`pwd`
- set matches=`grep -ws "track.$tableName" priority.ra`
- set match=`echo $matches | grep -v "^#"`
- if ( "$match" != '' ) then
- # the track is mentioned in the assembly-level priority.ra file
- else
- # the track is not at the assembly-level, go up to the organism level
- cd ..
- set currDir=`pwd`
- set matches=`grep -ws track.$tableName priority.ra`
- set match=`echo $matches | grep -v "^#"`
- if ( "$match" != '' ) then
- # the track is mentioned in the organism-level priority.ra file
- else
- # the track is not at the organism level, go up to the top level
- cd ..
- set currDir=`pwd`
- set matches=`grep -ws track.$tableName priority.ra`
- set match=`echo $matches | grep -v "^#"`
- if ( "$match" != '' ) the
- # the track is mentioned in the top-level priority.ra file
- else
- # the track is not at the top level either
- echo " * priority:"
- echo " The $db.$tableName track entry does not exist in any level"
- echo " priority.ra file. This doesn't mean there is no priority"
- echo " entry -- it's probably in the trackDb.ra file."
- set currDir=""
- endif
- endif
- if ($currDir != "") then
- if (-e $currDir/priority.ra) then
- echo " * priority: \
- `echo $currDir | sed -e 's^.*makeDb^~^'`/priority.ra"
- else
- echo " * priority:"
- echo " The $db.$tableName track entry does not exist in any level"
- echo " priority.ra file. This doesn't mean there is no priority"
- echo " entry -- it's probably in the trackDb.ra file."
- endif
- endif
- echo
-endif #end find priority entry
###########################################
-# check for entry in visibility.ra file, starting at assembly level
-if ( "T" == $vis) then
- # start back at the assembly level
- cd ~/trackDb/*/$db
- set currDir=`pwd`
- set matches=`grep -ws "track.$tableName" visibility.ra`
- set match=`echo $matches | grep -v "^#"`
- if ( "$match" != '' ) then
- # the track is mentioned in the assembly-level visibility.ra file
- else
- # the track is not at the assembly-level, go up to the organism level
- cd ..
- set currDir=`pwd`
- set matches=`grep -ws track.$tableName visibility.ra`
- set match=`echo $matches | grep -v "^#"`
- if ( "$match" != '' ) then
- # the track is mentioned in the organism-level visibility.ra file
- else
- # the track is not at the organism level, go up to the top level
- cd ..
- set currDir=`pwd`
- set matches=`grep -ws track.$tableName visibility.ra`
- set match=`echo $matches | grep -v "^#"`
- if ( "$match" != '' ) the
- # the track is mentioned in the top-level visibility.ra file
- else
- # the track is not at the top level either
- echo " * visibility:"
- echo " The $db.$tableName track entry does not exist in any level"
- echo " visibility.ra file. This doesn't mean there is no visibility"
- echo " entry -- it's probably in the trackDb.ra file."
- set currDir=""
- endif
- endif
- if ($currDir != "") then
- if (-e $currDir/visibility.ra) then
- echo " * visibility: \
- `echo $currDir | sed -e 's^.*makeDb^~^'`/visibility.ra"
- else
- echo " * visibility:"
- echo " The $db.$tableName track entry does not exist in any level"
- echo " visibility.ra file. This doesn't mean there is no visibility"
- echo " entry -- it's probably in the trackDb.ra file."
- endif
- endif
- echo
-endif #end find visibility entry
+# find the trackDb.ra entry (using tdbQuery)
+
+echo " * trackDb:"
+tdbQuery "select track,priority,visibility,filePos from $db" \
+ | grep -w -A3 "$tableName"
exit 0