dragonn.synthetic.util module

class dragonn.synthetic.util.ArgParseArgument(argumentName, **kwargs)[source]

Bases: object

addToParser(parser)[source]
class dragonn.synthetic.util.ArgsAndKwargs(args, kwargs)

Bases: tuple

args

Alias for field number 0

kwargs

Alias for field number 1

class dragonn.synthetic.util.ArgumentToAdd(val, argumentName=None, argNameAndValSep='-')[source]

Bases: object

Class to append runtime arguments to a string to facilitate auto-generation of output file names.

argNamePrefix()[source]
transform()[source]
class dragonn.synthetic.util.ArrArgument(val, argumentName, sep='+', toStringFunc=<type 'str'>)[source]

Bases: dragonn.synthetic.util.ArgumentToAdd

transform()[source]
class dragonn.synthetic.util.ArrOfFileNamesArgument(val, argumentName, sep='+')[source]

Bases: dragonn.synthetic.util.ArrArgument

class dragonn.synthetic.util.BooleanArgument(val, argumentName=None, argNameAndValSep='-')[source]

Bases: dragonn.synthetic.util.ArgumentToAdd

transform()[source]
dragonn.synthetic.util.CROSSC_NORMFUNC

alias of Enum

class dragonn.synthetic.util.CoreFileNameArgument(val, argumentName=None, argNameAndValSep='-')[source]

Bases: dragonn.synthetic.util.ArgumentToAdd

transform()[source]
class dragonn.synthetic.util.DiscreteDistribution(valToFreq)[source]

Bases: object

class dragonn.synthetic.util.Entity(id)[source]

Bases: object

addAttribute(attributeName, value)[source]
getAttribute(attributeName)[source]
hasAttribute(attributeName)[source]
class dragonn.synthetic.util.GetBest[source]

Bases: object

getBest()[source]
getBestObj()[source]
getBestVal()[source]
isBetter(val)[source]
process(theObject, val)[source]
class dragonn.synthetic.util.GetBest_Max[source]

Bases: dragonn.synthetic.util.GetBest

isBetter(val)[source]
class dragonn.synthetic.util.GetBest_Min[source]

Bases: dragonn.synthetic.util.GetBest

isBetter(val)[source]
class dragonn.synthetic.util.IterableFromDict(theDict, defaultVal, totalLen)[source]

Bases: object

next()[source]
class dragonn.synthetic.util.Options(**kwargs)[source]

Bases: object

dragonn.synthetic.util.PERPOS_NORMFUNC

alias of Enum

class dragonn.synthetic.util.SparseArrFromDict(theDict, defaultVal, totalLen)[source]

Bases: object

dragonn.synthetic.util.SplitNames

alias of Enum

class dragonn.synthetic.util.TeeOutputStreams(*streams)[source]

Bases: object

for piping to several output streams

close()[source]
closed
flush()[source]
write(data)[source]
writeable()[source]
writelines(lines)[source]
class dragonn.synthetic.util.Titled2DMatrix(colNamesPresent=False, rowNamesPresent=False, rows=None, colNames=None, rowNames=None)[source]

Bases: object

has a 2D matrix, rowNames and colNames arrays

addRow(arr, rowName=None)[source]
normaliseRows()[source]
printToFile(fileHandle)[source]
setColNames(colNames)[source]
class dragonn.synthetic.util.TitledArr(title, arr, colNameToIndex=None)[source]

Bases: object

getCol(colName)[source]
setCol(colName, value)[source]
class dragonn.synthetic.util.TitledMapping(titleArr, flagIfInconsistent=False)[source]

Bases: object

When each key maps to an array, and each index in the array is associated with
a name.
addKey(key, arr)[source]
getArrForKey(key)[source]
getTitledArrForKey(key)[source]

returns an instance of util.TitledArr which has: getCol(colName) and setCol(colName)

keyPresenceCheck(key)[source]

Throws an error if the key is absent

printToFile(fileHandle, includeRownames=True)[source]
class dragonn.synthetic.util.TitledMappingIterator(titledMapping)[source]

Bases: object

Returns an iterator over TitledArrs for the keys in titledMapping.mapping

next()[source]
class dragonn.synthetic.util.VariableWrapper(var)[source]

For when I want reference-type access to an immutable

dragonn.synthetic.util.absentOrNone(obj, attr)[source]
dragonn.synthetic.util.addArguments(string, args, joiner='_')[source]

args is an array of ArgumentToAdd.

dragonn.synthetic.util.addDictionary(toUpdate, toAdd, initVal=0, mergeFunc=<function <lambda>>)[source]

Defaults to addition, technically applicable any time you want to update a dictionary (toUpdate) with the entries of another dictionary (toAdd) using a particular operation (eg: adding corresponding keys)

dragonn.synthetic.util.arrToDict(arr)[source]

Turn an array into a dictionary where each value maps to ‘1’ used for membership testing.

dragonn.synthetic.util.arrayEquals(arr1, arr2)[source]

compares corresponding entries in arr1 and arr2

dragonn.synthetic.util.assertAllOrNone(obj, attrNames)[source]
dragonn.synthetic.util.assertArrayElementsEqual(arr1, arr2, threshold=0.0)[source]
dragonn.synthetic.util.assertAtLeastOneSet(obj, attrs)[source]
dragonn.synthetic.util.assertAttributesHaveTheSameLengths(attributes, attributeNames)[source]
dragonn.synthetic.util.assertDoesNotHaveAttributes(obj, attributes, explanation)[source]
dragonn.synthetic.util.assertHasAttributes(obj, attributes, explanation)[source]
dragonn.synthetic.util.assertIsType(instance, theClass, instanceVarName)[source]
dragonn.synthetic.util.assertLessThanOrEqual(obj, smallerAttrName, largerAttrName)[source]
dragonn.synthetic.util.assertMutuallyExclusiveAttributes(obj, attrs)[source]
dragonn.synthetic.util.auPRC(trueY, predictedYscores, plotFileName=None)[source]
dragonn.synthetic.util.augmentArgparseKwargsHelpWithDefault(**argParseKwargs)[source]
dragonn.synthetic.util.autovivisect(theDict, getThingToInitialiseWith, *keys)[source]
dragonn.synthetic.util.avgNumpyArrays(numpyArrays)[source]
dragonn.synthetic.util.chainFunctions(*functions)[source]
dragonn.synthetic.util.checkForAttributes(item, attributesToCheckFor, itemName=None)[source]
dragonn.synthetic.util.check_pid(pid)[source]

Check For the existence of a unix pid.

dragonn.synthetic.util.combineEnums(*enums)[source]
dragonn.synthetic.util.computeConfusionMatrix(actual, predictions, labelOrdering=None)[source]
dragonn.synthetic.util.computeCooccurence(matrix)[source]

matrix: rows (first dim) are examples

dragonn.synthetic.util.computeRunningWindowMax(arr, windowSize)[source]
dragonn.synthetic.util.computeRunningWindowMaxActivation_2d(arr, smallerArr, windowSize)[source]
dragonn.synthetic.util.computeRunningWindowOneOverMaxActivation_2d(arr, smallerArr, windowSize)[source]
dragonn.synthetic.util.computeRunningWindowOneOverTwoNorm_2d(arr, smallerArr, windowSize)[source]
dragonn.synthetic.util.computeRunningWindowOp(arr, windowSize, op)[source]
dragonn.synthetic.util.computeRunningWindowSum(arr, windowSize)[source]
dragonn.synthetic.util.computeRunningWindowSum_2d(arr, smallerArr, windowSize)[source]
dragonn.synthetic.util.computeRunningWindowTwoNorm_2d(arr, smallerArr, windowSize)[source]
dragonn.synthetic.util.crossCorrelateArraysLengthwise(arr1, arr2, normaliseFunc, smallerPerPosNormFuncs=[], largerPerPosNormFuncs=[], auxLargerForPerPosNorm=None, auxLargerPerPosNormFuncs=[], pad=True)[source]
dragonn.synthetic.util.crossCorrelation_2d(arr, smallerArr, windowSize)[source]
dragonn.synthetic.util.defaultTransformation()[source]
dragonn.synthetic.util.dict2str(theDict, sep='\n')[source]
dragonn.synthetic.util.divideByPerPositionRange(arr)[source]
dragonn.synthetic.util.doPCAonFile(theFile)[source]
dragonn.synthetic.util.doesNotWorkForMultithreading_redirectStdout(func, redirectedStdout)[source]
dragonn.synthetic.util.enum(**enums)[source]
dragonn.synthetic.util.enumerate_skipFirst(aList)[source]
dragonn.synthetic.util.executeAsSystemCall(commandToExecute)[source]
dragonn.synthetic.util.executeForAllFilesInDirectory(directory, function, fileFilterFunction=<function <lambda>>)[source]
dragonn.synthetic.util.floatRange(start, end, step)[source]

Like range but for floats...

dragonn.synthetic.util.formatDictAsArgsString(theDict, subDictEnclosingChars='"')[source]
dragonn.synthetic.util.formattedJsonDump(jsonData)[source]
dragonn.synthetic.util.fracToRainbowColour(frac)[source]
frac is a number from 0 to 1. Map to
a 3-tuple representing a rainbow colour.

1 -> (0, 1, 0) #green 0.75 -> (1, 0, 1) #yellow 0.5 -> (1, 0, 0) #red 0.25 -> (1, 1, 0) #violet 0 -> (0, 0, 1) #blue

dragonn.synthetic.util.getAllPossibleSubsets(arr)[source]
dragonn.synthetic.util.getBest(arr, getterFunc, takeMax)[source]
Will return a tuple of the
index and the value of the best as extracted by getterFunc
dragonn.synthetic.util.getBestLengthwiseCrossCorrelationOfArrays(arr1, arr2, normaliseFunc, smallerPerPosNormFuncs, largerPerPosNormFuncs)[source]
dragonn.synthetic.util.getDateTimeString(datetimeFormat='%y-%m-%d-%H-%M')[source]
dragonn.synthetic.util.getErrorTraceback()[source]
dragonn.synthetic.util.getExtremeN(toSort, N, keyFunc)[source]

Returns the indices

dragonn.synthetic.util.getFromEnum(theEnum, enumName, string)[source]
dragonn.synthetic.util.getIntervals(minVal, numSteps, **kwargs)[source]
dragonn.synthetic.util.getMaxIndex(arr)[source]
dragonn.synthetic.util.getNthInterval(minVal, maxVal, numSteps, n, logarithmic, roundTo, cast)[source]

logarithmic: boolean indicating if want log numSteps vs linear roundTo: can be set to None for no rounding cast: can be set to just lambda x: x

dragonn.synthetic.util.getRandomString(size)[source]
dragonn.synthetic.util.getSingleton(name)[source]
dragonn.synthetic.util.getStackTrace()[source]
dragonn.synthetic.util.getTempDir()[source]
dragonn.synthetic.util.imageToSeq(image)[source]
dragonn.synthetic.util.intersects(chromStartEnd1, chromStartEnd2)[source]
dragonn.synthetic.util.invertIndices(selectedIndices, fullSetOfIndices)[source]

Returns all indices in fullSet but not in selected.

dragonn.synthetic.util.invertPermutation(permutation)[source]
dragonn.synthetic.util.isBetter(value, referenceValue, isLargerBetter)[source]
dragonn.synthetic.util.isBetterOrEqual(value, referenceValue, isLargerBetter)[source]
dragonn.synthetic.util.isNumpy(obj)[source]
dragonn.synthetic.util.iter_skipFirst(aList)[source]
dragonn.synthetic.util.linecount(filename)[source]
dragonn.synthetic.util.makeChromStartEnd(chrom, start, end)[source]
dragonn.synthetic.util.multiprocessing_map_printProgress(secondsBetweenUpdates, numThreads, func, iterable)[source]
dragonn.synthetic.util.normaliseByRowsAndColumns(theMatrix)[source]

The matrix is as a dictionary

dragonn.synthetic.util.normaliseEntriesByMeanAndSdev(arr)[source]
dragonn.synthetic.util.normaliseEntriesByMeanAndTwoNorm(arr)[source]
dragonn.synthetic.util.normaliseEntriesBySdev(arr)[source]
dragonn.synthetic.util.normaliseEntriesByTwoNorm(arr)[source]
dragonn.synthetic.util.normaliseEntriesZeroToOne(arr)[source]
dragonn.synthetic.util.normaliseRowsByMeanAndSdev(arr)[source]
dragonn.synthetic.util.normaliseRowsByMeanAndSdev_firstFourSeq(arr)[source]
dragonn.synthetic.util.npArrayIfList(arr)[source]
dragonn.synthetic.util.objectFromArgsAndKwargs(classOfObject, args=[], kwargs={})[source]
dragonn.synthetic.util.objectFromArgsAndKwargsFromYaml(classOfObject, yamlWithArgsAndKwargs)[source]
dragonn.synthetic.util.overrides(interface_class)[source]
dragonn.synthetic.util.parseJsonFile(fileName)[source]
dragonn.synthetic.util.parseMultipleYamlFiles(pathsToYaml)[source]
dragonn.synthetic.util.parseYamlFile(fileName)[source]
dragonn.synthetic.util.parseYamlFileHandle(fileHandle)[source]
dragonn.synthetic.util.plotPRC(precision, recall, auc, plotFileName)[source]
dragonn.synthetic.util.presentAndNotNone(obj, attr)[source]
dragonn.synthetic.util.presentAndNotNoneOrFalse(obj, attr)[source]
dragonn.synthetic.util.printAttributes(entities, attributesToPrint, outputFile)[source]
dragonn.synthetic.util.printCoordinatesForLabelSubsets(regionIds, labels, labelSetsToFilterFor, outputFilePrefix)[source]

assumes regionIds of the form chr:start-end labelSetsToFilter as an iterable of iterables of the

label you want to subset. Will be incorportated into the filename
outputFile will be outputFilePrefix+”_”
+”-”.join(str(x) for x in labelsToFilter)
dragonn.synthetic.util.printRegionIds(regionIds, labels, labelFilter, outputFile, idTransformation=<function <lambda>>)[source]
dragonn.synthetic.util.randomlySampleFromArr(arr)[source]
dragonn.synthetic.util.readMultilineRawInput(prompt)[source]
dragonn.synthetic.util.redirectStdoutToString(func, logger=None, emailErrorFunc=None)[source]
dragonn.synthetic.util.reverseComplement(sequence)[source]
dragonn.synthetic.util.reverse_enumerate(aList)[source]
dragonn.synthetic.util.roundToNearest(val, nearest)[source]
dragonn.synthetic.util.rowNormalise(matrix)[source]
dragonn.synthetic.util.runningWindowOneOver(func, arr, smallerArr, windowSize)[source]
dragonn.synthetic.util.sampleFromDiscreteDistribution(discereteDistribution)[source]

Expecting an instance of DiscreteDistribution

dragonn.synthetic.util.sampleFromNumSteps(numSteps, **kwargs)[source]
dragonn.synthetic.util.sampleFromProbsArr(arrWithProbs)[source]

Will return a sampled index

dragonn.synthetic.util.sampleFromRangeWithStepSize(minVal, maxVal, stepSize, cast)[source]

cast can be just max-min

dragonn.synthetic.util.sampleNinstancesFromDiscreteDistribution(N, discreteDistribution)[source]
dragonn.synthetic.util.sampleWithoutReplacement(arr, numToSample)[source]
dragonn.synthetic.util.sendEmail(to, frm, subject, contents)[source]
dragonn.synthetic.util.sendEmails(tos, frm, subject, contents)[source]
dragonn.synthetic.util.seqTo2DImages_fillInArray(zerosArray, sequence)[source]
dragonn.synthetic.util.seqTo2Dimage(sequence)[source]
dragonn.synthetic.util.setOfSeqsTo2Dimages(sequences)[source]
dragonn.synthetic.util.shuffleArray(*arrs)[source]
dragonn.synthetic.util.sortByLabels(arr, labels)[source]
intended use case: sorting by cluster labels for
plotting a heatmap
dragonn.synthetic.util.splitChromStartEnd(chromId)[source]
dragonn.synthetic.util.splitIgnoringQuotes(string, charToSplitOn=' ')[source]

will split on charToSplitOn, ignoring things that are in quotes

dragonn.synthetic.util.splitIntegerIntoProportions(integer, proportions)[source]
dragonn.synthetic.util.submitProcess(command)[source]
dragonn.synthetic.util.sumAbsDifferences(arr1, arr2)[source]
dragonn.synthetic.util.sumNumpyArrays(numpyArrays)[source]
dragonn.synthetic.util.swapIndices(arr, idx1, idx2)[source]
dragonn.synthetic.util.throwErrorIfUnequalSets(given, expected)[source]
dragonn.synthetic.util.transformType(inp, theType)[source]
dragonn.synthetic.util.valToIndexMap(arr)[source]

A map from a value to the index at which it occurs

dragonn.synthetic.util.yamlToArgsString(yamlString, subDictEnclosingChars='"')[source]