当前位置: 首页>>代码示例>>Java>>正文


Java SAMRecord.setReadBases方法代码示例

本文整理汇总了Java中htsjdk.samtools.SAMRecord.setReadBases方法的典型用法代码示例。如果您正苦于以下问题:Java SAMRecord.setReadBases方法的具体用法?Java SAMRecord.setReadBases怎么用?Java SAMRecord.setReadBases使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在htsjdk.samtools.SAMRecord的用法示例。


在下文中一共展示了SAMRecord.setReadBases方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: transfer

import htsjdk.samtools.SAMRecord; //导入方法依赖的package包/类
public SAMRecord transfer(final BasicSamRecord basicSamRecord) {
    final SAMRecord samRecord =
            samRecordFactory.createSAMRecord(this.mFileHeader);
    samRecord.setValidationStringency(this.validationStringency);
    samRecord.setHeader(this.mFileHeader);
    samRecord.setReadName(basicSamRecord.readName());
    samRecord.setFlags(basicSamRecord.flag());
    if (!basicSamRecord.contigName().equals("*")) {
        samRecord.setReferenceName(basicSamRecord.contigName());
    }
    samRecord.setAlignmentStart(basicSamRecord.position());
    samRecord.setMappingQuality(basicSamRecord.mapQ());

    samRecord.setCigarString(basicSamRecord.cigar());
    if (basicSamRecord.contigId() != FAKE_CONTIG_ID) {
        samRecord.setMateReferenceName(basicSamRecord.mateContigName());
        samRecord.setMateAlignmentStart(basicSamRecord.matePosition());
        samRecord.setInferredInsertSize(basicSamRecord.infferdSize());
    }

    byte[] quality = null;
    if (basicSamRecord.quality().length == 1 && basicSamRecord.quality()[0] == '*') {
        samRecord.setBaseQualities(SAMRecord.NULL_QUALS);
    } else {
        quality = basicSamRecord.quality();
        if (basicSamRecord.compressFlag()) {
            quality = QualityCompressTools.deCompressQual(quality);
        }
    }

    byte[] sequence = null;
    if (basicSamRecord.sequence().length == 1 && basicSamRecord.sequence()[0] == '*') {
        samRecord.setReadBases(SAMRecord.NULL_SEQUENCE);
    } else {
        sequence = basicSamRecord.sequence();
        if (basicSamRecord.compressFlag()) {
            sequence = BaseCompressTools.decompressBase(sequence, quality);
        }
        // 必须在执行之后解压之后再赋值,因为解压可能会导致quality变化。
        samRecord.setBaseQualityString(new String(quality));
        samRecord.setReadString(new String(sequence));
    }

    List<String> tmp = CollectionConverter.asJavaList(basicSamRecord.attributeList());
    for (String attribute : tmp) {
        parseTag(samRecord, attribute);
    }

    return samRecord;
}
 
开发者ID:PAA-NCIC,项目名称:SparkSeq,代码行数:51,代码来源:Basic2SAMRecordTransfer.java


注:本文中的htsjdk.samtools.SAMRecord.setReadBases方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。