org.broadinstitute.gatk.utils.sam.GATKSAMRecord.clone()方法的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(6.1k)|赞(0)|评价(0)|浏览(68)

本文整理了Java中org.broadinstitute.gatk.utils.sam.GATKSAMRecord.clone()方法的一些代码示例,展示了GATKSAMRecord.clone()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。GATKSAMRecord.clone()方法的具体详情如下:
包路径:org.broadinstitute.gatk.utils.sam.GATKSAMRecord
类名称:GATKSAMRecord
方法名:clone

GATKSAMRecord.clone介绍

[英]Shallow copy of everything, except for the attribute list and the temporary attributes. A new list of the attributes is created for both, but the attributes themselves are copied by reference. This should be safe because callers should never modify a mutable value returned by any of the get() methods anyway.
[中]除属性列表和临时属性之外的所有内容的浅拷贝。将为这两个属性创建一个新的属性列表,但通过引用复制属性本身。这应该是安全的,因为调用方无论如何都不应该修改任何get()方法返回的可变值。

代码示例

代码示例来源:origin: broadgsa/gatk

private static GATKSAMRecord tmpCopyRead(GATKSAMRecord read) {
  return (GATKSAMRecord)read.clone();
}

代码示例来源:origin: broadgsa/gatk-protected

/**
 * Emit the accumulated dropped reads and reset/clear the cache.
 *
 * @param readDestination destination to receive the reads
 */
public void writeDroppedReads(final ReadDestination readDestination) {
  for (final DroppedReadsTracker.Reason reason : droppedReads.keySet()) {
    final Set<GATKSAMRecord> droppedRecords = droppedReads.get(reason);
    for (final GATKSAMRecord originalRec : droppedRecords) {
      // We want to set the vendor quality check flag on the read emitted to
      // the bamout, so clone the read before update it so we don't affect
      // subsequent filtering/trimming, etc. in the event the original read
      // gets processed again
      final GATKSAMRecord clonedRec = (GATKSAMRecord)originalRec.clone();
      clonedRec.setReadFailsVendorQualityCheckFlag(true);
      readDestination.add(clonedRec);
    }
  }
  // clear and reset the cache
  droppedReads.clear();
}

代码示例来源:origin: broadgsa/gatk

private GATKSAMRecord modifyBaseQualities(final GATKSAMRecord read, final int startOffset, final int length) throws Exception {
  final GATKSAMRecord readWithLowQuals = (GATKSAMRecord)read.clone();
  final byte[] withLowQuals = Arrays.copyOf(read.getBaseQualities(), read.getBaseQualities().length);
  for ( int i = startOffset; i < startOffset + length; i++ )
    withLowQuals[i] = (byte)(read.getBaseQualities()[i] + (i % 2 == 0 ? -1 : 0));
  readWithLowQuals.setBaseQualities(withLowQuals);
  return readWithLowQuals;
}

代码示例来源:origin: broadgsa/gatk

tests.add( new Object[]{ "basic case", read.clone(), true });
  final GATKSAMRecord bad1 = (GATKSAMRecord)read.clone();
  bad1.setReadPairedFlag(false);
  tests.add( new Object[]{ "not paired", bad1, false });
  final GATKSAMRecord bad = (GATKSAMRecord)read.clone();
  bad.setProperPairFlag(false);
  final GATKSAMRecord bad = (GATKSAMRecord)read.clone();
  bad.setReadUnmappedFlag(true);
  tests.add( new Object[]{ "read is unmapped", bad, false });
  final GATKSAMRecord bad = (GATKSAMRecord)read.clone();
  bad.setMateUnmappedFlag(true);
  tests.add( new Object[]{ "mate is unmapped", bad, false });
  final GATKSAMRecord bad = (GATKSAMRecord)read.clone();
  bad.setMateNegativeStrandFlag(false);
  tests.add( new Object[]{ "read and mate both on positive strand", bad, false });
  final GATKSAMRecord bad = (GATKSAMRecord)read.clone();
  bad.setReadNegativeStrandFlag(true);
  tests.add( new Object[]{ "read and mate both on negative strand", bad, false });
  final GATKSAMRecord bad = (GATKSAMRecord)read.clone();
  bad.setInferredInsertSize(0);
  tests.add( new Object[]{ "insert size is 0", bad, false });

代码示例来源:origin: broadgsa/gatk-protected

@Test(dataProvider = "ReadAlignedToRefData", enabled = true)
public void testReadAlignedToRef(final GATKSAMRecord read, final Haplotype haplotype, final int refStart, final int expectedReadStart, final String expectedReadCigar) throws Exception {
  final HaplotypeBAMWriter writer = new CalledHaplotypeBAMWriter(new MockDestination());
  final GATKSAMRecord originalReadCopy = (GATKSAMRecord)read.clone();
  if ( expectedReadCigar == null ) {
    Assert.assertNull(AlignmentUtils.createReadAlignedToRef(read, haplotype, haplotype, refStart, true));
  } else {
    final Cigar expectedCigar = TextCigarCodec.decode(expectedReadCigar);
    final GATKSAMRecord alignedRead = AlignmentUtils.createReadAlignedToRef(read, haplotype, haplotype, refStart, true);
    Assert.assertEquals(alignedRead.getReadName(), originalReadCopy.getReadName());
    Assert.assertEquals(alignedRead.getAlignmentStart(), expectedReadStart);
    Assert.assertEquals(alignedRead.getReadBases(), originalReadCopy.getReadBases());
    Assert.assertEquals(alignedRead.getBaseQualities(), originalReadCopy.getBaseQualities());
    Assert.assertEquals(alignedRead.getAlignmentStart(), expectedReadStart);
    Assert.assertEquals(alignedRead.getCigar(), expectedCigar);
    Assert.assertNotNull(alignedRead.getAttribute("HC"));
  }
  Assert.assertEquals(read, originalReadCopy, "createReadAlignedToRef seems be modifying the original read!");
}

代码示例来源:origin: broadgsa/gatk

Assert.assertTrue(region.equalExceptReads(region2));
final GATKSAMRecord read2 = (GATKSAMRecord)read.clone();
read2.setReadName(read.getReadName() + ".clone");

代码示例来源:origin: broadgsa/gatk

System.arraycopy(read.getBaseQualities(), copyStart, newQuals, 0, newLength);
final GATKSAMRecord hardClippedRead = (GATKSAMRecord) read.clone();

代码示例来源:origin: broadgsa/gatk

GATKSAMRecord read = (GATKSAMRecord) originalRead.clone();
byte[] quals = read.getBaseQualities();
byte[] bases = read.getReadBases();

代码示例来源:origin: broadgsa/gatk

final GATKSAMRecord read = (GATKSAMRecord)originalRead.clone();

代码示例来源:origin: broadgsa/gatk

private GATKSAMRecord revertSoftClippedBases(GATKSAMRecord read) {
  GATKSAMRecord unclipped = (GATKSAMRecord) read.clone();
  Cigar unclippedCigar = new Cigar();
  int matchesCount = 0;
  for (CigarElement element : read.getCigar().getCigarElements()) {
    if (element.getOperator() == CigarOperator.SOFT_CLIP || element.getOperator() == CigarOperator.MATCH_OR_MISMATCH)
      matchesCount += element.getLength();
    else if (matchesCount > 0) {
      unclippedCigar.add(new CigarElement(matchesCount, CigarOperator.MATCH_OR_MISMATCH));
      matchesCount = 0;
      unclippedCigar.add(element);
    } else
      unclippedCigar.add(element);
  }
  if (matchesCount > 0)
    unclippedCigar.add(new CigarElement(matchesCount, CigarOperator.MATCH_OR_MISMATCH));
  unclipped.setCigar(unclippedCigar);
  final int newStart = read.getAlignmentStart() + calculateAlignmentStartShift(read.getCigar(), unclippedCigar);
  unclipped.setAlignmentStart(newStart);
  if ( newStart <= 0 ) {
    // if the start of the unclipped read occurs before the contig,
    // we must hard clip away the bases since we cannot represent reads with
    // negative or 0 alignment start values in the SAMRecord (e.g., 0 means unaligned)
    return hardClip(unclipped, 0, - newStart);
  } else {
    return unclipped;
  }
}

相关文章

微信公众号

最新文章

更多

GATKSAMRecord类方法