Ejemplo n.º 1
0
 public void testOverlapCigarConsistency() {
   final byte[] read =
       DnaUtils.encodeString("GTACTGTGTGCGTCCTTGACATCTA     ACCGGCGCCT".replaceAll(" ", ""));
   final byte[] tmpl =
       DnaUtils.encodeString("GTAGT  GTGCGTCCTTGACATCTAAGGATATCGGCGCCTGA".replaceAll(" ", ""));
   final int[] actions = ActionsHelper.build("===X=BB====================NNNNN=X========", 0, 3);
   final AlignmentResult ar = new AlignmentResult(read, actions, tmpl);
   ar.setIdentifyingInfo(true, false);
   // System.out.println("cigar:" + ar.getCigarString(1, false) + " readString:" +
   // ar.readString());
   final SAMRecord samrec = new SAMRecord(null);
   samrec.setCigarString(ar.getCigarString(false, false));
   samrec.setReadString(ar.readString());
   samrec.setAttribute(SamUtils.ATTRIBUTE_NUM_MISMATCHES, 2);
   samrec.setReadNegativeStrandFlag(false);
   samrec.setFirstOfPairFlag(true);
   samrec.setAlignmentStart(1);
   samrec.setFlags(67);
   final NgsParams params =
       new NgsParamsBuilder()
           .gapOpenPenalty(EditDistanceFactory.DEFAULT_GAP_OPEN_PENALTY)
           .gapExtendPenalty(EditDistanceFactory.DEFAULT_GAP_EXTEND_PENALTY)
           .substitutionPenalty(EditDistanceFactory.DEFAULT_SUBSTITUTION_PENALTY)
           .unknownsPenalty(0)
           .create();
   try (MemoryPrintStream mps = new MemoryPrintStream()) {
     final SamValidator sv =
         new SamValidator(
             mps.printStream(), mps.printStream(), true, false, false, false, params, true);
     assertEquals(
         2 * EditDistanceFactory.DEFAULT_SUBSTITUTION_PENALTY,
         sv.isAtExpectedRef(tmpl, samrec, null));
   }
 }