pyfastx

pyfastx provides memory-efficient random access to sequences in plain and gzip-compressed FASTA and FASTQ files, enabling on-disk index construction and direct subsequence retrieval without loading entire datasets into memory.


Key Features:

  • Random Sequence Access: Retrieves full sequences and subsequences from plain and gzip-compressed FASTA and FASTQ files without prior decompression.
  • Memory-efficient Indexing: Builds on-disk indices for large FASTA and FASTQ files without loading complete indices or datasets into memory.
  • Compressed File Support: Performs random access into gzip-compressed FASTA and FASTQ files.
  • Large-scale Dataset Handling: Handles FASTA and FASTQ files containing hundreds of millions of sequences.

Scientific Applications:

  • Next-Generation Sequencing Data Processing: Enables rapid retrieval and subsequence extraction from large-scale genomic datasets stored in FASTA and FASTQ formats.

Methodology:

Implements a Python C extension to construct on-disk indices and perform direct byte-level random access within plain and gzip-compressed FASTA and FASTQ files, avoiding full dataset loading and minimizing memory usage during sequence retrieval.

Topics

Details

License:
MIT
Programming Languages:
C, Python
Added:
1/18/2021
Last Updated:
1/30/2021

Operations

Publications

Du L, Liu Q, Fan Z, Tang J, Zhang X, Price M, Yue B, Zhao K. Pyfastx: a robust Python package for fast random access to sequences from plain and gzipped FASTA/Q files. Briefings in Bioinformatics. 2020;22(4). doi:10.1093/bib/bbaa368. PMID:33341884.

PMID: 33341884
Funding: - Sichuan Science and Technology Program: 2020YJ0490 - Sichuan Association for Science and Technology: 2018RCTJ

Downloads

Links