Examples of SamLocusIterator


Examples of htsjdk.samtools.util.SamLocusIterator

    public void timeSamLocusIterator(int reps) {
        for(int i = 0; i < reps; i++) {
            SAMFileReader reader = new SAMFileReader(inputFile);
            long loci = 0;

            SamLocusIterator samLocusIterator = new SamLocusIterator(reader);
            samLocusIterator.setEmitUncoveredLoci(false);
            Iterator<SamLocusIterator.LocusInfo> workhorseIterator = samLocusIterator.iterator();

            while(workhorseIterator.hasNext()) {
                SamLocusIterator.LocusInfo locusInfo = workhorseIterator.next();
                // Use the value of locusInfo to avoid optimization.
                if(locusInfo != null) loci++;
View Full Code Here

Examples of htsjdk.samtools.util.SamLocusIterator

        // Setup all the inputs
        final ProgressLogger progress = new ProgressLogger(log, 10000000, "Processed", "loci");
        final ReferenceSequenceFileWalker refWalker = new ReferenceSequenceFileWalker(REFERENCE_SEQUENCE);
        final SAMFileReader in        = new SAMFileReader(INPUT);

        final SamLocusIterator iterator = new SamLocusIterator(in);
        final List<SamRecordFilter> filters   = new ArrayList<SamRecordFilter>();
        final CountingFilter dupeFilter       = new CountingDuplicateFilter();
        final CountingFilter mapqFilter       = new CountingMapQFilter(MINIMUM_MAPPING_QUALITY);
        final CountingPairedFilter pairFilter = new CountingPairedFilter();
        filters.add(mapqFilter);
        filters.add(dupeFilter);
        filters.add(pairFilter);
        filters.add(new SecondaryAlignmentFilter()); // Not a counting filter because we never want to count reads twice
        iterator.setSamFilters(filters);
        iterator.setEmitUncoveredLoci(true);
        iterator.setMappingQualityScoreCutoff(0); // Handled separately because we want to count bases
        iterator.setQualityScoreCutoff(0);        // Handled separately because we want to count bases
        iterator.setIncludeNonPfReads(false);

        final int max = COVERAGE_CAP;
        final long[] HistogramArray = new long[max + 1];
        final boolean usingStopAfter = STOP_AFTER > 0;
        final long stopAfter = STOP_AFTER-1;
        long counter = 0;

        long basesExcludedByBaseq   = 0;
        long basesExcludedByOverlap = 0;
        long basesExcludedByCapping = 0;

        // Loop through all the loci
        while (iterator.hasNext()) {
            final SamLocusIterator.LocusInfo info = iterator.next();

            // Check that the reference is not N
            final ReferenceSequence ref = refWalker.get(info.getSequenceIndex());
            final byte base = ref.getBases()[info.getPosition()-1];
            if (base == 'N') continue;
View Full Code Here

Examples of htsjdk.samtools.util.SamLocusIterator

        final DbSnpBitSetUtil dbSnp;
        if (DB_SNP != null) dbSnp = new DbSnpBitSetUtil(DB_SNP, in.getFileHeader().getSequenceDictionary());
        else dbSnp = null;

        // Make an iterator that will filter out funny looking things
        final SamLocusIterator iterator;
        if (INTERVALS != null) {
            final IntervalList intervals = IntervalList.fromFile(INTERVALS);
            intervals.unique();
            iterator = new SamLocusIterator(in, intervals, false);
        }
        else {
            iterator = new SamLocusIterator(in);
        }
        iterator.setEmitUncoveredLoci(false);
        iterator.setMappingQualityScoreCutoff(MINIMUM_MAPPING_QUALITY);
        iterator.setSamFilters(Arrays.asList(
                new NotPrimaryAlignmentFilter(),
                new DuplicateReadFilter(),
                new InsertSizeFilter(MINIMUM_INSERT_SIZE, MAXIMUM_INSERT_SIZE)
        ));
View Full Code Here

Examples of net.sf.picard.util.SamLocusIterator

//        int end = 247199724;
        Interval interval = new Interval(chr_id, start, end);
        IntervalList il = new IntervalList(samReader.getFileHeader());
        il.add(interval);
       
        SamLocusIterator sli = new SamLocusIterator(samReader, il, true);

        FileWriter fw = new FileWriter("/data/kimjh/WGS/simulation_test_chr1/seperate_10p/gatk/depth_diff.txt");
        BufferedWriter bw = new BufferedWriter(fw);

        for (Iterator<SamLocusIterator.LocusInfo> iter = sli.iterator(); iter.hasNext();) {
            SamLocusIterator.LocusInfo locusInfo = iter.next();
            List recordList = locusInfo.getRecordAndPositions();
            Iterator it = recordList.iterator();
            String readBase = "";
            String baseQuality = "";
            while(it.hasNext()){
                SamLocusIterator.RecordAndOffset record = (SamLocusIterator.RecordAndOffset) it.next();
                if(baseQuality.equals("")){
//                    readBase += Byte.toString(record.getReadBase());
//                    baseQuality += record.getBaseQuality();
                    readBase += (char)(record.getReadBase()&0xff);
                    baseQuality += (int)((record.getBaseQuality()));
                }else{
                    readBase += ","+(char)(record.getReadBase()&0xff);
                    baseQuality += ","+(int)((record.getBaseQuality()));
                }
            }

            System.out.println("chr1\t"+locusInfo.getPosition()+"\t"+locusInfo.getRecordAndPositions().size()+"\t"+readBase+"\t"+baseQuality+"\n");
//            bw.write("chr1\t"+locusInfo.getPosition()+"\t"+locusInfo.getRecordAndPositions().size()+"\n");
            int pos = locusInfo.getPosition();
            int size = locusInfo.getRecordAndPositions().size();

            if (temp != null) {
                t = temp.split("\t");
                int sam_pos = Integer.parseInt(t[1]);
                int sam_size = Integer.parseInt(t[2]);

                while (sam_pos <= pos && temp != null) {
                    t = temp.split("\t");
                    sam_pos = Integer.parseInt(t[1]);
                    sam_size = Integer.parseInt(t[2]);
                    if (sam_pos == pos) {
                        if (sam_size != size) {
                            if(pos%1000000==0){
                                System.out.println(pos);
                            }                           
                            bw.write(pos + "\t" + size + "\t" + sam_size + "\n");
                        }
                        temp = br.readLine();
                    } else if(sam_pos>pos){                       
                    }else{
                        temp = br.readLine();
                    }
                }
            }
        }
        br.close();
        fr.close();

        bw.flush();
        bw.close();
        fw.close();

        sli.close();
        samReader.close();
    }
View Full Code Here

Examples of net.sf.picard.util.SamLocusIterator

        IntervalList il = new IntervalList(samReader.getFileHeader());
        il.add(interval);

        ArrayList locusList = new ArrayList();

        SamLocusIterator sli = new SamLocusIterator(samReader, il, true);
        for (Iterator<SamLocusIterator.LocusInfo> iter = sli.iterator(); iter.hasNext();) {
            SamLocusIterator.LocusInfo locusInfo = iter.next();
            List recordList = locusInfo.getRecordAndPositions();

            Locus loc = new Locus();
            loc.setChr(getChr());
            loc.setPos(locusInfo.getPosition());
            loc.setDepth(recordList.size());
            loc.setMeanQualities(recordList);

            locusList.add(loc);
        }

        setLociValues(locusList, overlappedAreaList);
        sli.close();
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.