readFastq reads all FASTQ-formated files in a directory
dirPath whose file name matches pattern
returning a compact internal representation of the sequences and
quality scores in the files. Methods read all files into a single R
object; a typical use is to restrict input to a single FASTQ file.
writeFastq writes an object to a single
mode="w" (the default) to create a new file or
append to an existing file. Attempting to write to an existing file
mode="w" results in an error.
1 2 3 4 5
A character vector (or other object; see methods defined on this generic) giving the directory path (relative or absolute) or single file name of FASTQ files to be read.
An object to be output in
A length 1 character vector providing a path to a file to the object is to be written to.
A length 1 character vector equal to either ‘w’ or ‘a’ to write to a new file or append to an existing file, respectively.
A logical(1) indicating whether the identifier line should
A logical(1) indicating whether the file should be
gz-compressed. The default is
Additional arguments. In particular,
The fastq format is not quite precisely defined. The basic definition used here parses the following four lines as a single record:
1 2 3 4 5
@HWI-EAS88_1_1_1_1001_499 GGACTTTGTAGGATACCCTCGCTTTCCTTCTCCTGT +HWI-EAS88_1_1_1_1001_499 ]]]]]]]]]]]]Y]Y]]]]]]]]]]]]VCHVMPLAS
The first and third lines are identifiers preceded by a specific
character (the identifiers are identical, in the case of Solexa). The
second line is an upper-case sequence of nucleotides. The parser
recognizes IUPAC-standard alphabet (hence ambiguous nucleotides),
- to represent missing values. The final
line is an ASCII-encoded representation of quality scores, with one
ASCII character per nucleotide.
The encoding implicit in Solexa-derived fastq files is that each
character code corresponds to a score equal to the ASCII character
value minus 64 (e.g., ASCII
@ is decimal 64, and corresponds to
a Solexa quality score of 0). This is different from BioPerl, for
instance, which recovers quality scores by subtracting 33 from the
ASCII character value (so that, for instance,
!, with decimal
value 33, encodes value 0).
The BioPerl description of fastq asserts that the first character of
line 4 is a
!, but the current parser does not support this
writeFastq creates files following the specification outlined
above, using the IUPAC-standard alphabet (hence, sequences containing
‘.’ when read will be represented by ‘-’ when written).
readFastq returns a single R object (e.g.,
ShortReadQ) containing sequences and qualities
contained in all files in
pattern. There is no guarantee of order in which files are
writeFastq is invoked primarily for its side effect, creating
or appending to file
file. The function returns, invisibly, the
object, and hence the number of records written.
The IUPAC alphabet in Biostrings.
http://www.bioperl.org/wiki/FASTQ_sequence_format for the BioPerl definition of fastq.
Solexa documentation 'Data analysis - documentation : Pipeline output and visualisation'.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
showMethods(readFastq) showMethods(writeFastq) sp <- SolexaPath(system.file('extdata', package='ShortRead')) rfq <- readFastq(analysisPath(sp), pattern="s_1_sequence.txt") sread(rfq) id(rfq) quality(rfq) ## SolexaPath method 'knows' where FASTQ files are placed rfq1 <- readFastq(sp, pattern="s_1_sequence.txt") rfq1 file <- tempfile() writeFastq(rfq, file) readLines(file, 8)