externalParseWrapper(bAMpARSER,
parseQueue,
BFI_list,
verbose,
doContigNames)
| source code
|
Single-process BAMfile parsing
cTypes pointers are unpickleable unless they are top level, so this function
lives outside the class. In this case we reduce the number of member
variables passed to it by passing the class instead. Any implicit copy
operations do not affect the workflow as it stands now. If you modify this
function you need to be aware of the limitations of python multiprocessing,
Queues, pickling and shared memory.
Extra logic is also contained in BamParser._parseOneBam
Inputs:
bAMpARSER - BamParser instance, a valid BamParser instance
parseQueue - Manager.Queue, bids (BAMs) yet to be parsed
BFI_list - Manager.List, place all processed BFIs on this list
verbose - == True -> be verbose
doContigNames - == True -> load contigs names from the C-land BFI struct
|