本文整理汇总了Java中htsjdk.samtools.fastq.FastqReader.next方法的典型用法代码示例。如果您正苦于以下问题:Java FastqReader.next方法的具体用法?Java FastqReader.next怎么用?Java FastqReader.next使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类htsjdk.samtools.fastq.FastqReader
的用法示例。
在下文中一共展示了FastqReader.next方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: doUnpaired
import htsjdk.samtools.fastq.FastqReader; //导入方法依赖的package包/类
/** Creates a simple SAM file from a single fastq file. */
protected int doUnpaired(final FastqReader freader, final SAMFileWriter writer) {
int readCount = 0;
final ProgressLogger progress = new ProgressLogger(LOG);
for ( ; freader.hasNext() ; readCount++) {
final FastqRecord frec = freader.next();
final SAMRecord srec = createSamRecord(writer.getFileHeader(), SequenceUtil.getSamReadNameFromFastqHeader(frec.getReadHeader()) , frec, false) ;
srec.setReadPairedFlag(false);
writer.addAlignment(srec);
progress.record(srec);
}
return readCount;
}
示例2: doPaired
import htsjdk.samtools.fastq.FastqReader; //导入方法依赖的package包/类
/** More complicated method that takes two fastq files and builds pairing information in the SAM. */
protected int doPaired(final FastqReader freader1, final FastqReader freader2, final SAMFileWriter writer) {
int readCount = 0;
final ProgressLogger progress = new ProgressLogger(LOG);
for ( ; freader1.hasNext() && freader2.hasNext() ; readCount++) {
final FastqRecord frec1 = freader1.next();
final FastqRecord frec2 = freader2.next();
final String frec1Name = SequenceUtil.getSamReadNameFromFastqHeader(frec1.getReadHeader());
final String frec2Name = SequenceUtil.getSamReadNameFromFastqHeader(frec2.getReadHeader());
final String baseName = getBaseName(frec1Name, frec2Name, freader1, freader2);
final SAMRecord srec1 = createSamRecord(writer.getFileHeader(), baseName, frec1, true) ;
srec1.setFirstOfPairFlag(true);
srec1.setSecondOfPairFlag(false);
writer.addAlignment(srec1);
progress.record(srec1);
final SAMRecord srec2 = createSamRecord(writer.getFileHeader(), baseName, frec2, true) ;
srec2.setFirstOfPairFlag(false);
srec2.setSecondOfPairFlag(true);
writer.addAlignment(srec2);
progress.record(srec2);
}
if (freader1.hasNext() || freader2.hasNext()) {
throw new PicardException("Input paired fastq files must be the same length");
}
return readCount;
}
示例3: createFastqReadHeaderSet
import htsjdk.samtools.fastq.FastqReader; //导入方法依赖的package包/类
private Set<String> createFastqReadHeaderSet(final File file) {
final Set<String> set = new HashSet<String>();
final FastqReader freader = new FastqReader(file);
while (freader.hasNext()) {
final FastqRecord frec = freader.next();
set.add(frec.getReadHeader());
}
return set ;
}
示例4: writeRecords
import htsjdk.samtools.fastq.FastqReader; //导入方法依赖的package包/类
/**
*
* @param fastqReader a FastqReader object
* @param out - the output fastq reads
* @param mappedReads a HashSet of mapped reads
*/
public static void writeRecords(FastqReader fastqReader, FastqWriter out, HashSet<String> mappedReads) {
while (fastqReader.hasNext()) {
FastqRecord record = fastqReader.next();
String readName = record.getReadHeader();
int hashIndex = readName.indexOf(" ");
readName = readName.substring(0, hashIndex);
if (mappedReads.contains(readName)) {
out.write(record);
}
}
out.close();
}
示例5: getPairedFastqSeqsFromHashSet
import htsjdk.samtools.fastq.FastqReader; //导入方法依赖的package包/类
/**
* Extract paired-end fastq sequences from a list of sequence names
*
* @param list a HashSet of read names
* @param fastqLeft all left-handed reads
* @param fastqRight all right-handed reads
* @param fastqLeftOut the left-handed reads in the list
* @param fastqRightOut the right-handed reads in the list
* @throws FileNotFoundException
* @throws IOException
*/
public void getPairedFastqSeqsFromHashSet(HashSet list, File fastqLeft, File fastqRight,
File fastqLeftOut, File fastqRightOut) throws FileNotFoundException, IOException {
final FastqReader readerLeft = new FastqReader(fastqLeft);
final FastqReader readerRight = new FastqReader(fastqRight);
FastqWriterFactory writer = new FastqWriterFactory();
FastqWriter outLeft = writer.newWriter(fastqLeftOut);
FastqWriter outRight = writer.newWriter(fastqRightOut);
int recordsfound = 0;
while (readerLeft.hasNext()) {
FastqRecord recordLeft = readerLeft.next();
FastqRecord recordRight = readerRight.next();
String leftRead = recordLeft.getReadHeader();
int hashIndex = leftRead.indexOf(" ");
leftRead = leftRead.substring(0, hashIndex);
if (list.contains(leftRead)) {
recordsfound++;
outLeft.write(recordLeft);
outRight.write(recordRight);
}
}
System.out.println("Processed " + list.size() + " , found " + recordsfound);
}
示例6: fastqToFastaFile
import htsjdk.samtools.fastq.FastqReader; //导入方法依赖的package包/类
/**
* Turns a fastq file into fasta format
*
* @param fastqIn the fastq intput file
* @param fastaOut the fasta output file
* @throws IOException
*/
public void fastqToFastaFile(File fastqIn, File fastaOut) throws IOException {
final FastqReader reader = new FastqReader(fastqIn);
Writer out = new BufferedWriter(new FileWriter(fastaOut));
while (reader.hasNext()) {
FastqRecord record = reader.next();
out.write(fastqToFastaSeq(record).toString());
}
out.close();
}