Package org.moltools.apps.probemaker.design

Examples of org.moltools.apps.probemaker.design.DefaultProbeDesigner


  }
   
  public void testProjectIO() throws IOException, SequenceFormatException, DuplicateIDException {
    File f1 = new File("IOTest.prx"); //$NON-NLS-1$
    File f2 = new File("IOTest2.prx"); //$NON-NLS-1$
    Task t = pm.getProbeDesignTask(false,true, false,new GoodFairAcceptor(),new BestQualitySelector(),new DefaultProbeDesigner(new GreedyTagAllocator()),new DefaultTSSConstructor(),new StreamErrorHandler(System.err,true));
    t.run();   
   
    TagAllocationTable tat1 = pm.getProject().getTagAllocationTable();
   
    new ProjectXMLIOTask(pm,null,new FileWriter(f1)).run();
    new ProjectXMLIOTask(pm,null,new FileReader(f1)).run();   
    new ProjectXMLIOTask(pm,null,new FileWriter(f2)).run();
    new ProjectXMLIOTask(pm,null,new FileReader(f2)).run();   
    assertEquals(f1.length(),f2.length());
    TagAllocationTable tat2 = pm.getProject().getTagAllocationTable();
   
    assertTrue(tat1.equals(tat2));
   
    t = pm.getProbeDesignTask(false,true, false,new GoodFairAcceptor(),new BestQualitySelector(),new DefaultProbeDesigner(new GreedyTagAllocator()),new DefaultTSSConstructor(),null);
    t.run();   

    new ProjectXMLIOTask(pm,null,new FileWriter(f2)).run();
    new ProjectXMLIOTask(pm,null,new FileReader(f2)).run();   
   
View Full Code Here


    tl.setMode(TagLibrary.USE_UNIQUE_TAG);
   
    pm.getProject().setTagSettings(new DefaultTagSettings(new TagLibrary[] {tl}));
   
    //Design
    ProbeDesigner pd = new DefaultProbeDesigner(new PairwiseTagAllocator());
    pm.getProbeDesignTask(false, false, true, new AllAcceptor(),new NoSelector(), pd, new DefaultTSSConstructor(), new StreamErrorHandler(System.out,true)).run();
       
//  Store to project file
    File f = new File("temp.pmp"); //$NON-NLS-1$
    f.deleteOnExit();
    new ProjectXMLIOTask(pm,null,new FileWriter(f)).run();
   
    //Read project
    new ProjectXMLIOTask(pm,null,new FileReader(f)).run();
   
    //Add new target
    pm.getProject().getTargets().clear();
    pm.getProject().getTargets().addSequence(t2);
   
//  Design with append       
    pm.getProbeDesignTask(true, false, true, new AllAcceptor(), new NoSelector(), pd, new DefaultTSSConstructor(), new StreamErrorHandler(System.out,true)).run();
   
        
//  Store to project file
    f = new File("temp2.pmp"); //$NON-NLS-1$
    f.deleteOnExit();
    new ProjectXMLIOTask(pm,eh,new FileWriter(f)).run();
   
    //Read project
    new ProjectXMLIOTask(pm,eh,new FileReader(f)).run();
      
    pm.getProject().getTargets().clear();
    pm.getProject().getTargets().addSequence(t1);
    pm.getProject().getTargets().addSequence(t2);
   
    db = new ListSequenceDB<NucleotideSequence>();
    db.addSequence(new SimpleNucleotideSequence("Tag 1","AAAAAAAAAA")); //$NON-NLS-1$ //$NON-NLS-2$
    db.addSequence(new SimpleNucleotideSequence("Tag 2","TTTTTTTTTT")); //$NON-NLS-1$ //$NON-NLS-2$
    db.addSequence(new SimpleNucleotideSequence("Tag 3","AAAAAAAAAA")); //$NON-NLS-1$ //$NON-NLS-2$
    db.addSequence(new SimpleNucleotideSequence("Tag 4","TTTTTTTTTT")); //$NON-NLS-1$ //$NON-NLS-2$
    tl = new DefaultTagLibrary(db,"Unique"); //$NON-NLS-1$
    tl.setMode(TagLibrary.USE_PER_GROUP);
   
    pm.getProject().setTagSettings(new DefaultTagSettings(new TagLibrary[] {tl, tl}));
   
//  Design
    pm.getProbeDesignTask(false, true, true, new AllAcceptor(), new NoSelector(), pd, new DefaultTSSConstructor(), eh).run();   

    TagAllocationTable tat1 = pm.getProject().getTagAllocationTable();
   
//  Store to project file
    f = new File("temp3.pmp"); //$NON-NLS-1$
    f.deleteOnExit();
    new ProjectXMLIOTask(pm,eh,new FileWriter(f)).run();
   
    //Read project
    new ProjectXMLIOTask(pm,eh,new FileReader(f)).run();
   
    TagAllocationTable tat2 = pm.getProject().getTagAllocationTable();
   
    assertEquals(tat1, tat2);
   
//  Design
    pd = new DefaultProbeDesigner(new PairwiseTagAllocator());
    pm.getProbeDesignTask(false, false,  true, new AllAcceptor(), new NoSelector(), pd, new DefaultTSSConstructor(), eh).run();           
   
    new ProbeAnalysisTask(pm.getProject(),null).run();
  }
View Full Code Here

    proj.getTargets().addSequence(t1);
    pm.setProject(proj);

    //First design, expected to result in a tag being allocated,
    //and the tag allocation table marking the tag as used
    pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new GoodAcceptor(), new NoSelector(), new DefaultProbeDesigner(new GreedyTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true)).run();
    Probe p = proj.getProbes().getSequenceAt(0);
   
    assertTrue("Tag allocation failed", p.getTags().size()==1);    //$NON-NLS-1$

    //New design, without tag reset, expected to fail because tag is already used
    pm.getProbeDesignTask(false, false, null, new DefaultNamingScheme(), new GoodAcceptor(), new NoSelector(), new DefaultProbeDesigner(new GreedyTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true)).run();  
    p = proj.getProbes().getSequenceAt(0);
   
    assertTrue("Tag allocation should have failed due to no tags left, but seems to have succeeded",p.getTags().size() == 0); //$NON-NLS-1$
   
    //New design, with reset. Expected to succeed because no tags should be used now
    pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new GoodAcceptor(), new NoSelector(), new DefaultProbeDesigner(new GreedyTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true)).run();          
    p = proj.getProbes().getSequenceAt(0);   
   
    assertTrue("Tag allocation failed after reset",p.getTags().size() == 1);     //$NON-NLS-1$

  }
View Full Code Here

    });
      proj.getSettings().getDesignParameters().put(Analyzer.PROP_ACCEPT_OK_ARMS,"false");
      proj.getSettings().getDesignParameters().put(Analyzer.PROP_ACCEPT_OK_CANDIDATES,"false");
     
      //First design, expected to result in failure.
      pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new GoodFairAcceptor(), new BestQualitySelector(), new DefaultProbeDesigner(new GreedyTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true)).run();
      Probe p = proj.getProbes().getSequenceAt(0);
              
      assertEquals("Tag allocation should have failed", 0, p.getTags().size());    //$NON-NLS-1$
      assertEquals("Quality expected to be bad", ProbeMakerConstants.BAD_QUALITY, ProbeMakerPropertyUtils.getRank(p));     
     
     
    //New design, with accept OK pairs. Expected to generate candidates, but fail.     
      proj.getSettings().getDesignParameters().put(Analyzer.PROP_ACCEPT_OK_ARMS,"true");
      proj.getSettings().getDesignParameters().put(Analyzer.PROP_ACCEPT_OK_CANDIDATES,"false");
      ProbeDesignTask task = pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new GoodFairAcceptor(), new BestQualitySelector(), new DefaultProbeDesigner(new GreedyTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true));
      task.run();
      long candCount = task.getCandidatesGenerated();
      p = proj.getProbes().getSequenceAt(0);
     
      assertEquals("Tag allocation should have failed", 0, p.getTags().size());    //$NON-NLS-1$
      assertEquals("Candidates expected", libraries1_1[0].size() , candCount);
      assertEquals("Quality expected to be bad", ProbeMakerConstants.BAD_QUALITY, ProbeMakerPropertyUtils.getRank(p));     
     
    //New design, with accept OK pairs AND candidates. Expected to generate candidates, and find candidate with warning.     
      proj.getSettings().getDesignParameters().put(Analyzer.PROP_ACCEPT_OK_ARMS,"true");
      proj.getSettings().getDesignParameters().put(Analyzer.PROP_ACCEPT_OK_CANDIDATES,"true");
      task = pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new GoodFairAcceptor(), new BestQualitySelector(), new DefaultProbeDesigner(new GreedyTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true));
      task.run();
      candCount = task.getCandidatesGenerated();
      p = proj.getProbes().getSequenceAt(0);
      System.out.println("Probe");
      for (Iterator<KeyValue> i = p.getPropertySet().getKeyValueIterator();i.hasNext();) {
View Full Code Here

    proj.getSettings().addCandidateModuleStage1(dummy);

    pm.setProject(proj);

    //Make a new design after clearing tag usage   
    Task task = pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new GoodAcceptor(), new NoSelector(), new DefaultProbeDesigner(new GreedyTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true));
    task.run();
    Probe p = proj.getProbes().getSequenceAt(0);
    assertTrue("Tag allocated despite warning message",p.getTags().size() == 0); //$NON-NLS-1$

    proj.getSettings().getCandidateModulesStage1().clear();
View Full Code Here

    pm.setProject(proj);
   
    dummy.setData(DummyModule.KEY_WARNING_CHANCE, new Integer(100));
    proj.getSettings().addCandidateModuleStage1(dummy);

    ProbeDesignTask task = pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new GoodAcceptor(), new NoSelector(), new DefaultProbeDesigner(new GreedyTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true));
    task.run();

    //Check the number of candidates tested
    long candCount = task.getCandidatesGenerated();  
    assertTrue("Tag selection, 10 candidates expected, " + candCount + " generated.",candCount==10); //$NON-NLS-1$ //$NON-NLS-2$
View Full Code Here

    proj.getSettings().getDesignParameters().put(TagAllocator.PROP_PREFERRED_LENGTH,String.valueOf(61));
    proj.getSettings().getDesignParameters().put(TagAllocator.PROP_SPACER_SEQUENCE,"CT");     //$NON-NLS-1$
    pm.setProject(proj);

    GreedyTagAllocator ta = new GreedyTagAllocator();          
    ProbeDesignTask task = pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new GoodAcceptor(), new NoSelector(), new DefaultProbeDesigner(ta), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true));
    //task.addListener(new TaskListener());
    task.run();

    long candCount = task.getCandidatesGenerated();

    //Check the number of candidates tested
    assertEquals("Constant spacer, 10 candidates expected, " + candCount + " generated.", candCount, 10); //$NON-NLS-1$ //$NON-NLS-2$

    proj.getSettings().getDesignParameters().put(TagAllocator.PROP_SPACER_SEQUENCE,""); //$NON-NLS-1$

    ta = new GreedyTagAllocator();
    //ta.setDebug(3,System.out);

    task = pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new GoodAcceptor(), new NoSelector(), new DefaultProbeDesigner(ta), new DefaultTSSPairDesigner(new DefaultTSSConstructor()) ,new StreamErrorHandler(System.out,true));
    //task.addListener(new TaskListener());
    task.run();

    //Check the number of candidates tested
    candCount = task.getCandidatesGenerated();
View Full Code Here

    proj.getSettings().addCandidateModuleStage1(dummy);
    pm.setProject(proj);

    //Run test to fail all    
    ProbeDesignTask task = pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new GoodAcceptor(),
        new NoSelector(), new DefaultProbeDesigner(new PairwiseTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true));

    task.run();
    long candCount = task.getCandidatesGenerated();

    assertTrue("Pairwise allocation (Stage 1 module), 10 candidates expected, " + candCount + " generated.",candCount == 10); //$NON-NLS-1$ //$NON-NLS-2$

    //Move dummy to arm stage, check that there are no candidates generated
    proj.getSettings().getCandidateModulesStage1().clear();
    proj.getSettings().getArmModules().add(dummy);

    task = pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new GoodAcceptor(),
        new NoSelector(), new DefaultProbeDesigner(new PairwiseTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true));
    task.run();   
    candCount = task.getCandidatesGenerated();

    assertTrue("Pairwise allocation (TSS module), 0 candidates expected, " + candCount + " generated.",candCount==0); //$NON-NLS-1$ //$NON-NLS-2$

//  Expand target and test use unique mode, 2 candidates expected
    TargetHandler.expandTargets(pm.getProject().getTargets());
    proj.getSettings().getArmModules().clear();   

    task = pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new GoodAcceptor(),
        new NoSelector(), new DefaultProbeDesigner(new GreedyTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true));
    task.run();
    candCount = task.getCandidatesGenerated();
    Probe p1 = pm.getProject().getProbes().getSequenceAt(0);
    Probe p2 = pm.getProject().getProbes().getSequenceAt(1);

    assertTrue("2 candidates expected, " + candCount + " generated.",candCount == 2); //$NON-NLS-1$ //$NON-NLS-2$
    assertTrue("Same tags allocated in unique mode!",p1.getTagAt(0)!=p2.getTagAt(0)); //$NON-NLS-1$

//  Expand target and test use per group, no modules, 2 candidates expected       
    libraries1_10[0].setMode(TagLibrary.USE_PER_GROUP);          

    task = pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new GoodAcceptor(),
        new NoSelector(), new DefaultProbeDesigner(new GreedyTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true));
    task.run();
    candCount = task.getCandidatesGenerated();
    p1 = pm.getProject().getProbes().getSequenceAt(0);
    p2 = pm.getProject().getProbes().getSequenceAt(1);

    assertTrue("2 candidates expected, " + candCount + " generated.",candCount == 2); //$NON-NLS-1$ //$NON-NLS-2$
    assertTrue("Different tags allocated in group mode!",p1.getTagAt(0)==p2.getTagAt(0)); //$NON-NLS-1$

//  Still expanded targets, per group mode, greedy allocator, dummy module in stage 1.
    //Expect 20 candidates generated
    libraries1_10[0].setMode(TagLibrary.USE_PER_GROUP);          
    proj.getSettings().getCandidateModulesStage1().add(dummy);   
      
    task = pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new GoodAcceptor(),
        new NoSelector(), new DefaultProbeDesigner(new GreedyTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true));
    task.run();
   
    candCount = task.getCandidatesGenerated();   
    assertTrue("20 candidates expected, " + candCount + " generated.",candCount == 20);      //$NON-NLS-1$ //$NON-NLS-2$
  }
View Full Code Here

    proj.getTargets().addSequence(t1);   
    proj.getTargets().addSequence(t2);   
    pm.setProject(proj);
   
    pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new AllAcceptor(),
        new NoSelector(), new DefaultProbeDesigner(new PairwiseTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true)).run();

    Probe p1 = proj.getProbes().getSequenceAt(0);
    Probe p2 = proj.getProbes().getSequenceAt(1);

    assertEquals(ProbeMakerPropertyUtils.getRank(p1),ProbeMakerConstants.GOOD_QUALITY);
    assertEquals(ProbeMakerPropertyUtils.getRank(p2),ProbeMakerConstants.BAD_QUALITY);

    proj.getTagAllocationTable().clearUsed();
   
    //Two probes single tag unique, with dummy. Expect first ok, second bad
    proj.getSettings().getCandidateModulesStage2().add(dummy);
      
    ProbeDesignTask task = pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new AllAcceptor(),
        new NoSelector(), new DefaultProbeDesigner(new PairwiseTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true));
    task.run();
   
    p1 = proj.getProbes().getSequenceAt(0);
    p2 = proj.getProbes().getSequenceAt(1);

    assertEquals(ProbeMakerPropertyUtils.getAllMessages(p1).size(),1);
    assertEquals(ProbeMakerPropertyUtils.getRank(p1),ProbeMakerConstants.OK_QUALITY);
    assertEquals(ProbeMakerPropertyUtils.getRank(p2),ProbeMakerConstants.BAD_QUALITY);
    assertEquals(task.getCandidatesGenerated(),1);
   
    proj.getTagAllocationTable().clearUsed();
   
    //Test single-tag use same
    libraries1_1[0].setMode(TagLibrary.USE_SAME_TAG);
    proj.setTagSettings(new DefaultTagSettings(libraries1_1));
    proj.getSettings().getCandidateModulesStage2().clear();
    pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new AllAcceptor(),
        new NoSelector(), new DefaultProbeDesigner(new PairwiseTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true)).run();

    p1 = proj.getProbes().getSequenceAt(0);
    p2 = proj.getProbes().getSequenceAt(1);

    assertEquals(ProbeMakerPropertyUtils.getRank(p1),ProbeMakerConstants.GOOD_QUALITY);
    assertEquals(ProbeMakerPropertyUtils.getRank(p2),ProbeMakerConstants.GOOD_QUALITY);

//  Test single-tag use unique in group with one expanded
    //expect first probe to succeed but be set to bad when second one failed
    //Third probe then set to good
    proj.getTagAllocationTable().clearUsed();
    libraries1_1[0].setMode(TagLibrary.USE_UNIQUE_IN_GROUP);
    proj.setTagSettings(new DefaultTagSettings(libraries1_1));
    proj.getTargets().clear();
    proj.getTargets().addSequence(t1);
    TargetHandler.expandTargets(proj.getTargets());
    proj.getTargets().addSequence(t2);
   
    task = pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new AllAcceptor(),
        new NoSelector(), new DefaultProbeDesigner(new PairwiseTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true));
    task.run();

    p1 = proj.getProbes().getSequenceAt(0);
    p2 = proj.getProbes().getSequenceAt(1);
    Probe p3 = proj.getProbes().getSequenceAt(2);

   
    assertEquals(ProbeMakerPropertyUtils.getRank(p1),ProbeMakerConstants.BAD_QUALITY);
    assertEquals(ProbeMakerPropertyUtils.getRank(p2),ProbeMakerConstants.BAD_QUALITY);
   
    assertEquals(ProbeMakerPropertyUtils.getRank(p3),ProbeMakerConstants.GOOD_QUALITY);
    assertEquals(task.getCandidatesGenerated(),2);
   
    libraries1_1[0].setMode(TagLibrary.USE_UNIQUE_TAG);
   
//  Test single-tag use same with one expanded
    libraries2_1_1[0].setMode(TagLibrary.USE_UNIQUE_TAG);
    libraries2_1_1[1].setMode(TagLibrary.USE_UNIQUE_IN_GROUP);
    proj.setTagSettings(new DefaultTagSettings(libraries2_1_1));

    proj.getTargets().clear();
    proj.getTargets().addSequence(t1);
    TargetHandler.expandTargets(proj.getTargets());
    proj.getTargets().addSequence(t2);
   
    task = pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new AllAcceptor(),
        new NoSelector(), new DefaultProbeDesigner(new PairwiseTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true));
    task.run();

    p1 = proj.getProbes().getSequenceAt(0);
    p2 = proj.getProbes().getSequenceAt(1);
    p3 = proj.getProbes().getSequenceAt(2);
View Full Code Here

    proj.getSettings().addCandidateModuleStage1(dummy);
    pm.setProject(proj);
    TargetHandler.expandTargets(pm.getProject().getTargets());

    ProbeDesignTask task = pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new AllAcceptor(),
        new NoSelector(), new DefaultProbeDesigner(new PairwiseTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true));

    task.run();

    Probe p = proj.getProbes().getSequenceAt(0);
    Probe p2 = proj.getProbes().getSequenceAt(1);

    //Move dummy to arm stage
    proj.getSettings().getCandidateModulesStage1().clear();
    proj.getSettings().addCandidateModuleStage2(dummy);
    task = pm.getProbeDesignTask(false, true, null, new DefaultNamingScheme(), new AllAcceptor(),
        new NoSelector(), new DefaultProbeDesigner(new PairwiseTagAllocator()), new DefaultTSSPairDesigner(new DefaultTSSConstructor()), new StreamErrorHandler(System.out,true));
    task.run();

    Probe p3 = proj.getProbes().getSequenceAt(0);
    Probe p4 = proj.getProbes().getSequenceAt(1);
View Full Code Here

TOP

Related Classes of org.moltools.apps.probemaker.design.DefaultProbeDesigner

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.