NAME
FASTX::Reader - A lightweight FASTA and FASTQ parser
VERSION
version 0.01
SYNOPSIS
use FASTX::Reader;
my $filepath = '/path/to/assembly.fastq';
die "Input file not found: $filepath\n" unless (-e "$filepath");
my $fasta_reader = FASTX::Reader->new({ filename => "$filepath" });
while (my $seq = $fasta_reader->getRead() ) {
print $seq->{name}, "\t", $seq->{seq}, "\t", $seq->{qual}, "\n";
}
NAME
FASTX::Reader - a lightweight module to parse FASTA and FASTQ files, using Heng Li's readfq() method https://github.com/lh3/readfq, packaged in an object oriented parser.
METHODS
new()
Initialize a new FASTX::Reader object passing 'filename' argument. Will open a filehandle stored as $object->{fh}.
getRead()
Will return the next sequence in the FASTA / FASTQ file using Heng Li's implementation of the readfq() algorithm. The returned object has these attributes:
- name, header of the sequence (identifier)
- comment, any string after the first whitespace in the header
- seq, actual sequence
- qual, quality if the file is FASTQ
getFastqRead()
If the file is FASTQ, this method returns the same read object as getRead() but with a faster parser. Attributes of the returned object:
- name, header of the sequence (identifier)
- comment, any string after the first whitespace in the header
- seq, actual sequence
- qual, quality if the file is FASTQ
getFileFormat(filename)
This subroutine returns 'fasta', 'fastq' or <undef> for a given filepath (this is not a method of the instantiated object)
CONTRIBUTORS
Fabrizio Levorin has substantially contributed to the development of this module, and is a collaborator in the GitHub repository
AUTHOR
Andrea Telatin <andrea.telatin@quadram.ac.uk>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2019 by Andrea Telatin.
This is free software, licensed under:
The MIT (X11) License