use of au.edu.wehi.idsv.ProcessingContext in project gridss by PapenfussLab.
the class PositionalAssemblerTest method should_assemble_simple_forward_soft_clips.
@Test
public void should_assemble_simple_forward_soft_clips() {
ProcessingContext pc = getContext();
pc.getAssemblyParameters().anchorLength = 1;
AssemblyEvidenceSource aes = AES(pc);
pc.getAssemblyParameters().k = 4;
List<DirectedEvidence> input = new ArrayList<DirectedEvidence>();
// 12345678901234567890
// ACGTTGGTTA
// MMMMMSSSSS
// GCAACGTTGGTTAA
// MMMMMMMMSSSSSS
input.add(SCE(FWD, withSequence("ACGTTGGTTA", Read(0, 10, "5M5S"))[0]));
input.add(SCE(FWD, withSequence("TTTTTGCAACGTTGGTTAA", Read(0, 2, "13M6S"))[0]));
input.sort(DirectedEvidenceOrder.ByStartEnd);
List<SingleReadEvidence> r = asAssemblyEvidence(aes, Lists.newArrayList(new PositionalAssembler(pc, aes, new SequentialIdGenerator("asm"), input.iterator())));
assertEquals(1, r.size());
assertEquals(new BreakendSummary(0, FWD, 14), r.get(0).getBreakendSummary());
// anchor length to match breakend length
assertEquals("AACGTT", S(r.get(0).getAnchorSequence()));
assertEquals("GGTTAA", S(r.get(0).getBreakendSequence()));
assertEquals("AACGTTGGTTAA", S(r.get(0).getSAMRecord().getReadBases()));
}
use of au.edu.wehi.idsv.ProcessingContext in project gridss by PapenfussLab.
the class PositionalAssemblerTest method should_assemble_simple_input.
@Test
public void should_assemble_simple_input() {
ProcessingContext pc = getContext();
AssemblyEvidenceSource aes = AES(pc);
pc.getAssemblyParameters().k = 4;
List<DirectedEvidence> input = new ArrayList<DirectedEvidence>();
input.add(SCE(BWD, Read(0, 10, "5S5M")));
input.add(SCE(FWD, Read(0, 10, "5M5S")));
input.add(SCE(BWD, Read(0, 100, "5S5M")));
input.add(SCE(FWD, Read(0, 100, "5M5S")));
input.sort(DirectedEvidenceOrder.ByStartEnd);
ArrayList<SAMRecord> r = Lists.newArrayList(new PositionalAssembler(pc, aes, new SequentialIdGenerator("asm"), input.iterator()));
assertEquals(4, r.size());
}
use of au.edu.wehi.idsv.ProcessingContext in project gridss by PapenfussLab.
the class PositionalAssemblerTest method rp_anchor_should_set_non_reference_bases_as_anchoring.
@Test
public void rp_anchor_should_set_non_reference_bases_as_anchoring() {
ProcessingContext pc = getContext();
pc.getAssemblyParameters().anchorLength = 1;
AssemblyEvidenceSource aes = AES(pc);
pc.getAssemblyParameters().k = 4;
List<DirectedEvidence> input = new ArrayList<DirectedEvidence>();
// 12345678901234567890
// ACGTTGGTTA
// MMMMMSSSSS
// GCAACGTTGGTTAA
// MMMMMMMMSSSSSS
// TTTTTGCAACGTTGGTTAA
input.add(SCE(FWD, withSequence("ACGTTGGTTA", Read(0, 10, "5M5S"))[0]));
input.add(SCE(FWD, withSequence("TTTTTGCAACGTTGGTTAA", Read(0, 2, "13M6S"))[0]));
input.add(NRRP(withSequence("TTTTTGCAACGTTGGTTAA", DP(0, 2, "13M6S", true, 1, 1, "19M", false))));
input.sort(DirectedEvidenceOrder.ByStartEnd);
List<SingleReadEvidence> r = asAssemblyEvidence(aes, Lists.newArrayList(new PositionalAssembler(pc, aes, new SequentialIdGenerator("asm"), input.iterator())));
assertEquals(2, r.size());
// race condition w.r.t which assembly returns first
assertEquals(new BreakendSummary(0, FWD, 14), r.get(0).getBreakendSummary());
// anchor length to match breakend length
assertEquals("AACGTT", S(r.get(0).getAnchorSequence()));
assertEquals("GGTTAA", S(r.get(0).getBreakendSequence()));
assertEquals("AACGTTGGTTAA", S(r.get(0).getSAMRecord().getReadBases()));
}
use of au.edu.wehi.idsv.ProcessingContext in project gridss by PapenfussLab.
the class StaticDeBruijnPathGraphGexfExporterTest method positional_should_export_dot.
@Test
@Category(Hg19Tests.class)
public void positional_should_export_dot() throws IOException {
File output = new File(super.testFolder.getRoot(), "chr12-244000.vcf");
setReference(Hg19Tests.findHg19Reference("chr12.fa"));
createInput(new File("src/test/resources/chr12-244000.tagged.bam"));
BuildBamIndex bbi = new BuildBamIndex();
bbi.instanceMain(new String[] { "I=" + input.getAbsolutePath() });
ProcessingContext pc = getCommandlineContext();
SAMEvidenceSource ses = new SAMEvidenceSource(pc, input, null, 0);
AssemblyEvidenceSource aes = new AssemblyEvidenceSource(pc, ImmutableList.of(ses), output);
aes.assembleBreakends(null);
File dir = new File(super.testFolder.getRoot(), "visualisation");
File[] export = dir.listFiles((FileFilter) new WildcardFileFilter("*.dot"));
// TODO: change graph write timing
assertTrue(export != null && export.length > 0);
}
use of au.edu.wehi.idsv.ProcessingContext in project gridss by PapenfussLab.
the class AssembleBreakends method doWork.
@Override
public int doWork(ExecutorService threadpool) throws IOException {
IOUtil.assertFileIsWritable(OUTPUT);
ProcessingContext pc = getContext();
List<SAMEvidenceSource> sources = getSamEvidenceSources();
AssemblyEvidenceSource assembler = new AssemblyEvidenceSource(pc, sources, OUTPUT);
assembler.assembleBreakends(threadpool);
return 0;
}
Aggregations