use of au.edu.wehi.idsv.DirectedEvidence in project gridss by PapenfussLab.
the class NonReferenceContigAssemblerTest method should_removeMisassembledPartialContigsDuringAssembly.
@Test
public void should_removeMisassembledPartialContigsDuringAssembly() {
ProcessingContext pc = getContext();
pc.getAssemblyParameters().removeMisassembledPartialContigsDuringAssembly = false;
MockSAMEvidenceSource ses = new MockSAMEvidenceSource(getContext(), 50, 100);
pc.getAssemblyParameters().k = 4;
pc.getAssemblyParameters().maxExpectedBreakendLengthMultiple = 1.5f;
List<DirectedEvidence> e = new ArrayList<>();
for (int i = 1; i < 1000; i++) {
e.add(NRRP(ses, OEA(0, i, "10M", true)));
}
List<SAMRecord> output = go(pc, false, e.toArray(new DirectedEvidence[0]));
assertEquals(1, output.size());
SAMRecord r = output.get(0);
int sclenFull = SAMRecordUtil.getStartClipLength(r) + SAMRecordUtil.getEndClipLength(r);
pc.getAssemblyParameters().removeMisassembledPartialContigsDuringAssembly = true;
output = go(pc, false, e.toArray(new DirectedEvidence[0]));
assertEquals(1, output.size());
r = output.get(0);
int sclenTruncated = SAMRecordUtil.getStartClipLength(r) + SAMRecordUtil.getEndClipLength(r);
Assert.assertNotEquals(sclenFull, sclenTruncated);
}
use of au.edu.wehi.idsv.DirectedEvidence in project gridss by PapenfussLab.
the class PathNodeIteratorTest method should_handle_repeated_kmers.
@Test
public void should_handle_repeated_kmers() {
SoftClipEvidence sce = SCE(FWD, withSequence("TTTTTTTTTTTTTTTT", Read(0, 5, "6M10S")));
DirectedEvidence rp = NRRP(SES(10, 200), withSequence("CCCCCCCCCC", DP(0, 25, "10M", true, 1, 1, "10M", false)));
List<KmerPathNode> result = asCheckedKPN(4, 100, sce, rp);
assertCompleteGraph(result, 4);
// SC: ref repeat; nonref repeat
// RP: single width starting kmer <-> repeat cycle <-> single width ending kmer
assertEquals(5, result.size());
}
use of au.edu.wehi.idsv.DirectedEvidence in project gridss by PapenfussLab.
the class PositionalAssemblerTest method should_set_assembly_direction.
@Test
public void should_set_assembly_direction() {
ProcessingContext pc = getContext();
pc.getAssemblyParameters().k = 4;
pc.getAssemblyParameters().maxExpectedBreakendLengthMultiple = 10;
List<DirectedEvidence> e = new ArrayList<>();
// ACGTACGTACGTACGTACGT
// 12345678901234567890
// MMMM----MMMM
// MMMM>>>>
e.add(SCE(FWD, withSequence("ACGTCCGGACGG", Read(1, 1, "4M8S"))[0]));
e.add(SCE(FWD, withSequence("ACGGTTGT", Read(1, 9, "4M4S"))[0]));
e.sort(DirectedEvidenceOrder.ByStartEnd);
ArrayList<SAMRecord> output = Lists.newArrayList(new PositionalAssembler(pc, AES(pc), new SequentialIdGenerator("asm"), e.iterator(), BreakendDirection.Forward));
for (SAMRecord r : output) {
assertEquals(BreakendDirection.Forward, new AssemblyAttributes(r).getAssemblyDirection());
}
}
use of au.edu.wehi.idsv.DirectedEvidence in project gridss by PapenfussLab.
the class PositionalAssemblerTest method anchor_should_not_overrun_contig_start.
@Test
public void anchor_should_not_overrun_contig_start() {
ProcessingContext pc = getContext();
AssemblyEvidenceSource aes = AES(pc);
pc.getAssemblyParameters().k = 4;
List<DirectedEvidence> input = new ArrayList<DirectedEvidence>();
input.add(SCE(FWD, withSequence("CGTAACCGGTTC", Read(0, 1, "1M2I4M5S"))));
ArrayList<SAMRecord> r = Lists.newArrayList(new PositionalAssembler(pc, aes, new SequentialIdGenerator("asm"), input.iterator()));
assertEquals(1, r.size());
assertEquals(1, r.get(0).getAlignmentStart());
}
use of au.edu.wehi.idsv.DirectedEvidence in project gridss by PapenfussLab.
the class PositionalAssemblerTest method anchor_should_not_overrun_contig_end.
@Test
public void anchor_should_not_overrun_contig_end() {
ProcessingContext pc = getContext();
AssemblyEvidenceSource aes = AES(pc);
pc.getAssemblyParameters().k = 4;
List<DirectedEvidence> input = new ArrayList<DirectedEvidence>();
input.add(SCE(BWD, withSequence("CGTAACCGGTTC", Read(0, 9996, "5S4M2I1M"))));
ArrayList<SAMRecord> r = Lists.newArrayList(new PositionalAssembler(pc, aes, new SequentialIdGenerator("asm"), input.iterator()));
assertEquals(1, r.size());
assertEquals(10000, r.get(0).getAlignmentEnd());
}
Aggregations