org.biojava3.sequencing.io.fastq
Class FastqBuilder

java.lang.Object
  extended by org.biojava3.sequencing.io.fastq.FastqBuilder

public final class FastqBuilder
extends Object

Fluent builder API for creating FASTQ formatted sequences.

Since:
3.0.3

Field Summary
static FastqVariant DEFAULT_VARIANT
          Default FASTQ sequence format variant, FastqVariant.FASTQ_SANGER.
 
Constructor Summary
FastqBuilder()
          Create a new FASTQ formatted sequence builder.
 
Method Summary
 FastqBuilder appendQuality(String quality)
          Return this FASTQ formatted sequence builder configured with the specified quality scores appended to its current quality scores.
 FastqBuilder appendSequence(String sequence)
          Return this FASTQ formatted sequence builder configured with the specified sequence appended to its current sequence.
 Fastq build()
          Build and return a new FASTQ formatted sequence configured from the properties of this builder.
 String getDescription()
          Return the description for this FASTQ formatted sequence builder.
 boolean sequenceAndQualityLengthsMatch()
          Return true if the sequence and quality scores for this FASTQ formatted sequence builder are equal in length.
 FastqBuilder withDescription(String description)
          Return this FASTQ formatted sequence builder configured with the specified description.
 FastqBuilder withQuality(String quality)
          Return this FASTQ formatted sequence builder configured with the specified quality scores.
 FastqBuilder withSequence(String sequence)
          Return this FASTQ formatted sequence builder configured with the specified sequence.
 FastqBuilder withVariant(FastqVariant variant)
          Return this FASTQ formatted sequence builder configured with the specified FASTQ sequence format variant.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_VARIANT

public static final FastqVariant DEFAULT_VARIANT
Default FASTQ sequence format variant, FastqVariant.FASTQ_SANGER.

Constructor Detail

FastqBuilder

public FastqBuilder()
Create a new FASTQ formatted sequence builder.

Method Detail

getDescription

public String getDescription()
Return the description for this FASTQ formatted sequence builder.

Returns:
the description for this FASTQ formatted sequence builder

withDescription

public FastqBuilder withDescription(String description)
Return this FASTQ formatted sequence builder configured with the specified description.

Parameters:
description - description for this FASTQ formatted sequence builder, must not be null
Returns:
this FASTQ formatted sequence builder configured with the specified description

withSequence

public FastqBuilder withSequence(String sequence)
Return this FASTQ formatted sequence builder configured with the specified sequence.

Parameters:
sequence - sequence for this FASTQ formatted sequence builder, must not be null
Returns:
this FASTQ formatted sequence builder configured with the specified sequence

appendSequence

public FastqBuilder appendSequence(String sequence)
Return this FASTQ formatted sequence builder configured with the specified sequence appended to its current sequence.

Parameters:
sequence - sequence to append to the sequence for this FASTQ formatted sequence builder, must not be null
Returns:
this FASTQ formatted sequence builder configured with the specified sequence appended to its current sequence

withQuality

public FastqBuilder withQuality(String quality)
Return this FASTQ formatted sequence builder configured with the specified quality scores.

Parameters:
quality - quality scores for this FASTQ formatted sequence builder, must not be null
Returns:
this FASTQ formatted sequence builder configured with the specified quality scores

appendQuality

public FastqBuilder appendQuality(String quality)
Return this FASTQ formatted sequence builder configured with the specified quality scores appended to its current quality scores.

Parameters:
quality - quality scores to append to the quality scores for this FASTQ formatted sequence builder, must not be null
Returns:
this FASTQ formatted sequence builder configured with the specified quality scores appended to its current quality scores

sequenceAndQualityLengthsMatch

public boolean sequenceAndQualityLengthsMatch()
Return true if the sequence and quality scores for this FASTQ formatted sequence builder are equal in length.

Returns:
true if the sequence and quality scores for this FASTQ formatted sequence builder are equal in length

withVariant

public FastqBuilder withVariant(FastqVariant variant)
Return this FASTQ formatted sequence builder configured with the specified FASTQ sequence format variant.

Parameters:
variant - FASTQ sequence format variant for this FASTQ formatted sequence builder, must not be null
Returns:
this FASTQ formatted sequence builder configured with the specified FASTQ sequence format variant

build

public Fastq build()
Build and return a new FASTQ formatted sequence configured from the properties of this builder.

Returns:
a new FASTQ formatted sequence configured from the properties of this builder
Throws:
IllegalStateException - if the configuration of this builder results in an illegal state