Package abra.bamsplitter

Source Code of abra.bamsplitter.BamSplitterThread

package abra.bamsplitter;

import java.io.File;
import java.util.Iterator;

import net.sf.samtools.SAMFileReader;
import net.sf.samtools.SAMFileWriter;
import net.sf.samtools.SAMRecord;
import net.sf.samtools.SAMFileReader.ValidationStringency;
import abra.AbraRunnable;
import abra.ThreadManager;

public class BamSplitterThread extends AbraRunnable {
 
  private String inputFile;
  private String chromosome;
  private SAMFileWriter outputWriter;

  public BamSplitterThread(ThreadManager threadManager, String inputFile, String chromosome, SAMFileWriter outputWriter) {
    super(threadManager);
   
    this.inputFile = inputFile;
    this.outputWriter = outputWriter;
    this.chromosome = chromosome;
  }
 
  @Override
  public void go() throws Exception {
    System.err.println("Starting chromosome: " + chromosome);
    SAMFileReader rdr = new SAMFileReader(new File(inputFile));
    rdr.setValidationStringency(ValidationStringency.SILENT);
   
    Iterator<SAMRecord> iter = rdr.queryContained(chromosome, 0, 0);
     
    while (iter.hasNext()) {
      SAMRecord read = (SAMRecord) iter.next();
     
      outputWriter.addAlignment(read);
    }
   
    rdr.close();
    System.err.println("Chromosome: " + chromosome + " done.");
  }
}
TOP

Related Classes of abra.bamsplitter.BamSplitterThread

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.