/* Copyright 2013 University of North Carolina at Chapel Hill. All rights reserved. */ package abra; import java.io.IOException; import java.io.InputStream; import java.util.Queue; import htsjdk.samtools.SAMFileHeader; import htsjdk.samtools.SAMFileWriter; import htsjdk.samtools.SAMRecord; /** * Thread runnable class for read adjustment. * * @author Lisle E. Mose (lmose at unc dot edu) */ public class AdjustReadsQueueRunnable extends AbraRunnable { private ReadAdjuster readAdjuster; private SAMFileWriter outputSam; private boolean isTightAlignment; private String tempDir; private SAMFileHeader samHeader; private Queue<SAMRecord> queue; private MutableBoolean isDone; public AdjustReadsQueueRunnable(ThreadManager threadManager, ReadAdjuster readAdjuster, SAMFileWriter outputSam, boolean isTightAlignment, String tempDir, SAMFileHeader samHeader, MutableBoolean isDone) { super(threadManager); this.readAdjuster = readAdjuster; this.outputSam = outputSam; this.isTightAlignment = isTightAlignment; this.tempDir = tempDir; this.samHeader = samHeader; this.isDone = isDone; } @Override public void go() throws Exception { readAdjuster.adjustReads(queue, outputSam, isTightAlignment, tempDir, samHeader, isDone); } public void setReadQueue(Queue<SAMRecord> queue) { this.queue = queue; } public void setDone() { isDone.setValue(true); } }