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


Java SamFileHeaderMerger类代码示例

本文整理汇总了Java中htsjdk.samtools.SamFileHeaderMerger的典型用法代码示例。如果您正苦于以下问题:Java SamFileHeaderMerger类的具体用法?Java SamFileHeaderMerger怎么用?Java SamFileHeaderMerger使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: loadHeaders

import htsjdk.samtools.SamFileHeaderMerger; //导入依赖的package包/类
private SAMFileHeader loadHeaders(){
    List<SAMFileHeader> headersList = new ArrayList<SAMFileHeader>();
    SAMFileHeader.SortOrder sortOrder = null;
    for(AlignmentReader reader: readers){
        SAMFileHeader curHeader = reader.getFileHeader();
        if(curHeader != null) {
            headersList.add(curHeader);
            sortOrder = curHeader.getSortOrder();
        }
    }
    if(sortOrder != null){
        SamFileHeaderMerger headerMerger = new SamFileHeaderMerger(sortOrder, headersList, true);
        return headerMerger.getMergedHeader();
    }

    return null;
}
 
开发者ID:hyounesy,项目名称:ALEA,代码行数:18,代码来源:MergedAlignmentReader.java

示例2: getHeader

import htsjdk.samtools.SamFileHeaderMerger; //导入依赖的package包/类
/**
 * Gets the consensus SAM header for the data.
 *
 * <p>Note: the returned header is cached, so any modification will be reflected in successive
 * calls.
 */
public SAMFileHeader getHeader() {
    // if it is no cached
    if (header == null) {
        // check the first header
        final SAMFileHeader firstHeader = getSamFileHeader(readHandler);
        // if it is pair-end
        if (secondHandler != null) {
            // assuming always unsorted for pair-end data
            header = new SamFileHeaderMerger(SAMFileHeader.SortOrder.unsorted,
                    Arrays.asList(firstHeader, getSamFileHeader(secondHandler)), true)
                    .getMergedHeader();
            // removes group order included by the merger
            logger.warn("Assuming '{}' group order for pair-end data in two different files ({} and {})",
                    SAMFileHeader.GroupOrder.query, readHandler.getHandledSource(), secondHandler.getHandledSource());
            // remove and set again the group order
            // this should be done to have always SortOrder before GroupOrder
            header.setAttribute(SAMFileHeader.GROUP_ORDER_TAG, null);
            header.setGroupOrder(SAMFileHeader.GroupOrder.query);
        } else {
            header = firstHeader;
        }
    }
    return header;
}
 
开发者ID:magicDGS,项目名称:ReadTools,代码行数:31,代码来源:RTDataSource.java

示例3: getSAMHeaderMerger

import htsjdk.samtools.SamFileHeaderMerger; //导入依赖的package包/类
/**
 * Computes the merger of the SAM headers in the files listed in
 * HEADERMERGER_INPUTS_PROPERTY. The sort order of the result is set according
 * to the last call to setHeaderMergerSortOrder, or otherwise to "unsorted".
 * The result is cached locally to prevent it from being recomputed too often.
 */
public static SamFileHeaderMerger getSAMHeaderMerger(Configuration conf)
    throws IOException {
  // TODO: it would be preferable to cache this beforehand instead of
  // having every task read the header block of every input file. But that
  // would be trickier, given that SamFileHeaderMerger isn't trivially
  // serializable.

  final List<SAMFileHeader> headers = new ArrayList<>();

  for (final String in : conf
      .getStrings(Utils.HEADERMERGER_INPUTS_PROPERTY)) {
    final Path p = new Path(in);

    final SamReader r = SamReaderFactory.makeDefault()
        .open(SamInputResource.of(p.getFileSystem(conf).open(p)));
    headers.add(r.getFileHeader());
    r.close();
  }

  final String orderStr = conf.get(HEADERMERGER_SORTORDER_PROP);
  final SAMFileHeader.SortOrder order = orderStr == null
      ? SAMFileHeader.SortOrder.unsorted
      : SAMFileHeader.SortOrder.valueOf(orderStr);

  return new SamFileHeaderMerger(order, headers, true);
}
 
开发者ID:GenomicParisCentre,项目名称:eoulsan,代码行数:33,代码来源:HadoopBamUtils.java


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