private GATKSAMRecord makeRead(final int fragmentSize, final int mateStart) { final byte[] bases = {'A', 'C', 'G', 'T', 'A', 'C', 'G', 'T'}; final byte[] quals = {30, 30, 30, 30, 30, 30, 30, 30}; final String cigar = "8M"; GATKSAMRecord read = ArtificialSAMUtils.createArtificialRead(bases, quals, cigar); read.setProperPairFlag(true); read.setReadPairedFlag(true); read.setMateAlignmentStart(mateStart); read.setInferredInsertSize(fragmentSize); return read; }
public final static List<GATKSAMRecord> createPair(SAMFileHeader header, String name, int readLen, int leftStart, int rightStart, boolean leftIsFirst, boolean leftIsNegative) { GATKSAMRecord left = ArtificialSAMUtils.createArtificialRead(header, name, 0, leftStart, readLen); GATKSAMRecord right = ArtificialSAMUtils.createArtificialRead(header, name, 0, rightStart, readLen); left.setReadPairedFlag(true); right.setReadPairedFlag(true); left.setProperPairFlag(true); right.setProperPairFlag(true); left.setFirstOfPairFlag(leftIsFirst); right.setFirstOfPairFlag(!leftIsFirst); left.setReadNegativeStrandFlag(leftIsNegative); left.setMateNegativeStrandFlag(!leftIsNegative); right.setReadNegativeStrandFlag(!leftIsNegative); right.setMateNegativeStrandFlag(leftIsNegative); left.setMateAlignmentStart(right.getAlignmentStart()); right.setMateAlignmentStart(left.getAlignmentStart()); left.setMateReferenceIndex(0); right.setMateReferenceIndex(0); int isize = rightStart + readLen - leftStart; left.setInferredInsertSize(isize); right.setInferredInsertSize(-isize); return Arrays.asList(left, right); }
elements.add(new CigarElement(length, CigarOperator.characterToEnum('M'))); record.setCigar(new Cigar(elements)); record.setProperPairFlag(false);
@Test(enabled = true) public void testHardClippingBeforeMergeResultingInCompletelyContainedSecondRead() { final String adapter = "NNNN"; final int minReadSize = 7; final GATKSAMRecord readLeftAdapter = makeOverlappingRead(adapter, 30, Utils.dupString("A", 10), Utils.dupBytes((byte)30, 10), "", 30, 10); final GATKSAMRecord readRightAdapter = makeOverlappingRead("", 30, Utils.dupString("A", minReadSize), Utils.dupBytes((byte)30, minReadSize), adapter, 30, 10); readLeftAdapter.setCigarString(adapter.length() + "S10M"); readLeftAdapter.setProperPairFlag(true); readLeftAdapter.setFirstOfPairFlag(true); readLeftAdapter.setReadNegativeStrandFlag(true); readLeftAdapter.setMateAlignmentStart(10); readRightAdapter.setCigarString(minReadSize + "M4S"); readRightAdapter.setProperPairFlag(true); readRightAdapter.setFirstOfPairFlag(false); readRightAdapter.setReadNegativeStrandFlag(false); final int insertSize = minReadSize; readLeftAdapter.setInferredInsertSize(insertSize); readRightAdapter.setInferredInsertSize(-insertSize); final GATKSAMRecord actual = FragmentUtils.mergeOverlappingPairedFragments(readLeftAdapter, readRightAdapter); Assert.assertNull(actual); }
final int readLength = nClips + goodBases; GATKSAMRecord read = ArtificialSAMUtils.createArtificialRead(header, "read1" , 0, start, readLength); read.setProperPairFlag(true); read.setReadPairedFlag(true); read.setReadUnmappedFlag(false);
final GATKSAMRecord expectedMerged = makeOverlappingRead("", 30, common, commonQuals, "", 30, 10); readLeftAdapter.setCigarString(adapter.length() + "S" + common.length() + "M"); readLeftAdapter.setProperPairFlag(true); readLeftAdapter.setReadPairedFlag(true); readLeftAdapter.setFirstOfPairFlag(true); readLeftAdapter.setMateAlignmentStart(readRightAdapter.getAlignmentStart()); readRightAdapter.setCigarString(common.length() + "M4S"); readRightAdapter.setProperPairFlag(true); readRightAdapter.setReadPairedFlag(true); readRightAdapter.setFirstOfPairFlag(false);
final GATKSAMRecord read = ArtificialSAMUtils.createArtificialRead(header, "read1", 0, 10, 10); read.setReadPairedFlag(true); read.setProperPairFlag(true); read.setReadUnmappedFlag(false); read.setMateUnmappedFlag(false); bad.setProperPairFlag(false);
read.setProperPairFlag(false); Assert.assertEquals(get.getAdaptor(read), ReadUtils.CANNOT_COMPUTE_ADAPTOR_BOUNDARY); read.setAlignmentStart(BEFORE); read.setReadPairedFlag(true); read.setProperPairFlag(true); read.setReadNegativeStrandFlag(negFlag); read.setMateNegativeStrandFlag(!negFlag); read.setAlignmentStart(BEFORE); read.setReadPairedFlag(true); read.setProperPairFlag(true); read.setReadNegativeStrandFlag(negFlag); read.setMateNegativeStrandFlag(negFlag);
private GATKSAMRecord createReadOffContig(final SAMFileHeader header, final boolean negStrand, final int pre, final int post) { final int contigLen = header.getSequence(0).getSequenceLength(); final int readLen = pre + contigLen + post; final GATKSAMRecord read = ArtificialSAMUtils.createArtificialRead(header, "read1", 0, 1, readLen); read.setAlignmentStart(1); read.setCigar(TextCigarCodec.decode(pre + "S" + contigLen + "M" + post + "S")); read.setBaseQualities(Utils.dupBytes((byte) 30, readLen)); read.setReadBases(Utils.dupBytes((byte)'A', readLen)); read.setMappingQuality(60); read.setMateAlignmentStart(1); read.setProperPairFlag(true); read.setReadPairedFlag(true); read.setInferredInsertSize(30); read.setReadNegativeStrandFlag(negStrand); read.setMateNegativeStrandFlag(! negStrand); read.setReadGroup(new GATKSAMReadGroupRecord("foo")); return read; }