use of au.edu.wehi.idsv.ProcessingContext in project gridss by PapenfussLab.
the class NonReferenceContigAssemblerTest method should_call_multiple_nonoverlapping_contigs.
@Test
public void should_call_multiple_nonoverlapping_contigs() {
ProcessingContext pc = getContext();
pc.getAssemblyParameters().k = 4;
SoftClipEvidence sce = SCE(FWD, withSequence("ACGTGGTCGACC", Read(0, 5, "6M6S")));
DiscordantReadPair e = (DiscordantReadPair) NRRP(SES(100, 200), withSequence("GACCTCTACT", DP(0, 25, "10M", true, 1, 1, "10M", false)));
List<SAMRecord> output = go(pc, true, sce, e);
assertEquals(2, output.size());
assertEquals("ACGTGGTCGACC", S(output.get(0).getReadBases()));
assertEquals("NN" + "GACCTCTACT", S(output.get(1).getReadBases()));
}
use of au.edu.wehi.idsv.ProcessingContext 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.ProcessingContext 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.ProcessingContext 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());
}
use of au.edu.wehi.idsv.ProcessingContext in project gridss by PapenfussLab.
the class PositionalAssemblerTest method should_assemble_each_read_alignment_only_once.
@Test
public void should_assemble_each_read_alignment_only_once() {
ProcessingContext pc = getContext();
AssemblyEvidenceSource aes = AES(pc);
pc.getAssemblyParameters().k = 4;
String seq = "AACCGGTTAA";
List<DirectedEvidence> input = new ArrayList<DirectedEvidence>();
input.add(SCE(FWD, withSequence(seq, Read(0, 10, "5M5S"))[0]));
input.add(SCE(FWD, withSequence(seq, Read(0, 10, "5M5S"))[0]));
input.add(SCE(FWD, withSequence(seq, Read(0, 10, "5M5S"))[0]));
input.add(IE(withSequence(seq, Read(0, 10, "5M100D5M"))[0]));
input.add(IE(withSequence(seq, Read(0, 10, "5M100D5M"))[0]));
input.add(IE(withSequence(seq, Read(0, 10, "5M100D5M"))[0]));
input.sort(DirectedEvidenceOrder.ByStartEnd);
ArrayList<SAMRecord> r = Lists.newArrayList(new PositionalAssembler(pc, aes, new SequentialIdGenerator("asm"), input.iterator()));
assertEquals(2, ((int[]) r.get(0).getAttribute("sc"))[0]);
}
Aggregations