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


Java VCFContigHeaderLine类代码示例

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


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

示例1: setup

import htsjdk.variant.vcf.VCFContigHeaderLine; //导入依赖的package包/类
@Override
protected void setup(Context context) throws IOException, InterruptedException {
	Configuration conf = context.getConfiguration();
	
	Path path = new Path(conf.get(GaeaVCFOutputFormat.OUT_PATH_PROP));
	SeekableStream in = WrapSeekable.openPath(path.getFileSystem(conf), path);
	header = VCFHeaderReader.readHeaderFrom(in);
	in.close();
	
	chrIndexs = new HashMap<String,Integer>();
	List<VCFContigHeaderLine> lines = header.getContigLines();
	for(int i = 0 ; i < lines.size() ; i++){
		VCFContigHeaderLine line = lines.get(i);
		chrIndexs.put(line.getID(), line.getContigIndex());
	}
}
 
开发者ID:BGI-flexlab,项目名称:SOAPgaea,代码行数:17,代码来源:JointCallingMapper.java

示例2: samSequenceDictToVCFContigHeaderLine

import htsjdk.variant.vcf.VCFContigHeaderLine; //导入依赖的package包/类
public static SortedSet<VCFContigHeaderLine>
samSequenceDictToVCFContigHeaderLine(SAMSequenceDictionary dict)
{
SortedSet<VCFContigHeaderLine> meta2=new TreeSet<VCFContigHeaderLine>();
for(SAMSequenceRecord ssr: dict.getSequences())
	{
	Map<String,String> mapping=new HashMap<String,String>();
	mapping.put("ID", ssr.getSequenceName());
	mapping.put("length",String.valueOf(ssr.getSequenceLength()));
	String as=ssr.getAssembly();
	if(as!=null && !as.trim().isEmpty()) mapping.put("assembly",as);
	VCFContigHeaderLine h=new VCFContigHeaderLine(mapping,ssr.getSequenceIndex());
	meta2.add(h);
	}
return meta2;
}
 
开发者ID:lindenb,项目名称:jvarkit,代码行数:17,代码来源:VCFUtils.java

示例3: updateHeaderContigLines

import htsjdk.variant.vcf.VCFContigHeaderLine; //导入依赖的package包/类
/**
 * Given a set of VCF header lines, update the set with contig
 * lines from the provided reference dictionary.
 * @param oldLines
 * @param referenceFile
 * @param refDict
 * @param referenceNameOnly
 * @return Updated list of VCF header lines.
 */
public static Set<VCFHeaderLine> updateHeaderContigLines(
        final Set<VCFHeaderLine> oldLines,
        final File referenceFile,
        final SAMSequenceDictionary refDict,
        final boolean referenceNameOnly) {
    final Set<VCFHeaderLine> lines = new LinkedHashSet<>(oldLines.size());

    for (final VCFHeaderLine line : oldLines) {
        if (line instanceof VCFContigHeaderLine) {
            continue; // skip old contig lines
        }
        if (line.getKey().equals(VCFHeader.REFERENCE_KEY)) {
            continue; // skip the old reference key
        }
        lines.add(line);
    }

    lines.addAll(makeContigHeaderLines(refDict, referenceFile).stream().collect(Collectors.toList()));

    if (referenceFile != null) {
        final String referenceValue;
        if (referenceNameOnly) {
            final int extensionStart = referenceFile.getName().lastIndexOf(".");
            referenceValue = extensionStart == -1 ? referenceFile.getName() : referenceFile.getName().substring(0, extensionStart);
        }
        else {
            referenceValue = "file://" + referenceFile.getAbsolutePath();
        }
        lines.add(new VCFHeaderLine(VCFHeader.REFERENCE_KEY, referenceValue));
    }
    return lines;
}
 
开发者ID:BGI-flexlab,项目名称:SOAPgaea,代码行数:42,代码来源:VCFUtils.java

示例4: makeContigHeaderLines

import htsjdk.variant.vcf.VCFContigHeaderLine; //导入依赖的package包/类
private static List<VCFContigHeaderLine> makeContigHeaderLines(final SAMSequenceDictionary refDict,
                                                               final File referenceFile) {
    final List<VCFContigHeaderLine> lines = new ArrayList<>();
    final String assembly = referenceFile != null ? referenceFile.getName() : null;
    lines.addAll(refDict.getSequences().stream().map(contig -> makeContigHeaderLine(contig, assembly)).collect(Collectors.toList()));
    return lines;
}
 
开发者ID:BGI-flexlab,项目名称:SOAPgaea,代码行数:8,代码来源:VCFUtils.java

示例5: makeContigHeaderLine

import htsjdk.variant.vcf.VCFContigHeaderLine; //导入依赖的package包/类
private static VCFContigHeaderLine makeContigHeaderLine(final SAMSequenceRecord contig, final String assembly) {
    final Map<String, String> map = new LinkedHashMap<>(3);
    map.put(GaeaVCFConstants.CONTIG_ID_KEY, contig.getSequenceName());
    map.put(GaeaVCFConstants.CONTIG_LENGTH_KEY, String.valueOf(contig.getSequenceLength()));
    if (assembly != null) {
        map.put(GaeaVCFConstants.ASSEMBLY_NAME_KEY, assembly);
    }
    return new VCFContigHeaderLine(map, contig.getSequenceIndex());
}
 
开发者ID:BGI-flexlab,项目名称:SOAPgaea,代码行数:10,代码来源:VCFUtils.java

示例6: getQueryIntervalsMap

import htsjdk.variant.vcf.VCFContigHeaderLine; //导入依赖的package包/类
private SortedMap<QueryInterval, List<Allele>> getQueryIntervalsMap(final File vcf) {

        final Map<String, Integer> contigIndexMap = new HashMap<>();
        final VCFFileReader vcfReader = new VCFFileReader(vcf, false);

        // We want to look at unfiltered SNP sites for which the sample is genotyped as a het
        // with high quality.
        final CompoundFilter compoundFilter = new CompoundFilter(true);
        compoundFilter.add(new SnpFilter());
        compoundFilter.add(new PassingVariantFilter());
        compoundFilter.add(new GenotypeQualityFilter(MINIMUM_GQ, SAMPLE));
        compoundFilter.add(new HeterozygosityFilter(true, SAMPLE));

        final Iterator<VariantContext> hetIterator = new FilteringVariantContextIterator(vcfReader.iterator(), compoundFilter);

        for (final VCFContigHeaderLine vcfContig : vcfReader.getFileHeader().getContigLines()) {
            contigIndexMap.put(vcfContig.getID(), vcfContig.getContigIndex());
        }

        // return a TreeMap since the keys are comparable, and this will use their order in the iteration
        final SortedMap<QueryInterval, List<Allele>> map = new TreeMap<>();

        while (hetIterator.hasNext()) {
            final VariantContext vc = hetIterator.next();
            map.put(new QueryInterval(contigIndexMap.get(vc.getContig()), vc.getStart(), vc.getEnd()), vc.getGenotype(SAMPLE).getAlleles());
        }

        vcfReader.close();

        return map;
    }
 
开发者ID:broadinstitute,项目名称:picard,代码行数:32,代码来源:CollectIndependentReplicateMetrics.java

示例7: initContigDict

import htsjdk.variant.vcf.VCFContigHeaderLine; //导入依赖的package包/类
private void initContigDict() {
	final VCFHeader header =
		(VCFHeader)codec.readHeader(in).getHeaderValue();

	contigDict.clear();
	int i = 0;
	for (final VCFContigHeaderLine contig : header.getContigLines())
		contigDict.put(contig.getID(), i++);
}
 
开发者ID:HadoopGenomics,项目名称:Hadoop-BAM,代码行数:10,代码来源:BCFRecordReader.java

示例8: updateHeaderContigLines

import htsjdk.variant.vcf.VCFContigHeaderLine; //导入依赖的package包/类
/**
 * Given a set of VCF header lines, update the set with contig
 * lines from the provided reference dictionary.
 * @param oldLines
 * @param referencePath
 * @param refDict
 * @param referenceNameOnly
 * @return Updated list of VCF header lines.
 */
public static Set<VCFHeaderLine> updateHeaderContigLines(
        final Set<VCFHeaderLine> oldLines,
        final Path referencePath,
        final SAMSequenceDictionary refDict,
        final boolean referenceNameOnly) {
    final Set<VCFHeaderLine> lines = new LinkedHashSet<>(oldLines.size());

    for (final VCFHeaderLine line : oldLines) {
        if (line instanceof VCFContigHeaderLine) {
            continue; // skip old contig lines
        }
        if (line.getKey().equals(VCFHeader.REFERENCE_KEY)) {
            continue; // skip the old reference key
        }
        lines.add(line);
    }

    lines.addAll(makeContigHeaderLines(refDict, referencePath).stream().collect(Collectors.toList()));

    if (referencePath != null) {
        final String referenceValue;
        if (referenceNameOnly) {
            final int extensionStart = referencePath.getFileName().toString().lastIndexOf(".");
            referenceValue = extensionStart == -1 ? referencePath.getFileName().toString() : referencePath.getFileName().toString().substring(0, extensionStart);
        }
        else {
            referenceValue = referencePath.toUri().toString();
        }
        lines.add(new VCFHeaderLine(VCFHeader.REFERENCE_KEY, referenceValue));
    }
    return lines;
}
 
开发者ID:broadinstitute,项目名称:gatk,代码行数:42,代码来源:VcfUtils.java

示例9: makeContigHeaderLines

import htsjdk.variant.vcf.VCFContigHeaderLine; //导入依赖的package包/类
private static List<VCFContigHeaderLine> makeContigHeaderLines(final SAMSequenceDictionary refDict,
                                                               final Path referencePath) {
    final List<VCFContigHeaderLine> lines = new ArrayList<>();
    final String assembly = referencePath != null ? referencePath.getFileName().toString() : null;
    lines.addAll(refDict.getSequences().stream().map(contig -> makeContigHeaderLine(contig, assembly)).collect(Collectors.toList()));
    return lines;
}
 
开发者ID:broadinstitute,项目名称:gatk,代码行数:8,代码来源:VcfUtils.java

示例10: makeContigHeaderLine

import htsjdk.variant.vcf.VCFContigHeaderLine; //导入依赖的package包/类
private static VCFContigHeaderLine makeContigHeaderLine(final SAMSequenceRecord contig, final String assembly) {
    final Map<String, String> map = new LinkedHashMap<>(3);
    map.put(GATKVCFConstants.CONTIG_ID_KEY, contig.getSequenceName());
    map.put(GATKVCFConstants.CONTIG_LENGTH_KEY, String.valueOf(contig.getSequenceLength()));
    if (assembly != null) {
        map.put(GATKVCFConstants.ASSEMBLY_NAME_KEY, assembly);
    }
    return new VCFContigHeaderLine(map, contig.getSequenceIndex());
}
 
开发者ID:broadinstitute,项目名称:gatk,代码行数:10,代码来源:VcfUtils.java

示例11: testUpdateContigsReferenceNameOnly

import htsjdk.variant.vcf.VCFContigHeaderLine; //导入依赖的package包/类
@Test(dataProvider = "testData")
public void testUpdateContigsReferenceNameOnly(
        final Set<VCFHeaderLine> inHeaderLines,
        final SAMSequenceDictionary seqDict,
        final Path referencePath,
        final boolean refNameOnly,
        final String expectedRefName) {

    Set<VCFHeaderLine> resultLines = VcfUtils.updateHeaderContigLines(
            inHeaderLines, referencePath, seqDict, refNameOnly
    );

    Assert.assertEquals(resultLines.size(), referencePath == null ? 2 : 3);
    for (VCFHeaderLine resultLine : resultLines) {
        if (resultLine instanceof VCFContigHeaderLine) {
            VCFContigHeaderLine headerLine = (VCFContigHeaderLine) resultLine;
            SAMSequenceRecord samSeqRec = headerLine.getSAMSequenceRecord();
            if (samSeqRec.getSequenceName().equals("contig1")) {
                Assert.assertEquals(samSeqRec.getSequenceLength(), 100);
            } else if (samSeqRec.getSequenceName().equals("contig2")) {
                Assert.assertEquals(samSeqRec.getSequenceLength(), 200);
            } else {
                Assert.fail("Bad sequence name in header lines");
            }
        } else {
            if (referencePath != null) {
                Assert.assertEquals(resultLine.getValue(), expectedRefName);
            }
            else {
                Assert.fail("Unexpected reference name in header lines");
            }
        }
    }
}
 
开发者ID:broadinstitute,项目名称:gatk,代码行数:35,代码来源:VcfUtilsUnitTest.java

示例12: createHeaderLines

import htsjdk.variant.vcf.VCFContigHeaderLine; //导入依赖的package包/类
private Set<VCFHeaderLine> createHeaderLines() {
    Set<VCFHeaderLine> headerLines = new HashSet<>(2);
    headerLines.add(new VCFContigHeaderLine(
            "##contig=<ID=1,length=249250621,assembly=b37>",
            vcfHeaderVersion,
            "",
            0));
    headerLines.add(new VCFContigHeaderLine(
            "##contig=<ID=2,length=249250622,assembly=b37>",
            vcfHeaderVersion,
            "",
            0));
    return headerLines;
}
 
开发者ID:broadinstitute,项目名称:gatk,代码行数:15,代码来源:VcfUtilsUnitTest.java

示例13: testSetHeader

import htsjdk.variant.vcf.VCFContigHeaderLine; //导入依赖的package包/类
@Test(groups = "sv")
public void testSetHeader() {
    SAMSequenceDictionary referenceSequenceDictionary = new ReferenceMultiSource(
            b37_2bit_reference_20_21 , ReferenceWindowFunctions.IDENTITY_FUNCTION).getReferenceSequenceDictionary(null);
    final VCFHeader vcfHeader = SVVCFWriter.getVcfHeader(referenceSequenceDictionary);
    Assert.assertNotNull(vcfHeader.getSequenceDictionary());
    Assert.assertTrue(vcfHeader.getFilterLines().isEmpty());
    final List<String> refContigs = vcfHeader.getContigLines().stream().map(VCFContigHeaderLine::getID).collect(Collectors.toList());
    Assert.assertTrue(refContigs.size()==2);
    Assert.assertTrue(vcfHeader.getFormatHeaderLines().isEmpty());
    final List<String> headerKeys = vcfHeader.getIDHeaderLines().stream().map(VCFIDHeaderLine::getID).sorted().collect(Collectors.toList());
    Assert.assertTrue(headerKeys.remove(VCFConstants.END_KEY));
    Assert.assertTrue(headerKeys.removeAll(refContigs));
    Assert.assertEquals(headerKeys, GATKSVVCFConstants.expectedHeaderLinesInVCF);
}
 
开发者ID:broadinstitute,项目名称:gatk,代码行数:16,代码来源:SVVCFWriterUnitTest.java

示例14: openOutputFile

import htsjdk.variant.vcf.VCFContigHeaderLine; //导入依赖的package包/类
private VariantContextWriter openOutputFile() {
	VariantContextWriterBuilder builder = new VariantContextWriterBuilder()
			.setReferenceDictionary(fasta.getSequenceDictionary()).setOutputFile(options.getPathOutputVCF());
	if (options.getPathOutputVCF().endsWith(".gz") || options.getPathOutputVCF().endsWith(".bcf"))
		builder.setOption(Options.INDEX_ON_THE_FLY);
	else
		builder.unsetOption(Options.INDEX_ON_THE_FLY);
	VariantContextWriter writer = builder.build();

	VCFHeader header = new VCFHeader();
	int i = 0;
	for (SAMSequenceRecord record : fasta.getSequenceDictionary().getSequences()) {
		Map<String, String> mapping = new TreeMap<String, String>();
		mapping.put("ID", record.getSequenceName());
		mapping.put("length", Integer.toString(record.getSequenceLength()));
		header.addMetaDataLine(new VCFContigHeaderLine(mapping, i++));
	}

	header.addMetaDataLine(new VCFSimpleHeaderLine("ALT", "ERROR", "Error in conversion"));
	header.addMetaDataLine(new VCFFilterHeaderLine("PARSE_ERROR",
			"Problem in parsing original HGVS variant string, written out as variant at 1:g.1N>N"));
	header.addMetaDataLine(new VCFInfoHeaderLine("ERROR_MESSAGE", 1, VCFHeaderLineType.String, "Error message"));
	header.addMetaDataLine(new VCFInfoHeaderLine("ORIG_VAR", 1, VCFHeaderLineType.String,
			"Original HGVS variant string from input file to hgvs-to-vcf"));

	writer.writeHeader(header);

	return writer;
}
 
开发者ID:charite,项目名称:jannovar,代码行数:30,代码来源:ProjectTranscriptToChromosome.java

示例15: setup

import htsjdk.variant.vcf.VCFContigHeaderLine; //导入依赖的package包/类
@Override
protected void setup(Context context) throws IOException {
	Configuration conf = context.getConfiguration();
	contigs = new HashMap<Integer, String>();
	
	Path path = new Path(conf.get(GaeaVCFOutputFormat.OUT_PATH_PROP));
	SeekableStream in = WrapSeekable.openPath(path.getFileSystem(conf), path);
	header = VCFHeaderReader.readHeaderFrom(in);
	in.close();
	
	if(header == null)
		throw new RuntimeException("header is null !!!");
	
	List<VCFContigHeaderLine> lines = header.getContigLines();

	for (int i = 0; i < lines.size(); i++) {
		VCFContigHeaderLine line = lines.get(i);
		contigs.put(line.getContigIndex(), line.getID());
	}

	options = new JointCallingOptions();
	options.getOptionsFromHadoopConf(conf);
	
	windowSize = options.getWindowsSize();
	parser = new GenomeLocationParser(header.getSequenceDictionary());
	headers.readHeaders(conf);
	
	String sampleStr = conf.get(JointCalling.INPUT_ORDER,null);
	if(sampleStr != null)
		engine = new JointCallingEngine(options, parser,header,headers,sampleStr.split(","));
	else
		engine = new JointCallingEngine(options, parser,header,headers,null);
	genomeShare = new ReferenceShare();
	genomeShare.loadChromosomeList(options.getReference());
	dbsnpShare = new DbsnpShare(options.getDBSnp(), options.getReference());
	dbsnpShare.loadChromosomeList(options.getDBSnp() + VcfIndex.INDEX_SUFFIX);
	loader = new VCFLocalLoader(options.getDBSnp());
	filter = new VariantRegionFilter();
	header = engine.getVCFHeader();
	
	if(header == null)
		throw new RuntimeException("header is null!!!");
}
 
开发者ID:BGI-flexlab,项目名称:SOAPgaea,代码行数:44,代码来源:JointCallingReducer.java


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