QA Python Tools
This page contains information about the different python modules and functions. The QA python scripts live in the following directory:
~/kent/python/lib/ucscGb/qa/
To properly import a package, function, or class, make sure you have the ~/kent/python/lib/
directory specified in your PYTHONPATH
variable. The PYTHONPATH
works similarly to the PATH
variable inside of the .bashrc
file. You can add the following line to your .bashrc
file to import packages from the /ucscGb directory:
export PYTHONPATH=$PYTHONPATH:~/kent/python/lib/
Then, to import the package, you can use the following line:
from ucscGb.qa.tables import trackUtils
You can call a function inside of the trackUtils python script by using the following syntax:
trackUtils.getLabels(db, track, labelType)
tables/trackUtils.py
- def getLabels(db, track, labelType):
Returns labels of specified 'type' (shortLabel or longLabel) for a single track, its parent, and its superTrack. Excludes 'view' labels.
- Depends on getAttributeForTrack within tables/trackUtils.py
- def getAttributeForTrack(attribute, db, track):
Uses tdbQuery to get an attribute where track or table == 'track' and removes label.
- Depeneds on runCommand within qaUtils.py
qaUtils.py
The commands that are passed through these functions use the subprocess
class, which requires the command to be in the form of a list. The first element in the list is program to be used, e.g., hgsql
, and all other elements are seen as arguments. For example, the following line can be used as an argument:
["tdbQuery", "select type from %s where track='%s'" % (db, track)]
- def callHgsql(database, command):
Run hgsql command using subprocess, return stdout data if no error.
- This the only function where the
command
arguement is not a list but a string, i.e.,
"select name from knownGene where name='ENST00000619216.1'"
- This the only function where the
- def runCommand(command):
Runs command in subprocess and raises exception if return code is not 0. Returns tuple (stdoutdata, stderrdata).
- def runCommandMergedOutErr(command):
Runs command in subprocess and raises exception if return code is not 0. Combines stdout and stderr into a single output. Returns stdoutdata string.
- def runCommandNoAbort(command):
Runs command in subprocess. Returns tuple (stdoutdata, stderrdata) and returncode from process.