@groovy.util.logging.Log @groovy.transform.CompileStatic class AsyncMateResolveWorker extends java.lang.Object implements java.lang.Runnable
A background task that can read from a queue of unpaired reads and resolve their pairs in the background, as well as resolve other reads that are in the same region as the pair that is resolved.
This class interoperates closely with the gngs.MissingMateIndex class, which maintains a priority queue (see gngs.MissingMateIndex#resolveQueue) of reads that are missing mates which need resolving.
**Note**: due to the blocked nature of BAM format files, it is highly inefficient to read just one read from a block, but comparatively extremely efficient to read all of them. So the logic applied is that this class takes a pair to resolve from the queue, but then it doesn't just resolve that pair, it will resolve any pair that it happens to read the mate for that also needs resolution and which is in the same region.
Type | Name and description |
---|---|
gngs.MissingMateIndex |
index |
gngs.ReadMateLookupActor |
lookupActor |
ProgressCounter |
progress |
int |
unresolvable |
Constructor and description |
---|
AsyncMateResolveWorker
() |
Type Params | Return Type | Name and description |
---|---|---|
|
boolean |
needsResolution(gngs.SAMRecordPair pair) Check if a read pair is still in a state where the mate needs to be resolved |
|
void |
run() Main loop - runs forever |
Methods inherited from class | Name |
---|---|
class java.lang.Object |
java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Groovy Documentation