QA Python Tools: Difference between revisions

From Genecats
Jump to navigationJump to search
No edit summary
Line 26: Line 26:
====<span style="color:dodgerblue">qaUtils.py====
====<span style="color:dodgerblue">qaUtils.py====
</span>
</span>
:'''def callHgsql(database, command):'''
:<pre>Run hgsql command using subprocess, return stdout data if no error.</pre>


:'''def runCommand(command):'''
:'''def runCommand(command):'''
:<pre>Runs command in subprocess and raises exception if return code is not 0. Returns tuple (stdoutdata, stderrdata).</pre>
:<pre>Runs command in subprocess and raises exception if return code is not 0. Returns tuple (stdoutdata, stderrdata).</pre>
:'''def runCommandMergedOutErr(command):'''
:<pre>Runs command in subprocess and raises exception if return code is not 0. Combines stdout and stderr into a single output. Returns stdoutdata string.</pre>


:'''def runCommandNoAbort(command):'''
:'''def runCommandNoAbort(command):'''
:<pre>Runs command in subprocess. Returns tuple (stdoutdata, stderrdata) and returncode from process.</pre>
:<pre>Runs command in subprocess. Returns tuple (stdoutdata, stderrdata) and returncode from process.</pre>

Revision as of 21:50, 6 February 2019

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

def callHgsql(database, command):
Run hgsql command using subprocess, return stdout data if no error.
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.