Skip to main content

pyfastx is a python module for fast random access to sequences from plain and gzipped FASTA/Q file

Project description

Action Readthedocs Codecov PyPI Wheel Codacy Language Pyver Downloads License Bioconda

Citation: Lianming Du, Qin Liu, Zhenxin Fan, Jie Tang, Xiuyue Zhang, Megan Price, Bisong Yue, Kelei Zhao. Pyfastx: a robust Python package for fast random access to sequences from plain and gzipped FASTA/Q files. Briefings in Bioinformatics, 2021, 22(4):bbaa368.

Introduction

The pyfastx is a lightweight Python C extension that enables users to randomly access to sequences from plain and gzipped FASTA/Q files. This module aims to provide simple APIs for users to extract seqeunce from FASTA and reads from FASTQ by identifier and index number. The pyfastx will build indexes stored in a sqlite3 database file for random access to avoid consuming excessive amount of memory. In addition, the pyfastx can parse standard (sequence is spread into multiple lines with same length) and nonstandard (sequence is spread into one or more lines with different length) FASTA format. This module used kseq.h written by @attractivechaos in klib project to parse plain FASTA/Q file and zran.c written by @pauldmccarthy in project indexed_gzip to index gzipped file for random access.

This project was heavily inspired by @mdshw5’s project pyfaidx and @brentp’s project pyfasta.

Features

  • Single file for the Python extension

  • Lightweight, memory efficient for parsing FASTA/Q file

  • Fast random access to sequences from gzipped FASTA/Q file

  • Read sequences from FASTA file line by line

  • Calculate N50 and L50 of sequences in FASTA file

  • Calculate GC content and nucleotides composition

  • Extract reverse, complement and antisense sequences

  • Excellent compatibility, support for parsing nonstandard FASTA file

  • Support for FASTQ quality score conversion

  • Provide command line interface for splitting FASTA/Q file

Installation

Currently, pyfastx supports Python 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14. Make sure you have installed both pip and Python before starting.

You can install pyfastx via the Python Package Index (PyPI)

pip install pyfastx

Update pyfastx module

pip install -U pyfastx

FASTX

New in pyfastx 0.8.0.

Pyfastx provide a simple and fast python binding for kseq.h to iterate over sequences or reads in fasta/q file. The FASTX object will automatically detect the input sequence format (fasta or fastq) to return different tuple.

FASTA sequences iteration

When iterating over sequences on FASTX object, a tuple (name, seq) will be returned.

>>> fa = pyfastx.Fastx('tests/data/test.fa.gz')
>>> for name,seq in fa:
>>>     print(name)
>>>     print(seq)

>>> #always output uppercase sequence
>>> for item in pyfastx.Fastx('tests/data/test.fa', uppercase=True):
>>>     print(item)

>>> #Manually specify sequence format
>>> for item in pyfastx.Fastx('tests/data/test.fa', format="fasta"):
>>>     print(item)

If you want the sequence comment, you can set comment to True, New in pyfastx 0.9.0.

>>> fa = pyfastx.Fastx('tests/data/test.fa.gz', comment=True)
>>> for name,seq,comment in fa:
>>>     print(name)
>>>     print(seq)
>>>     print(comment)

The comment is the content of header line after the first white space or tab character.

FASTQ reads iteration

When iterating over reads on FASTX object, a tuple (name, seq, qual) will be returned.

>>> fq = pyfastx.Fastx('tests/data/test.fq.gz')
>>> for name,seq,qual in fq:
>>>     print(name)
>>>     print(seq)
>>>     print(qual)

If you want the read comment, you can set comment to True, New in pyfastx 0.9.0.

>>> fq = pyfastx.Fastx('tests/data/test.fq.gz', comment=True)
>>> for name,seq,qual,comment in fq:
>>>     print(name)
>>>     print(seq)
>>>     print(qual)
>>>     print(comment)

The comment is the content of header line after the first white space or tab character.

FASTA

Read FASTA file

Read plain or gzipped FASTA file and build index, support for random access to FASTA.

>>> import pyfastx
>>> fa = pyfastx.Fasta('test/data/test.fa.gz')
>>> fa
<Fasta> test/data/test.fa.gz contains 211 seqs

FASTA records iteration

The fastest way to iterate plain or gzipped FASTA file without building index, the iteration will return a tuple contains name and sequence.

>>> import pyfastx
>>> for name, seq in pyfastx.Fasta('test/data/test.fa.gz', build_index=False):
>>>     print(name, seq)

You can also iterate sequence object from FASTA object like this:

>>> import pyfastx
>>> for seq in pyfastx.Fasta('test/data/test.fa.gz'):
>>>     print(seq.name)
>>>     print(seq.seq)
>>>     print(seq.description)

Iteration with build_index=True (default) return sequence object which allows you to access attributions of sequence. New in pyfastx 0.6.3.

Get FASTA information

>>> # get sequence counts in FASTA
>>> len(fa)
211

>>> # get total sequence length of FASTA
>>> fa.size
86262

>>> # get GC content of DNA sequence of FASTA
>>> fa.gc_content
43.529014587402344

>>> # get GC skew of DNA sequences in FASTA
>>> # New in pyfastx 0.3.8
>>> fa.gc_skew
0.004287730902433395

>>> # get composition of nucleotides in FASTA
>>> fa.composition
{'A': 24534, 'C': 18694, 'G': 18855, 'T': 24179}

>>> # get fasta type (DNA, RNA, or protein)
>>> fa.type
'DNA'

>>> # check fasta file is gzip compressed
>>> fa.is_gzip
True

Get longest and shortest sequence

New in pyfastx 0.3.0

>>> # get longest sequence
>>> s = fa.longest
>>> s
<Sequence> JZ822609.1 with length of 821

>>> s.name
'JZ822609.1'

>>> len(s)
821

>>> # get shortest sequence
>>> s = fa.shortest
>>> s
<Sequence> JZ822617.1 with length of 118

>>> s.name
'JZ822617.1'

>>> len(s)
118

Calculate N50 and L50

New in pyfastx 0.3.0

Calculate assembly N50 and L50, return (N50, L50), learn more about N50,L50

>>> # get FASTA N50 and L50
>>> fa.nl(50)
(516, 66)

>>> # get FASTA N90 and L90
>>> fa.nl(90)
(231, 161)

>>> # get FASTA N75 and L75
>>> fa.nl(75)
(365, 117)

Get sequence mean and median length

New in pyfastx 0.3.0

>>> # get sequence average length
>>> fa.mean
408

>>> # get seqeunce median length
>>> fa.median
430

Get sequence counts

New in pyfastx 0.3.0

Get counts of sequences whose length >= specified length

>>> # get counts of sequences with length >= 200 bp
>>> fa.count(200)
173

>>> # get counts of sequences with length >= 500 bp
>>> fa.count(500)
70

Get subsequences

Subsequences can be retrieved from FASTA file by using a list of [start, end] coordinates

>>> # get subsequence with start and end position
>>> interval = (1, 10)
>>> fa.fetch('JZ822577.1', interval)
'CTCTAGAGAT'

>>> # get subsequences with a list of start and end position
>>> intervals = [(1, 10), (50, 60)]
>>> fa.fetch('JZ822577.1', intervals)
'CTCTAGAGATTTTAGTTTGAC'

>>> # get subsequences with reverse strand
>>> fa.fetch('JZ822577.1', (1, 10), strand='-')
'ATCTCTAGAG'

Key function

New in pyfastx 0.5.1

Sometimes your fasta will have a long header which contains multiple identifiers and description, for example, “>JZ822577.1 contig1 cDNA library of flower petals in tree peony by suppression subtractive hybridization Paeonia suffruticosa cDNA, mRNA sequence”. In this case, both “JZ822577.1” and “contig1” can be used as identifer. you can specify the key function to select one as identifier.

>>> #default use JZ822577.1 as identifier
>>> #specify key_func to select contig1 as identifer
>>> fa = pyfastx.Fasta('tests/data/test.fa.gz', key_func=lambda x: x.split()[1])
>>> fa
<Fasta> tests/data/test.fa.gz contains 211 seqs

Sequence

Get a sequence from FASTA

>>> # get sequence like a dictionary by identifier
>>> s1 = fa['JZ822577.1']
>>> s1
<Sequence> JZ822577.1 with length of 333

>>> # get sequence like a list by index
>>> s2 = fa[2]
>>> s2
<Sequence> JZ822579.1 with length of 176

>>> # get last sequence
>>> s3 = fa[-1]
>>> s3
<Sequence> JZ840318.1 with length of 134

>>> # check a sequence name weather in FASTA file
>>> 'JZ822577.1' in fa
True

Get sequence information

>>> s = fa[-1]
>>> s
<Sequence> JZ840318.1 with length of 134

>>> # get sequence order number in FASTA file
>>> # New in pyfastx 0.3.7
>>> s.id
211

>>> # get sequence name
>>> s.name
'JZ840318.1'

>>> # get sequence description
>>> # New in pyfastx 0.3.1
>>> s.description
'R283 cDNA library of flower petals in tree peony by suppression subtractive hybridization Paeonia suffruticosa cDNA, mRNA sequence'

>>> # get sequence string
>>> s.seq
'ACTGGAGGTTCTTCTTCCTGTGGAAAGTAACTTGTTTTGCCTTCACCTGCCTGTTCTTCACATCAACCTTGTTCCCACACAAAACAATGGGAATGTTCTCACACACCCTGCAGAGATCACGATGCCATGTTGGT'

>>> # get sequence raw string, New in pyfastx 0.6.3
>>> print(s.raw)
>JZ840318.1 R283 cDNA library of flower petals in tree peony by suppression subtractive hybridization Paeonia suffruticosa cDNA, mRNA sequence
ACTGGAGGTTCTTCTTCCTGTGGAAAGTAACTTGTTTTGCCTTCACCTGCCTGTTCTTCACATCAACCTT
GTTCCCACACAAAACAATGGGAATGTTCTCACACACCCTGCAGAGATCACGATGCCATGTTGGT

>>> # get sequence length
>>> len(s)
134

>>> # get GC content if dna sequence
>>> s.gc_content
46.26865768432617

>>> # get nucleotide composition if dna sequence
>>> s.composition
{'A': 31, 'C': 37, 'G': 25, 'T': 41, 'N': 0}

Sequence slice

Sequence object can be sliced like a python string

>>> # get a sub seq from sequence
>>> s = fa[-1]
>>> ss = s[10:30]
>>> ss
<Sequence> JZ840318.1 from 11 to 30

>>> ss.name
'JZ840318.1:11-30'

>>> ss.seq
'CTTCTTCCTGTGGAAAGTAA'

>>> ss = s[-10:]
>>> ss
<Sequence> JZ840318.1 from 125 to 134

>>> ss.name
'JZ840318.1:125-134'

>>> ss.seq
'CCATGTTGGT'

Reverse and complement sequence

>>> # get sliced sequence
>>> fa[0][10:20].seq
'GTCAATTTCC'

>>> # get reverse of sliced sequence
>>> fa[0][10:20].reverse
'CCTTTAACTG'

>>> # get complement of sliced sequence
>>> fa[0][10:20].complement
'CAGTTAAAGG'

>>> # get reversed complement sequence, corresponding to sequence in antisense strand
>>> fa[0][10:20].antisense
'GGAAATTGAC'

Read sequence line by line

New in pyfastx 0.3.0

The sequence object can be iterated line by line as they appear in FASTA file.

>>> for line in fa[0]:
...     print(line)
...
CTCTAGAGATTACTTCTTCACATTCCAGATCACTCAGGCTCTTTGTCATTTTAGTTTGACTAGGATATCG
AGTATTCAAGCTCATCGCTTTTGGTAATCTTTGCGGTGCATGCCTTTGCATGCTGTATTGCTGCTTCATC
ATCCCCTTTGACTTGTGTGGCGGTGGCAAGACATCCGAAGAGTTAAGCGATGCTTGTCTAGTCAATTTCC
CCATGTACAGAATCATTGTTGTCAATTGGTTGTTTCCTTGATGGTGAAGGGGCTTCAATACATGAGTTCC
AAACTAACATTTCTTGACTAACACTTGAGGAAGAAGGACAAGGGTCCCCATGT

Search for subsequence

New in pyfastx 0.3.6

Search for subsequence from given sequence and get one-based start position of the first occurrence

>>> # search subsequence in sense strand
>>> fa[0].search('GCTTCAATACA')
262

>>> # check subsequence weather in sequence
>>> 'GCTTCAATACA' in fa[0]
True

>>> # search subsequence in antisense strand
>>> fa[0].search('CCTCAAGT', '-')
301

FastaKeys

New in pyfastx 0.8.0. We have changed Identifier object to FastaKeys object.

Get keys

Get all names of sequence as a list-like object.

>>> ids = fa.keys()
>>> ids
<FastaKeys> contains 211 keys

>>> # get count of sequence
>>> len(ids)
211

>>> # get key by index
>>> ids[0]
'JZ822577.1'

>>> # check key whether in fasta
>>> 'JZ822577.1' in ids
True

>>> # iterate over keys
>>> for name in ids:
>>>     print(name)

>>> # convert to a list
>>> list(ids)

Sort keys

Sort keys by sequence id, name, or length for iteration

New in pyfastx 0.5.0

>>> # sort keys by length with descending order
>>> for name in ids.sort(by='length', reverse=True):
>>>     print(name)

>>> # sort keys by name with ascending order
>>> for name in ids.sort(by='name'):
>>>     print(name)

>>> # sort keys by id with descending order
>>> for name in ids.sort(by='id', reverse=True)
>>>     print(name)

Filter keys

Filter keys by sequence length and name

New in pyfastx 0.5.10

>>> # get keys with length > 600
>>> ids.filter(ids > 600)
<FastaKeys> contains 48 keys

>>> # get keys with length >= 500 and <= 700
>>> ids.filter(ids>=500, ids<=700)
<FastaKeys> contains 48 keys

>>> # get keys with length > 500 and < 600
>>> ids.filter(500<ids<600)
<FastaKeys> contains 22 keys

>>> # get keys contain JZ8226
>>> ids.filter(ids % 'JZ8226')
<FastaKeys> contains 90 keys

>>> # get keys contain JZ8226 with length > 550
>>> ids.filter(ids % 'JZ8226', ids>550)
<FastaKeys> contains 17 keys

>>> # clear sort order and filters
>>> ids.reset()
<FastaKeys> contains 211 keys

>>> # list a filtered result
>>> ids.filter(ids % 'JZ8226', ids>730)
>>> list(ids)
['JZ822609.1', 'JZ822650.1', 'JZ822664.1', 'JZ822699.1']

>>> # list a filtered result with sort order
>>> ids.filter(ids % 'JZ8226', ids>730).sort('length', reverse=True)
>>> list(ids)
['JZ822609.1', 'JZ822699.1', 'JZ822664.1', 'JZ822650.1']

>>> ids.filter(ids % 'JZ8226', ids>730).sort('name', reverse=True)
>>> list(ids)
['JZ822699.1', 'JZ822664.1', 'JZ822650.1', 'JZ822609.1']

FASTQ

New in pyfastx 0.4.0

Read FASTQ file

Read plain or gzipped file and build index, support for random access to reads from FASTQ.

>>> import pyfastx
>>> fq = pyfastx.Fastq('tests/data/test.fq.gz')
>>> fq
<Fastq> tests/data/test.fq.gz contains 100 reads

FASTQ records iteration

The fastest way to parse plain or gzipped FASTQ file without building index, the iteration will return a tuple contains read name, seq and quality.

>>> import pyfastx
>>> for name,seq,qual in pyfastx.Fastq('tests/data/test.fq.gz', build_index=False):
>>>     print(name)
>>>     print(seq)
>>>     print(qual)

You can also iterate read object from FASTQ object like this:

>>> import pyfastx
>>> for read in pyfastx.Fastq('test/data/test.fq.gz'):
>>>     print(read.name)
>>>     print(read.seq)
>>>     print(read.qual)
>>>     print(read.quali)

Iteration with build_index=True (default) return read object which allows you to access attribution of read. New in pyfastx 0.6.3.

Get FASTQ information

>>> # get read counts in FASTQ
>>> len(fq)
800

>>> # get total bases
>>> fq.size
120000

>>> # get GC content of FASTQ file
>>> fq.gc_content
66.17471313476562

>>> # get composition of bases in FASTQ
>>> fq.composition
{'A': 20501, 'C': 39705, 'G': 39704, 'T': 20089, 'N': 1}

>>> # New in pyfastx 0.6.10
>>> # get average length of reads
>>> fq.avglen
150.0

>>> # get maximum lenth of reads
>>> fq.maxlen
150

>>> # get minimum length of reas
>>> fq.minlen
150

>>> # get maximum quality score
>>> fq.maxqual
70

>>> # get minimum quality score
>>> fq.minqual
35

>>> # get phred which affects the quality score conversion
>>> fq.phred
33

>>> # Guess fastq quality encoding system
>>> # New in pyfastx 0.4.1
>>> fq.encoding_type
['Sanger Phred+33', 'Illumina 1.8+ Phred+33']

Read

Get read from FASTQ

>>> #get read like a dict by read name
>>> r1 = fq['A00129:183:H77K2DMXX:1:1101:4752:1047']
>>> r1
<Read> A00129:183:H77K2DMXX:1:1101:4752:1047 with length of 150

>>> # get read like a list by index
>>> r2 = fq[10]
>>> r2
<Read> A00129:183:H77K2DMXX:1:1101:18041:1078 with length of 150

>>> # get the last read
>>> r3 = fq[-1]
>>> r3
<Read> A00129:183:H77K2DMXX:1:1101:31575:4726 with length of 150

>>> # check a read weather in FASTQ file
>>> 'A00129:183:H77K2DMXX:1:1101:4752:1047' in fq
True

Get read information

>>> r = fq[-10]
>>> r
<Read> A00129:183:H77K2DMXX:1:1101:1750:4711 with length of 150

>>> # get read order number in FASTQ file
>>> r.id
791

>>> # get read name
>>> r.name
'A00129:183:H77K2DMXX:1:1101:1750:4711'

>>> # get read full header line, New in pyfastx 0.6.3
>>> r.description
'@A00129:183:H77K2DMXX:1:1101:1750:4711 1:N:0:CAATGGAA+CGAGGCTG'

>>> # get read length
>>> len(r)
150

>>> # get read sequence
>>> r.seq
'CGAGGAAATCGACGTCACCGATCTGGAAGCCCTGCGCGCCCATCTCAACCAGAAATGGGGTGGCCAGCGCGGCAAGCTGACCCTGCTGCCGTTCCTGGTCCGCGCCATGGTCGTGGCGCTGCGCGACTTCCCGCAGTTGAACGCGCGCTA'

>>> # get raw string of read, New in pyfastx 0.6.3
>>> print(r.raw)
@A00129:183:H77K2DMXX:1:1101:1750:4711 1:N:0:CAATGGAA+CGAGGCTG
CGAGGAAATCGACGTCACCGATCTGGAAGCCCTGCGCGCCCATCTCAACCAGAAATGGGGTGGCCAGCGCGGCAAGCTGACCCTGCTGCCGTTCCTGGTCCGCGCCATGGTCGTGGCGCTGCGCGACTTCCCGCAGTTGAACGCGCGCTA
+
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FF,FFFFFFFFFFFFFFFFFFFFFFFFFF,F:FFFFFFFFF:

>>> # get read quality ascii string
>>> r.qual
'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FF,FFFFFFFFFFFFFFFFFFFFFFFFFF,F:FFFFFFFFF:'

>>> # get read quality integer value, ascii - 33 or 64
>>> r.quali
[37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 25, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 25, 37, 37, 11, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 11, 37, 25, 37, 37, 37, 37, 37, 37, 37, 37, 37, 25]

>>> # get read length
>>> len(r)
150

FastqKeys

New in pyfastx 0.8.0.

Get fastq keys

Get all names of read as a list-like object.

>>> ids = fq.keys()
>>> ids
<FastqKeys> contains 800 keys

>>> # get count of read
>>> len(ids)
800

>>> # get key by index
>>> ids[0]
'A00129:183:H77K2DMXX:1:1101:6804:1031'

>>> # check key whether in fasta
>>> 'A00129:183:H77K2DMXX:1:1101:14416:1031' in ids
True

Command line interface

New in pyfastx 0.5.0

$ pyfastx -h

usage: pyfastx COMMAND [OPTIONS]

A command line tool for FASTA/Q file manipulation

optional arguments:
  -h, --help     show this help message and exit
  -v, --version  show program's version number and exit

Commands:

    index        build index for fasta/q file
    stat         show detailed statistics information of fasta/q file
    split        split fasta/q file into multiple files
    fq2fa        convert fastq file to fasta file
    subseq       get subsequences from fasta file by region
    sample       randomly sample sequences from fasta or fastq file
    extract      extract full sequences or reads from fasta/q file

Build index

New in pyfastx 0.6.10

$ pyfastx index -h

usage: pyfastx index [-h] [-f] fastx [fastx ...]

positional arguments:
  fastx       fasta or fastq file, gzip support

optional arguments:
  -h, --help  show this help message and exit
  -f, --full  build full index, base composition will be calculated

Show statistics information

$ pyfastx stat -h

usage: pyfastx info [-h] fastx

positional arguments:
  fastx       input fasta or fastq file, gzip support

optional arguments:
  -h, --help  show this help message and exit

Split FASTA/Q file

$ pyfastx split -h

usage: pyfastx split [-h] (-n int | -c int) [-o str] fastx

positional arguments:
  fastx                 fasta or fastq file, gzip support

optional arguments:
  -h, --help            show this help message and exit
  -n int                split a fasta/q file into N new files with even size
  -c int                split a fasta/q file into multiple files containing the same sequence counts
  -o str, --out-dir str
                        output directory, default is current folder

Convert FASTQ to FASTA file

$ pyfastx fq2fa -h

usage: pyfastx fq2fa [-h] [-o str] fastx

positional arguments:
  fastx                 fastq file, gzip support

optional arguments:
  -h, --help            show this help message and exit
  -o str, --out-file str
                        output file, default: output to stdout

Get subsequence with region

$ pyfastx subseq -h

usage: pyfastx subseq [-h] [-r str | -b str] [-o str] fastx [region [region ...]]

positional arguments:
  fastx                 input fasta file, gzip support
  region                format is chr:start-end, start and end position is 1-based, multiple names were separated by space

optional arguments:
  -h, --help            show this help message and exit
  -r str, --region-file str
                        tab-delimited file, one region per line, both start and end position are 1-based
  -b str, --bed-file str
                        tab-delimited BED file, 0-based start position and 1-based end position
  -o str, --out-file str
                        output file, default: output to stdout

Sample sequences

$ pyfastx sample -h

usage: pyfastx sample [-h] (-n int | -p float) [-s int] [--sequential-read] [-o str] fastx

positional arguments:
  fastx                 fasta or fastq file, gzip support

optional arguments:
  -h, --help            show this help message and exit
  -n int                number of sequences to be sampled
  -p float              proportion of sequences to be sampled, 0~1
  -s int, --seed int    random seed, default is the current system time
  --sequential-read     start sequential reading, particularly suitable for sampling large numbers of sequences
  -o str, --out-file str
                        output file, default: output to stdout

Extract sequences

New in pyfastx 0.6.10

$ pyfastx extract -h

usage: pyfastx extract [-h] [-l str] [--reverse-complement] [--out-fasta] [-o str] [--sequential-read]
                       fastx [name [name ...]]

positional arguments:
  fastx                 fasta or fastq file, gzip support
  name                  sequence name or read name, multiple names were separated by space

optional arguments:
  -h, --help            show this help message and exit
  -l str, --list-file str
                        a file containing sequence or read names, one name per line
  --reverse-complement  output reverse complement sequence
  --out-fasta           output fasta format when extract reads from fastq, default output fastq format
  -o str, --out-file str
                        output file, default: output to stdout
  --sequential-read     start sequential reading, particularly suitable for extracting large numbers of sequences

Drawbacks

If you intensively check sequence names exists in FASTA file using in operator on FASTA object like:

>>> fa = pyfastx.Fasta('tests/data/test.fa.gz')
>>> # Suppose seqnames has 100000 names
>>> for seqname in seqnames:
>>>     if seqname in fa:
>>>             do something

This will take a long time to finish. Becuase, pyfastx does not load the index into memory, the in operating is corresponding to sql query existence from index database. The faster alternative way to do this is:

>>> fa = pyfastx.Fasta('tests/data/test.fa.gz')
>>> # load all sequence names into a set object
>>> all_names = set(fa.keys())
>>> for seqname in seqnames:
>>>     if seqname in all_names:
>>>             do something

Testing

The pyfaidx module was used to test pyfastx. First, make sure you have a suitable version installed:

pip install pyfastx

To test pyfastx, you should also install pyfaidx 0.5.8:

pip install pyfaidx==0.5.8

Then, to run the tests:

$ python setup.py test

Acknowledgements

kseq.h and zlib was used to parse FASTA format. Sqlite3 was used to store built indexes. pyfastx can randomly access to sequences from gzipped FASTA file mainly attributed to indexed_gzip.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfastx-2.3.0.tar.gz (261.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyfastx-2.3.0-cp314-cp314t-win_amd64.whl (692.8 kB view details)

Uploaded CPython 3.14tWindows x86-64

pyfastx-2.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl (883.3 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

pyfastx-2.3.0-cp314-cp314t-manylinux_2_28_x86_64.whl (877.1 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

pyfastx-2.3.0-cp314-cp314t-macosx_11_0_arm64.whl (744.6 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

pyfastx-2.3.0-cp314-cp314t-macosx_10_15_x86_64.whl (785.2 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

pyfastx-2.3.0-cp314-cp314-win_amd64.whl (691.4 kB view details)

Uploaded CPython 3.14Windows x86-64

pyfastx-2.3.0-cp314-cp314-musllinux_1_2_x86_64.whl (882.6 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

pyfastx-2.3.0-cp314-cp314-manylinux_2_28_x86_64.whl (876.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

pyfastx-2.3.0-cp314-cp314-macosx_11_0_arm64.whl (744.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pyfastx-2.3.0-cp314-cp314-macosx_10_15_x86_64.whl (784.7 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

pyfastx-2.3.0-cp313-cp313-win_amd64.whl (672.1 kB view details)

Uploaded CPython 3.13Windows x86-64

pyfastx-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl (882.6 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pyfastx-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl (876.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pyfastx-2.3.0-cp313-cp313-macosx_11_0_arm64.whl (744.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyfastx-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl (784.5 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pyfastx-2.3.0-cp312-cp312-win_amd64.whl (672.2 kB view details)

Uploaded CPython 3.12Windows x86-64

pyfastx-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl (882.7 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pyfastx-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl (876.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pyfastx-2.3.0-cp312-cp312-macosx_11_0_arm64.whl (744.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyfastx-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl (784.7 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

pyfastx-2.3.0-cp311-cp311-win_amd64.whl (671.9 kB view details)

Uploaded CPython 3.11Windows x86-64

pyfastx-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl (882.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pyfastx-2.3.0-cp311-cp311-manylinux_2_28_x86_64.whl (876.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

pyfastx-2.3.0-cp311-cp311-macosx_11_0_arm64.whl (744.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyfastx-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl (783.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pyfastx-2.3.0-cp310-cp310-win_amd64.whl (671.9 kB view details)

Uploaded CPython 3.10Windows x86-64

pyfastx-2.3.0-cp310-cp310-musllinux_1_2_x86_64.whl (882.4 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

pyfastx-2.3.0-cp310-cp310-manylinux_2_28_x86_64.whl (876.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

pyfastx-2.3.0-cp310-cp310-macosx_11_0_arm64.whl (744.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyfastx-2.3.0-cp310-cp310-macosx_10_9_x86_64.whl (783.4 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

pyfastx-2.3.0-cp39-cp39-win_amd64.whl (672.0 kB view details)

Uploaded CPython 3.9Windows x86-64

pyfastx-2.3.0-cp39-cp39-musllinux_1_2_x86_64.whl (882.4 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

pyfastx-2.3.0-cp39-cp39-manylinux_2_28_x86_64.whl (876.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

pyfastx-2.3.0-cp39-cp39-macosx_11_0_arm64.whl (744.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pyfastx-2.3.0-cp39-cp39-macosx_10_9_x86_64.whl (783.5 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

pyfastx-2.3.0-cp38-cp38-win_amd64.whl (671.9 kB view details)

Uploaded CPython 3.8Windows x86-64

pyfastx-2.3.0-cp38-cp38-musllinux_1_2_x86_64.whl (882.2 kB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

pyfastx-2.3.0-cp38-cp38-manylinux_2_28_x86_64.whl (875.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

pyfastx-2.3.0-cp38-cp38-macosx_11_0_arm64.whl (743.9 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

pyfastx-2.3.0-cp38-cp38-macosx_10_9_x86_64.whl (783.2 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

Details for the file pyfastx-2.3.0.tar.gz.

File metadata

  • Download URL: pyfastx-2.3.0.tar.gz
  • Upload date:
  • Size: 261.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyfastx-2.3.0.tar.gz
Algorithm Hash digest
SHA256 bc51fcb76a9c8974d68499a3b2c13a65fe7290ee4dde0a2e0a264bb12fcef586
MD5 730fb0b9053e38bef2503b38f0dd98ad
BLAKE2b-256 1290d097d5365d0a863cec63b9f352a5aa50a4bba625d10008720e1788b90f39

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: pyfastx-2.3.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 692.8 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyfastx-2.3.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 1e2b78b6da5ffc9cd7be65778edf9aaa97e0b041e7bc5f6bc15bb3999fc7b7fd
MD5 0bfe5d245768e2bbef430b15eebc7313
BLAKE2b-256 77fa5bffd17c47993a374d9863a077f9c6470af98a206c67f399a343b8daed5e

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 569d72eaae9011d84717bdbdd5236573f6bbfa7bf9f5decfcaf1230bc5b4aaeb
MD5 883b685fc29d5b07e9575c596c0bd34a
BLAKE2b-256 687ca47fe412fada026ca2826bdaf598700b7710babfbc282f143e6e76abae50

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ee1c80739e9c35618110cc6e91809a2dd78bf463515c29b82a982c51253620be
MD5 f15b26e5d94a461cdac880704da381ac
BLAKE2b-256 e0743faf41671ba5e966561602ebcd7c029de98e3e928d2b7c2b5abbc55133b1

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b9a0219b40b3042f25397b11f9114c9704df700100b9cfac622be967dd037877
MD5 e3db701da68bbbdb075ac473faf52310
BLAKE2b-256 42bfa8acb62357d289146371989f0b577472876433a8c85ae5619b14a2ea6b4e

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 3741550367b3e3fa92f00803f94b3bd6fe17660d44f204fa61cb14bc40f6edb3
MD5 7c018274925c1e0c4f40a015edde0153
BLAKE2b-256 bc10ee12504229f5603af818da6305b9fafd866292fcc1c426ab1f873e5ae9b8

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pyfastx-2.3.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 691.4 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyfastx-2.3.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 e4bc7417588ec414fe83016eca6de90985bc1e3c2067df1ede46ec07cc58cab6
MD5 db4d885cecce82fee332ef9a4798cb88
BLAKE2b-256 02ffe3d0141a9457f65a514f85ee8cb5b8a7ce530dee0dbbb2911d7d11bf89c1

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0d919e0aed10a303621da54d482052d40fad8292f03b17d386d2dc6fa7f81a8b
MD5 3f7727ebead3eaa8efcf00323c138e44
BLAKE2b-256 bd9ac22d5a7d23c7fe02412ddf3272989bbcda9fb2ab57f83a55e0c3cddc7fec

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 18e78ef7bc9077c64d37b23862940c4e42b952944f953f7eea8b7a405a77ea47
MD5 9fd1c56a01529191062f591b78d78e83
BLAKE2b-256 f1d829f1cb2ccf38acf726248f39acc402586046f5f143f1fdc3db43fe42830d

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d1468fddde2dadd64546149704150c0b62925e292fee4cc940d7befd0281a7b9
MD5 2dc3a701c9657d43d03f1efb1f55a48a
BLAKE2b-256 323c835f0ad48df185439854f0c77ddf344ca15996ca24cd285e7f70ac042254

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 aebc60f06ded5f6e80f87e271b258cfe7ff8ba4e6b5be190dfa0558f4c97a2e2
MD5 c5190e577335b65f3704f59dad42a958
BLAKE2b-256 cd74dfc6e920d5160f6004772abc463b4f95b48d283eebf68d3dffce9eff98c4

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyfastx-2.3.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 672.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyfastx-2.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0c3c7af1058cf8df34344166ada2c5115f9e22c13ec07c61c417200d3988e5f7
MD5 c69bc988706c629a04da4408a505bdb8
BLAKE2b-256 3111a0d41a2bc15579a0fe97bd4dd919cfa3d0b3d6fc5f56a0645aa36c36b5f6

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f20b8d02da3f83878268ae9541480d0e6aa29b2246220f10e6d7137805f107f4
MD5 9de1b393212b4dd146862d7f4ac616a5
BLAKE2b-256 991bec5411eb559c8508f397a2c25eee99a96ca58c364d519fcf76408f9fdd6c

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e6dc6904d755db342c0f0ca71c18ed5a3511c8c62f1d8b546e3c0055484e054d
MD5 b91a34a05742caf6962f8bdb67a92a48
BLAKE2b-256 17287c96536ca2532aedf36b1c10f28f652afcfe4cbed872f6a2c4eb5fc44637

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 783847d8fe31cdfe45376c6d98a1b0e8ba2b143b2eb8970432fe6b4d2a539b58
MD5 04f8635dd7dc7ad587f19696f3278e0d
BLAKE2b-256 2fb803edc9cfe560d5eebf767cd577b802539b1334b18127f9751a7c68f566ab

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b023f7f13f46960e752f0aaeed4b6f26b5a7e81e9db7cb486918127f54cbaa5c
MD5 f3190d0119eacea4f1e18d1504ab8a55
BLAKE2b-256 a8b271c1a42d65b47098a47f771d5cbdb7e6aac52f05f2a32f0e766ac6337e9b

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyfastx-2.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 672.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyfastx-2.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8e3ff001dd8e873dd2d40fd1653e1a9f6ae9b9888046de74964e34371793def9
MD5 4fbd30a0561232b7024a806b680520ce
BLAKE2b-256 24ff128b6f1ae4daefc24a5779fed1eed05f30f5b5d910b0118ba378acc69662

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2750f36870767d64cac6ec5bd0ef9f7969c87dce901e5d0ed9c6afc4ac11f7ff
MD5 eafcd7b5c2a4ec330942aef5f4d7812f
BLAKE2b-256 aa07ed9856f37f02174987fb9eb13e753a4f75563da6763d26bd19e62a88dc70

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7845a7ada8099fcd11b460eb6d461c1eb77eb804a289acba0ba0e56aecbccf11
MD5 54406a111843e9ef97084b57bb84d456
BLAKE2b-256 11d8054fb46629e565b494c2241cfe8eb856543189c8d1dff7bfe76d6cf4dc33

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 54808d26e9fca53b662c9abccf53c17e464a70fa29184a6d956efc7173fa09cb
MD5 7d1702aa7c1c536d67b6c647fc3e73ad
BLAKE2b-256 de896f76e966c7b0f367f2396b0b8e9885d858b41f88b8b08f9e1ee4ae886a33

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f98a2e3abe547230fd08b4ddd58964e13a50ae80822442e2ca21ccd77c49fa98
MD5 0139217fe2a466569048efd03a13fd36
BLAKE2b-256 06403ce4ee5f872b5959478eecac89ea6235f11e1e91eda9587c072b03086643

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyfastx-2.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 671.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyfastx-2.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d52716468361fbe4096292619071ca097804ae59e3fbec69fd9295c9f60e721d
MD5 04860b36fa7776d09f4a34cbc514f5da
BLAKE2b-256 4469a0b37b48443ea68e0d503de418172c817035acdb83288731e28f5671688a

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 416e02d6923c188621299a8ff00627566ea43ebc19cb272bd68261c0226f19e6
MD5 ea6a63798d1253a079e42d8ccdcbb170
BLAKE2b-256 a278522432be93ca8c1301f9611b1ab210ee0704669c2ff8b1830383dea44aaf

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e2cc008a6f1fb7c6844c9ec1aec4ab9006647ec4d17a1a724cf457b42407e836
MD5 fe8ff115decedae1323c190ec7e345e3
BLAKE2b-256 4a8505e80b8ccd9d28684b9df57a2612a72ce6c4b95dd04ac9df22f94d352ac5

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cd91fdd01a73f3ed78f3b28158e1f52ec0afdfa7b6af247bf9618d03664ad707
MD5 7e2dddafd99e9913eaeaa36ba8ba2d24
BLAKE2b-256 cd53d2a2c2073f75d2c1b2d26f1ca450b320545ef3bf24de7b277a5d2d2384b6

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 05c738fa63214d74ac43ea8afa7e1829142ab1c9326c30bd16e00cf7ff88d546
MD5 fcd076287d07cf6c824a6bdd7076fe7c
BLAKE2b-256 8cf9e010025bb19675bcecc0b3a82e477ae3217eaa1c890b6168f5d74ddee20c

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyfastx-2.3.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 671.9 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyfastx-2.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2b3db83905b20fee608bbaeb2699dcda70dcb4fd5bff8b43640ff755f5d006c0
MD5 0b4383986f831bfcb66d0ccb248446e3
BLAKE2b-256 0f7988af800264a92e1e7dd388a76efd2c96b358a530020e747d468e3d3808c7

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c68228003e0428a2eca636cb414554288076c1aa7f584b592278e3267f29a619
MD5 6429623ec805a86d81939ba291e64a02
BLAKE2b-256 d979e4ea1fbd764e06ceec42194109bc9c6e170f44b8fb56ec19873c6f0c0009

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8b196d6b5520d8e79bdb5495055cb0888a27c44ccc622843a56237bfda592f34
MD5 1f984e5d8dea5e5e33eb8971a6d701e3
BLAKE2b-256 fe1dfa3300ebd4cf336dff043e3044d0d7a76a3e6ef06b2b550831548b8a2fef

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 15254dd93e143d22bbfeb5bebf3f56302e3a1b86b6a0442197e0fac4ff8283bd
MD5 ed119ba319d69af86036cc4e53b889bf
BLAKE2b-256 8e785f69c10041e1290896532b74608f677189b778d203b845cf619357af7ac5

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e108b2c8aedcb160e3c3c737d75e346157c36354f880f714661c5758bb48c8e4
MD5 ec4df312fb90973750fb1f008aa7d6b6
BLAKE2b-256 36b4b4bd9202367647b92c3a7a9556d3c0fa81c8b77440a480f903dc39e17528

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pyfastx-2.3.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 672.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyfastx-2.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5daa8b1c17a7c1c18b00467a35b358784a3ea66d36494829b48e7f68a1f94a1c
MD5 143340083359b34c99a8ed0cf70f9e1b
BLAKE2b-256 d1a8859aa06bfa407dc702d851ba5b62423d563989599db105cdacf6715afadd

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cd258a98bfd1ba2cc095e3df61470684260615eadb05d33c8a1501c41e8967f3
MD5 7411167f6e2cd98895a9d33fbd92015f
BLAKE2b-256 02828c86cf5c53540295cd46883e88e3326194932eb0a0070c09f3604dbcfc58

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 552483e41ecd7b45cb525c8cb6bd977ee48222bb194472077824307d370de853
MD5 5790f28665a2d2febc6cd0788d8cd70a
BLAKE2b-256 0ec7d5b0e9d35f65f2cfa8d25196772d99dc9e16ef25abec234eb890b00dd98a

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ca480720566f36fa2e29b5d42307f8517ab1240733e8a2e784de39ed6987f269
MD5 fbccbe1620bc3f2d6c918a2c2d7cfa7c
BLAKE2b-256 90b3009f48afae2e93f2aad72d5cb694414a539e347a004e617b916ba63a3c90

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ca6dd0070eb20928f1a1d46554df61700b99fcf717fd42b9ede160d31004b5e1
MD5 51e3f2c25eb8da1e40c0652621b98357
BLAKE2b-256 b4d6e722f2cfa087268dfc7100b379a863078e99b7b6eace47d5846d1c250530

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pyfastx-2.3.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 671.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyfastx-2.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 809d183c2fccdb197e031f6b2e20f68737ffeb4ab782f690fe8506f9808dfbb6
MD5 194c5567c6331c45b9cb417dce359c95
BLAKE2b-256 04d1e93dd3942eeb862cd054625c35075b43c1a1c806b1de97979cc8b863206f

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 12e15bea95e597ca71ba985f925cacb65453d757d9dd278b7f1f0861b738e6cf
MD5 0fc7e3ed5e7853253e9cca85002b540a
BLAKE2b-256 4c9a8801a10931f82ab323bd590643e8c779ce3d183b82a65acf610f3951c264

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4717f53df9f95a8adbccbadacb1dafbc334dd4b4576be9a7ff8902484aac5c44
MD5 4c6d83074ece617e8e2874bf1d5bae55
BLAKE2b-256 4f039c4da77538cec2d60cc6fe7ac80291f24411f24ed0b4dfd7f2dcf8f7de47

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0a201f8a6c1fdb884c6605d7c961e7f49ceb860da45c78e7bddc921ffff12bc0
MD5 c52537702cfb8ccad34f988ed7828de4
BLAKE2b-256 d32cb5c3f46ede039eabcff824bea1b25c8427fc8933390ffb2c7f0530a2d6e5

See more details on using hashes here.

File details

Details for the file pyfastx-2.3.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyfastx-2.3.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7d753698da6fcf0ece2f2cde47ab107917b4479b69e371bbea0cd838a21dfbae
MD5 ef405c3092b3eede444d6b2272c09f08
BLAKE2b-256 5e74dfa2b112e4d8848c794a47e22cf4e1f115b4021142a6690337599eb875de

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page