本文整理汇总了Java中htsjdk.samtools.util.IntervalList.add方法的典型用法代码示例。如果您正苦于以下问题:Java IntervalList.add方法的具体用法?Java IntervalList.add怎么用?Java IntervalList.add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类htsjdk.samtools.util.IntervalList
的用法示例。
在下文中一共展示了IntervalList.add方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: inputGetTumorHetPulldown
import htsjdk.samtools.util.IntervalList; //导入方法依赖的package包/类
@DataProvider(name = "inputGetTumorHetPulldown")
public Object[][] inputGetTumorHetPulldown() {
final Pulldown tumorHetPulldown = new Pulldown(normalHeader);
tumorHetPulldown.add(new AllelicCount(new SimpleInterval("1", 11522, 11522), 7, 4));
tumorHetPulldown.add(new AllelicCount(new SimpleInterval("1", 12098, 12098), 8, 6));
tumorHetPulldown.add(new AllelicCount(new SimpleInterval("1", 14630, 14630), 9, 8));
tumorHetPulldown.add(new AllelicCount(new SimpleInterval("2", 14689, 14689), 6, 9));
tumorHetPulldown.add(new AllelicCount(new SimpleInterval("2", 14982, 14982), 6, 5));
final IntervalList normalHetIntervals = new IntervalList(tumorHeader);
normalHetIntervals.add(new Interval("1", 11522, 11522));
normalHetIntervals.add(new Interval("1", 12098, 12098));
normalHetIntervals.add(new Interval("1", 14630, 14630));
normalHetIntervals.add(new Interval("2", 14689, 14689));
normalHetIntervals.add(new Interval("2", 14982, 14982));
return new Object[][]{
{normalHetIntervals, tumorHetPulldown}
};
}
示例2: calculateStatistics
import htsjdk.samtools.util.IntervalList; //导入方法依赖的package包/类
/** Calculates a few statistics about the bait design that can then be output. */
void calculateStatistics(final IntervalList targets, final IntervalList baits) {
this.TARGET_TERRITORY = (int) targets.getUniqueBaseCount();
this.TARGET_COUNT = targets.size();
this.BAIT_TERRITORY = (int) baits.getUniqueBaseCount();
this.BAIT_COUNT = baits.size();
this.DESIGN_EFFICIENCY = this.TARGET_TERRITORY / (double) this.BAIT_TERRITORY;
// Figure out the intersection between all targets and all baits
final IntervalList tmp = new IntervalList(targets.getHeader());
final OverlapDetector<Interval> detector = new OverlapDetector<Interval>(0, 0);
detector.addAll(baits.getIntervals(), baits.getIntervals());
for (final Interval target : targets) {
final Collection<Interval> overlaps = detector.getOverlaps(target);
if (overlaps.isEmpty()) {
this.ZERO_BAIT_TARGETS++;
} else {
for (final Interval i : overlaps) tmp.add(target.intersect(i));
}
}
tmp.uniqued();
this.BAIT_TARGET_TERRITORY_INTERSECTION = (int) tmp.getBaseCount();
}
示例3: scatterFixedIntervals
import htsjdk.samtools.util.IntervalList; //导入方法依赖的package包/类
/**
* Splits an interval list into multiple files.
* @param fileHeader The sam file header.
* @param splits Pre-divided genome locs returned by splitFixedIntervals.
* @param scatterParts The output interval lists to write to.
*/
public static void scatterFixedIntervals(final SAMFileHeader fileHeader, final List<List<GenomeLoc>> splits, final List<File> scatterParts) {
Utils.nonNull(fileHeader, "fileHeader is null");
Utils.nonNull(splits, "splits is null");
Utils.nonNull(scatterParts, "scatterParts is null");
Utils.containsNoNull(splits, "null split loc");
if (splits.size() != scatterParts.size()) {
throw new CommandLineException.BadArgumentValue("splits", String.format("Split points %d does not equal the number of scatter parts %d.", splits.size(), scatterParts.size()));
}
int fileIndex = 0;
int locIndex = 1;
for (final List<GenomeLoc> split : splits) {
final IntervalList intervalList = new IntervalList(fileHeader);
for (final GenomeLoc loc : split) {
intervalList.add(toInterval(loc, locIndex++));
}
intervalList.write(scatterParts.get(fileIndex++));
}
}
示例4: testLoadIntervalsInvalidPicardIntervalHandling
import htsjdk.samtools.util.IntervalList; //导入方法依赖的package包/类
@Test(expectedExceptions=UserException.MalformedFile.class, dataProvider="invalidIntervalTestData")
public void testLoadIntervalsInvalidPicardIntervalHandling(GenomeLocParser genomeLocParser,
String contig, int intervalStart, int intervalEnd ) throws Exception {
SAMFileHeader picardFileHeader = new SAMFileHeader();
picardFileHeader.addSequence(genomeLocParser.getContigInfo("1"));
// Intentionally add an extra contig not in our genomeLocParser's sequence dictionary
// so that we can add intervals to the Picard interval file for contigs not in our dictionary
picardFileHeader.addSequence(new SAMSequenceRecord("2", 100000));
IntervalList picardIntervals = new IntervalList(picardFileHeader);
picardIntervals.add(new Interval(contig, intervalStart, intervalEnd, true, "dummyname"));
File picardIntervalFile = createTempFile("testLoadIntervalsInvalidPicardIntervalHandling", ".intervals");
picardIntervals.write(picardIntervalFile);
List<String> intervalArgs = new ArrayList<>(1);
intervalArgs.add(picardIntervalFile.getAbsolutePath());
// loadIntervals() will validate all intervals against the sequence dictionary in our genomeLocParser,
// and should throw for all intervals in our invalidIntervalTestData set
IntervalUtils.loadIntervals(intervalArgs, IntervalSetRule.UNION, IntervalMergingRule.ALL, 0, genomeLocParser);
}
示例5: testIntervalFileToListNegativeOneLength
import htsjdk.samtools.util.IntervalList; //导入方法依赖的package包/类
@Test(dataProvider="negativeOneLengthIntervalTestData")
public void testIntervalFileToListNegativeOneLength(GenomeLocParser genomeLocParser,
String contig, int intervalStart, int intervalEnd ) throws Exception {
final SAMFileHeader picardFileHeader = new SAMFileHeader();
picardFileHeader.addSequence(genomeLocParser.getContigInfo("1"));
final IntervalList picardIntervals = new IntervalList(picardFileHeader);
// Need one good interval or else a UserException.MalformedFile( is thrown if no intervals
picardIntervals.add(new Interval(contig, 1, 2, true, "dummyname0"));
picardIntervals.add(new Interval(contig, intervalStart, intervalEnd, true, "dummyname1"));
final File picardIntervalFile = createTempFile("testIntervalFileToListNegativeOneLength", ".intervals");
picardIntervals.write(picardIntervalFile);
IntervalUtils.intervalFileToList(genomeLocParser, picardIntervalFile.getAbsolutePath());
}
示例6: testIntervalFileToListInvalidPicardIntervalHandling
import htsjdk.samtools.util.IntervalList; //导入方法依赖的package包/类
@Test(expectedExceptions=UserException.CouldNotReadInputFile.class, dataProvider="invalidIntervalTestData")
public void testIntervalFileToListInvalidPicardIntervalHandling(GenomeLocParser genomeLocParser,
String contig, int intervalStart, int intervalEnd ) throws Exception {
final SAMFileHeader picardFileHeader = new SAMFileHeader();
picardFileHeader.addSequence(genomeLocParser.getContigInfo("1"));
picardFileHeader.addSequence(new SAMSequenceRecord("2", 100000));
final IntervalList picardIntervals = new IntervalList(picardFileHeader);
picardIntervals.add(new Interval(contig, intervalStart, intervalEnd, true, "dummyname"));
final File picardIntervalFile = createTempFile("testIntervalFileToListInvalidPicardIntervalHandling", ".intervals");
picardIntervals.write(picardIntervalFile);
// loadIntervals() will validate all intervals against the sequence dictionary in our genomeLocParser,
// and should throw for all intervals in our invalidIntervalTestData set
IntervalUtils.intervalFileToList(genomeLocParser, picardIntervalFile.getAbsolutePath());
}
示例7: canFilterFromIntFlag
import htsjdk.samtools.util.IntervalList; //导入方法依赖的package包/类
public void canFilterFromIntFlag(){
int f_incl= 131;
int F_excl= 72;
String chrom= "chrY";
int from= 1;
int to= 100;
SamReaderFactory srf=SamReaderFactory.make();
SamReader samReader= srf.open(new File("test_data/mjb050_oxBS.bam"));
SAMFileHeader fh= samReader.getFileHeader();
IntervalList il= new IntervalList(fh);
Interval interval= new Interval(chrom, from, to);
il.add(interval);
List<SamRecordFilter> filters= FlagToFilter.flagToFilterList(f_incl, F_excl);
SamLocusIterator samLocIter= new SamLocusIterator(samReader, il, true);
samLocIter.setSamFilters(filters);
while(samLocIter.hasNext()){
LocusInfo locus= samLocIter.next();
if(locus.getRecordAndPositions().size() > 0){
//System.out.println(locus.getPosition() + " " + locus.getRecordAndPositions().size() + " " +
// locus.getRecordAndPositions().get(0).getRecord().getFlags());
}
}
}
示例8: testIteratorWithIntron
import htsjdk.samtools.util.IntervalList; //导入方法依赖的package包/类
@Test
public void testIteratorWithIntron() {
// See https://github.com/samtools/htsjdk/issues/838
// Prepare a sam header
String sqHeader = "@HD\tSO:coordinate\tVN:1.0\n"
+ "@SQ\tSN:chr1\tAS:HG18\tLN:10000000\n";
// Prepare one read with a 500,000 bases skipped
String cigar= "18M500000N18M";
String s1 = "read1\t0\tchr1\t1\t255\t" + cigar + "\t*\t0\t0\tACCTACGTTCAATATTACAGGCGAACATACTTACTA\t*\n";
// Prepare sam input and samReader
String exampleSam = sqHeader + s1 + s1;
ByteArrayInputStream inputStream = new ByteArrayInputStream(exampleSam.getBytes());
SamReader samReader= SamReaderFactory.makeDefault().open(SamInputResource.of(inputStream));
// A small interval to iterate over:
IntervalList il= new IntervalList(samReader.getFileHeader());
il.add(new Interval("chr1", 1, 100));
SamLocusIterator sli= new SamLocusIterator(samReader, il, true);
// Iterate
long t0= System.currentTimeMillis();
int n= 0;
for (SamLocusIterator.LocusInfo li : sli) {
n++;
}
long t1= System.currentTimeMillis();
System.err.println("Time to iterate " + n + " loci: " + (t1-t0) / 1000.0 + " sec");
sli.close();
}
示例9: inputGetPileupBaseCount
import htsjdk.samtools.util.IntervalList; //导入方法依赖的package包/类
@DataProvider(name = "inputGetPileupBaseCount")
public Object[][] inputGetPileupBaseCount() throws IOException {
try (final SamReader bamReader = SamReaderFactory.makeDefault().open(NORMAL_BAM_FILE)) {
final IntervalList intervals = new IntervalList(bamReader.getFileHeader());
intervals.add(new Interval("1", 100, 100));
intervals.add(new Interval("1", 11000, 11000));
intervals.add(new Interval("1", 14000, 14000));
intervals.add(new Interval("1", 14630, 14630));
final SamLocusIterator locusIterator = new SamLocusIterator(bamReader, intervals);
final Nucleotide.Counter baseCounts1 = makeBaseCounts(0, 0, 0, 0);
final Nucleotide.Counter baseCounts2 = makeBaseCounts(0, 9, 0, 0);
final Nucleotide.Counter baseCounts3 = makeBaseCounts(12, 0, 0, 0);
final Nucleotide.Counter baseCounts4 = makeBaseCounts(0, 0, 8, 9);
if (!locusIterator.hasNext()) {
throw new SAMException("Can't get locus to start iteration. Check that " + NORMAL_BAM_FILE.toString()
+ " contains 1:0-16000.");
}
final SamLocusIterator.LocusInfo locus1 = locusIterator.next();
final SamLocusIterator.LocusInfo locus2 = locusIterator.next();
final SamLocusIterator.LocusInfo locus3 = locusIterator.next();
final SamLocusIterator.LocusInfo locus4 = locusIterator.next();
locusIterator.close();
return new Object[][]{
{locus1, baseCounts1},
{locus2, baseCounts2},
{locus3, baseCounts3},
{locus4, baseCounts4}
};
}
}
示例10: inputGetTumorHetPulldown15
import htsjdk.samtools.util.IntervalList; //导入方法依赖的package包/类
@DataProvider(name = "inputGetTumorHetPulldownMin15")
public Object[][] inputGetTumorHetPulldown15() {
final Pulldown tumorHetPulldown = new Pulldown(normalHeader);
tumorHetPulldown.add(new AllelicCount(new SimpleInterval("1", 14630, 14630), 9, 8));
tumorHetPulldown.add(new AllelicCount(new SimpleInterval("2", 14689, 14689), 6, 9));
final IntervalList normalHetIntervals = new IntervalList(tumorHeader);
normalHetIntervals.add(new Interval("1", 14630, 14630));
normalHetIntervals.add(new Interval("2", 14689, 14689));
return new Object[][]{
{normalHetIntervals, tumorHetPulldown}
};
}
示例11: getReadDepth
import htsjdk.samtools.util.IntervalList; //导入方法依赖的package包/类
private static double getReadDepth(SAMFileReader samReader, String chr, int start, int end){
if(start >= end){
return -1;
}
//SAMFileReader samReader=new SAMFileReader(new File(str));
String chromId=chr;
int chromStart=start;
int chromEnd=end;
int pos=0;
int depth=0;
int total=0;
int count=0;
Interval interval=new Interval(chromId,chromStart,chromEnd);
IntervalList iL=new IntervalList(samReader.getFileHeader());
iL.add(interval);
SamLocusIterator sli=new SamLocusIterator(samReader,iL,true);
for(Iterator<SamLocusIterator.LocusInfo> iter=sli.iterator(); iter.hasNext();){
SamLocusIterator.LocusInfo locusInfo=iter.next();
//pos = locusInfo.getPosition();
depth = locusInfo.getRecordAndPositions().size();
total+=depth;
count++;
//System.out.println("POS="+pos+" depth:"+depth);
}
//System.out.println("total: "+total+"\tcount: "+count);
sli.close();
//samReader.close();
return (double)total/count;
}
示例12: testNoVariants
import htsjdk.samtools.util.IntervalList; //导入方法依赖的package包/类
@Test
public void testNoVariants() {
final IntervalList intervalList = new IntervalList(header);
intervalList.add(new Interval(this.dict.getSequence(0).getSequenceName(), 1, 100));
final VCFFileReader reader = getReader(EMPTY_VCF);
final Iterator<VariantContext> iterator = new ByIntervalListVariantContextIterator(reader, intervalList);
Assert.assertFalse(iterator.hasNext());
reader.close();
}
示例13: testSimpleOverlap
import htsjdk.samtools.util.IntervalList; //导入方法依赖的package包/类
@Test
public void testSimpleOverlap() {
final IntervalList intervalList = new IntervalList(header);
intervalList.add(new Interval("2", 167166899, 167166899));
final VCFFileReader reader = getReader(CEU_TRIOS_SNPS_VCF);
final Iterator<VariantContext> iterator = new ByIntervalListVariantContextIterator(reader, intervalList);
Assert.assertTrue(iterator.hasNext());
final VariantContext ctx = iterator.next();
Assert.assertEquals(ctx.getStart(), 167166899);
Assert.assertFalse(iterator.hasNext());
reader.close();
}
示例14: testNoOverlapDifferentContig
import htsjdk.samtools.util.IntervalList; //导入方法依赖的package包/类
@Test
public void testNoOverlapDifferentContig() {
final IntervalList intervalList = new IntervalList(header);
intervalList.add(new Interval("3", 167166899, 167166899));
final VCFFileReader reader = getReader(CEU_TRIOS_SNPS_VCF);
final Iterator<VariantContext> iterator = new ByIntervalListVariantContextIterator(reader, intervalList);
Assert.assertFalse(iterator.hasNext());
reader.close();
}
示例15: testSimpleEnclosing
import htsjdk.samtools.util.IntervalList; //导入方法依赖的package包/类
@Test
public void testSimpleEnclosing() {
final IntervalList intervalList = new IntervalList(header);
intervalList.add(new Interval("12", 68921962, 68921962)); // deletion spans this
final VCFFileReader reader = getReader(CEU_TRIOS_INDELS_VCF);
final Iterator<VariantContext> iterator = new ByIntervalListVariantContextIterator(reader, intervalList);
Assert.assertTrue(iterator.hasNext());
final VariantContext ctx = iterator.next();
Assert.assertEquals(ctx.getStart(), 68921960);
Assert.assertEquals(ctx.getEnd(), 68921966);
Assert.assertFalse(iterator.hasNext());
reader.close();
}