The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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