Fixed integration tests
This commit is contained in:
parent
6ae3f9e322
commit
c7b69a4574
|
|
@ -42,6 +42,7 @@ import org.broadinstitute.sting.utils.clipreads.ClippingRepresentation;
|
||||||
import org.broadinstitute.sting.utils.clipreads.ReadClipper;
|
import org.broadinstitute.sting.utils.clipreads.ReadClipper;
|
||||||
import org.broadinstitute.sting.utils.collections.Pair;
|
import org.broadinstitute.sting.utils.collections.Pair;
|
||||||
import org.broadinstitute.sting.utils.sam.ReadUtils;
|
import org.broadinstitute.sting.utils.sam.ReadUtils;
|
||||||
|
import org.yaml.snakeyaml.events.SequenceStartEvent;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
|
|
@ -99,22 +100,6 @@ public class ClipReadsWalker extends ReadWalker<ClipReadsWalker.ReadClipperWithD
|
||||||
*/
|
*/
|
||||||
List<Pair<Integer, Integer>> cyclesToClip = null;
|
List<Pair<Integer, Integer>> cyclesToClip = null;
|
||||||
|
|
||||||
public class ReadClipperWithData extends ReadClipper {
|
|
||||||
private ClippingData data;
|
|
||||||
|
|
||||||
public ReadClipperWithData(SAMRecord read) {
|
|
||||||
super(read);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ClippingData getData() {
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setData(ClippingData data) {
|
|
||||||
this.data = data;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The initialize function.
|
* The initialize function.
|
||||||
*/
|
*/
|
||||||
|
|
@ -201,7 +186,7 @@ public class ClipReadsWalker extends ReadWalker<ClipReadsWalker.ReadClipperWithD
|
||||||
if ( clippingRepresentation == ClippingRepresentation.HARDCLIP_BASES ) {
|
if ( clippingRepresentation == ClippingRepresentation.HARDCLIP_BASES ) {
|
||||||
read = ReadUtils.replaceSoftClipsWithMatches(read);
|
read = ReadUtils.replaceSoftClipsWithMatches(read);
|
||||||
}
|
}
|
||||||
ReadClipperWithData clipper = new ReadClipperWithData(read);
|
ReadClipperWithData clipper = new ReadClipperWithData(read, sequencesToClip);
|
||||||
|
|
||||||
//
|
//
|
||||||
// run all three clipping modules
|
// run all three clipping modules
|
||||||
|
|
@ -224,6 +209,7 @@ public class ClipReadsWalker extends ReadWalker<ClipReadsWalker.ReadClipperWithD
|
||||||
private void clipSequences(ReadClipperWithData clipper) {
|
private void clipSequences(ReadClipperWithData clipper) {
|
||||||
if (sequencesToClip != null) { // don't bother if we don't have any sequences to clip
|
if (sequencesToClip != null) { // don't bother if we don't have any sequences to clip
|
||||||
SAMRecord read = clipper.getRead();
|
SAMRecord read = clipper.getRead();
|
||||||
|
ClippingData data = clipper.getData();
|
||||||
|
|
||||||
for (SeqToClip stc : sequencesToClip) {
|
for (SeqToClip stc : sequencesToClip) {
|
||||||
// we have a pattern for both the forward and the reverse strands
|
// we have a pattern for both the forward and the reverse strands
|
||||||
|
|
@ -242,12 +228,11 @@ public class ClipReadsWalker extends ReadWalker<ClipReadsWalker.ReadClipperWithD
|
||||||
//ClippingOp op = new ClippingOp(ClippingOp.ClippingType.MATCHES_CLIP_SEQ, start, stop, stc.seq);
|
//ClippingOp op = new ClippingOp(ClippingOp.ClippingType.MATCHES_CLIP_SEQ, start, stop, stc.seq);
|
||||||
ClippingOp op = new ClippingOp(start, stop);
|
ClippingOp op = new ClippingOp(start, stop);
|
||||||
clipper.addOp(op);
|
clipper.addOp(op);
|
||||||
ClippingData data = new ClippingData(sequencesToClip);
|
|
||||||
data.incSeqClippedBases(stc.seq, op.getLength());
|
data.incSeqClippedBases(stc.seq, op.getLength());
|
||||||
clipper.setData(data);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
clipper.setData(data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -275,6 +260,7 @@ public class ClipReadsWalker extends ReadWalker<ClipReadsWalker.ReadClipperWithD
|
||||||
private void clipCycles(ReadClipperWithData clipper) {
|
private void clipCycles(ReadClipperWithData clipper) {
|
||||||
if (cyclesToClip != null) {
|
if (cyclesToClip != null) {
|
||||||
SAMRecord read = clipper.getRead();
|
SAMRecord read = clipper.getRead();
|
||||||
|
ClippingData data = clipper.getData();
|
||||||
|
|
||||||
for (Pair<Integer, Integer> p : cyclesToClip) { // iterate over each cycle range
|
for (Pair<Integer, Integer> p : cyclesToClip) { // iterate over each cycle range
|
||||||
int cycleStart = p.first;
|
int cycleStart = p.first;
|
||||||
|
|
@ -293,11 +279,10 @@ public class ClipReadsWalker extends ReadWalker<ClipReadsWalker.ReadClipperWithD
|
||||||
//ClippingOp op = new ClippingOp(ClippingOp.ClippingType.WITHIN_CLIP_RANGE, start, stop, null);
|
//ClippingOp op = new ClippingOp(ClippingOp.ClippingType.WITHIN_CLIP_RANGE, start, stop, null);
|
||||||
ClippingOp op = new ClippingOp(start, stop);
|
ClippingOp op = new ClippingOp(start, stop);
|
||||||
clipper.addOp(op);
|
clipper.addOp(op);
|
||||||
ClippingData data = new ClippingData(sequencesToClip);
|
|
||||||
data.incNRangeClippedBases(op.getLength());
|
data.incNRangeClippedBases(op.getLength());
|
||||||
clipper.setData(data);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
clipper.setData(data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -317,6 +302,7 @@ public class ClipReadsWalker extends ReadWalker<ClipReadsWalker.ReadClipperWithD
|
||||||
*/
|
*/
|
||||||
private void clipBadQualityScores(ReadClipperWithData clipper) {
|
private void clipBadQualityScores(ReadClipperWithData clipper) {
|
||||||
SAMRecord read = clipper.getRead();
|
SAMRecord read = clipper.getRead();
|
||||||
|
ClippingData data = clipper.getData();
|
||||||
int readLen = read.getReadBases().length;
|
int readLen = read.getReadBases().length;
|
||||||
byte[] quals = read.getBaseQualities();
|
byte[] quals = read.getBaseQualities();
|
||||||
|
|
||||||
|
|
@ -338,10 +324,9 @@ public class ClipReadsWalker extends ReadWalker<ClipReadsWalker.ReadClipperWithD
|
||||||
//clipper.addOp(new ClippingOp(ClippingOp.ClippingType.LOW_Q_SCORES, start, stop, null));
|
//clipper.addOp(new ClippingOp(ClippingOp.ClippingType.LOW_Q_SCORES, start, stop, null));
|
||||||
ClippingOp op = new ClippingOp(start, stop);
|
ClippingOp op = new ClippingOp(start, stop);
|
||||||
clipper.addOp(op);
|
clipper.addOp(op);
|
||||||
ClippingData data = new ClippingData(sequencesToClip);
|
|
||||||
data.incNQClippedBases(op.getLength());
|
data.incNQClippedBases(op.getLength());
|
||||||
clipper.setData(data);
|
|
||||||
}
|
}
|
||||||
|
clipper.setData(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -369,8 +354,8 @@ public class ClipReadsWalker extends ReadWalker<ClipReadsWalker.ReadClipperWithD
|
||||||
data.nTotalBases += clipper.getRead().getReadLength();
|
data.nTotalBases += clipper.getRead().getReadLength();
|
||||||
if (clipper.wasClipped()) {
|
if (clipper.wasClipped()) {
|
||||||
data.nClippedReads++;
|
data.nClippedReads++;
|
||||||
|
data.addData(clipper.getData());
|
||||||
}
|
}
|
||||||
data.addData(clipper.getData());
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -439,6 +424,13 @@ public class ClipReadsWalker extends ReadWalker<ClipReadsWalker.ReadClipperWithD
|
||||||
nQClippedBases += data.nQClippedBases;
|
nQClippedBases += data.nQClippedBases;
|
||||||
nRangeClippedBases += data.nRangeClippedBases;
|
nRangeClippedBases += data.nRangeClippedBases;
|
||||||
nSeqClippedBases += data.nSeqClippedBases;
|
nSeqClippedBases += data.nSeqClippedBases;
|
||||||
|
|
||||||
|
for (String seqClip : data.seqClipCounts.keySet()) {
|
||||||
|
Long count = data.seqClipCounts.get(seqClip);
|
||||||
|
if (seqClipCounts.containsKey(seqClip))
|
||||||
|
count += seqClipCounts.get(seqClip);
|
||||||
|
seqClipCounts.put(seqClip, count);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
|
@ -463,4 +455,27 @@ public class ClipReadsWalker extends ReadWalker<ClipReadsWalker.ReadClipperWithD
|
||||||
return s.toString();
|
return s.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class ReadClipperWithData extends ReadClipper {
|
||||||
|
private ClippingData data;
|
||||||
|
|
||||||
|
public ReadClipperWithData(SAMRecord read, List<SeqToClip> clipSeqs) {
|
||||||
|
super(read);
|
||||||
|
data = new ClippingData(clipSeqs);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ClippingData getData() {
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setData(ClippingData data) {
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addData(ClippingData data) {
|
||||||
|
this.data.addData(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue