Skip to main content

A package for reading and writing fasta/fastq files

Project description

seqio

A c library for reading and writing sequences in fasta and fastq format.

Inspired by kseq.h, another library for reading fasta and fastq files.

features

  • Read and write fasta and fastq files
  • Support for gzipped files
  • Intuitive API

Quick start

Python

WIP: I'm working on a python wrapper for this library.

os reading writing
Linux
MacOS
Windows

Install

pip install fastseqio
Click to see the example
import os

from fastseqio import seqioFile, Record


def test_read():
    file = seqioFile("test-data/test2.fa")

    records = []
    for record in file:
        records.append(record)

    assert len(records) == 3

    assert records[0].name == "a"
    assert records[1].name == "b"
    assert records[2].name == "c"

    records = []
    for record in file:
        records.append(record)

    assert len(records) == 0

    file.reset()

    records = []
    for record in file:
        records.append(record)

    assert len(records) == 3


def test_write():
    file = seqioFile("out.fa", "w")

    file.writeFasta("test", "ACGGGGGGGTTTT")
    file.writeFasta("test", "ACGGGGGGGTTTT")

    file.close()

    content = ">test\nACGGGGGGGTTTT\n>test\nACGGGGGGGTTTT\n"

    with open("out.fa", "r") as fp:
        data = fp.read()
        assert data == content

    os.remove("out.fa")


def test_write_gz():
    # compress by extension or let `compressed=True`
    file = seqioFile("out.fa.gz", "w")

    file.writeFasta("test", "ACGGGGGGGTTTT")
    file.writeFasta("test", "ACGGGGGGGTTTT")

    file.close()
    import gzip

    content = ">test\nACGGGGGGGTTTT\n>test\nACGGGGGGGTTTT\n"

    with open("out.fa.gz", "rb") as fp:
        data = fp.read()
        data = gzip.decompress(data).decode("utf-8")
        assert data == content

    os.remove("out.fa.gz")


def test_record():
    record = Record("test", "ACGGGGGGGTTTT")

    assert record.name == "test"
    assert record.sequence == "ACGGGGGGGTTTT"

    record.name = "test2"
    record.sequence = "ACGGGGGGGTTTTTTTT"

    assert record.name == "test2"
    assert record.sequence == "ACGGGGGGGTTTTTTTT"

    hpc = record.hpc()
    assert hpc == "ACGT"

    rev = record.reverse()
    assert rev == "TTTTTTTTGGGGGGGCA"

    length = record.length
    assert length == 17

    length = len(record)
    assert length == 17

    record.sequence += "xxx"
    assert record.length == 20
    assert record.sequence == "ACGGGGGGGTTTTTTTTxxx"
    assert len(record) == 20

    record.sequence = "ACGGGGGGGTTTT"

    sub = record.subseq(2, 5)
    assert sub == "GGGGG"


def test_kmers():
    record = Record("test", "ACGGGG")

    kmers = list(record.kmers(4))
    assert len(kmers) == (len(record) - 4 + 1)
    assert kmers == ["ACGG", "CGGG", "GGGG"]

C

// main.c
#include "seqio.h"
#include <stdio.h>

int
main(int argc, char* argv[])
{
  if (argc == 1) {
    fprintf(stderr, "Usage: %s <in.fasta>\n", argv[0]);
    return 1;
  }
  // Step1: set open options
  seqioOpenOptions openOptions = {
    .filename = argv[1],
    .mode = seqOpenModeRead,
    // optional, valid characters in sequence
    // default: "A-Za-z"
    .validChars = "ACGTNagctn",
  };
  // Step2: open file
  seqioFile* sf = seqioOpen(&openOptions);
  // step3: read records
  seqioRecord* record = NULL;
  // step4: read records one by one
  while ((record = seqioRead(sf, record)) != NULL) {
    // setp5: do something with the record
    printf("name: %s: %lu\n", record->name->data, record->sequence->length);
    // !!! Do not free record, 
    // !!! beacuse it will be freed by seqioRead automatically.
  }
  // step6: close file
  seqioClose(sf);
}
gcc -o main main.c seqio.c -lz
./main test.fasta

API & Structure

seqioOpenOptions

typedef enum {
  seqOpenModeRead,
  seqOpenModeWrite,
} seqOpenMode;

typedef struct {
  char* filename;   // filename
  bool isGzipped;   // it will be detected automatically if mode is seqOpenModeRead
  seqOpenMode mode; // default is seqOpenModeRead
} seqioOpenOptions;

open File

/**
  * @brief open a file
  * @param options open options
  * @return seqioFile* file
 */
seqioFile* seqioOpen(seqioOpenOptions* options);

/**
  * @brief open a file from stdin
  * @return seqioFile* file
 */
seqioFile* seqioStdinOpen();

/**
  * @brief write to stdout
  * @return seqioFile* file
 */
seqioFile* seqioStdoutOpen();

/**
  * @brief close a file
  * @param file
 */
void seqioClose(seqioFile* file);

record

typedef enum {
  seqioRecordTypeFasta,
  seqioRecordTypeFastq,
  seqioRecordTypeUnknown
} seqioRecordType;

typedef struct {
  size_t length;
  size_t capacity;
  char* data;
} seqioString;

typedef struct {
  seqioRecordType type;
  seqioString* name;
  seqioString* comment;
  seqioString* sequence;
  seqioString* quality;
} seqioRecord;

while reading a record, the memory of the record will be allocated automatically, and it will be used repeatedly. So you don't need to free the memory of the record. At the end of the file, the memory of the record will be freed automatically.

A record will be freed when the following conditions are met:

  • All records are read by seqioRead or seqioReadFasta or seqioReadFastq
  • The file is closed by seqioClose

read record

/**
  * @brief read a record
  * @param file
  * @param record
  * @return seqioRecord* record or NULL if the file is end
 */
seqioRecord* seqioRead(seqioFile* file, seqioRecord* record);

/**
  * @brief read a record in fasta format
  * @param file
  * @param record
  * @return seqioRecord* record or NULL if the file is end
 */
seqioRecord* seqioReadFastq(seqioFile* file, seqioRecord* record);

/**
  * @brief read a record in fastq format
  * @param file
  * @param record
  * @return seqioRecord* record or NULL if the file is end
 */
seqioRecord* seqioReadFasta(seqioFile* file, seqioRecord* record);

write record

typedef struct {
  size_t lineWidth;      // fasta file line width (default: 0, no wrap)
  bool includeComment;   // include comment in fasta record (default: true)
  baseCase baseCase;     // base case (default: original)
} seqioWriteOptions;

/**
  * @brief write a fasta record
  * @param file
  * @param record
  * @param options
 */
void seqioWriteFasta(seqioFile* sf, seqioRecord* record, seqioWriteOptions* options);

/**
  * @brief write a fastq record
  * @param file
  * @param record
  * @param options
 */
void seqioWriteFastq(seqioFile* file, seqioRecord* record, seqioWriteOptions* options);

example

more examples can be found in the test/benchmark folder.

memory check

valgrind --leak-check=full --leak-check=full --show-leak-kinds=all --log-file=./1.log --track-origins=yes ./main
==1139682== Memcheck, a memory error detector
==1139682== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==1139682== Using Valgrind-3.19.0 and LibVEX; rerun with -h for copyright info
==1139682== Command: ./main
==1139682== Parent PID: 1107213
==1139682== 
==1139682== 
==1139682== HEAP SUMMARY:
==1139682==     in use at exit: 0 bytes in 0 blocks
==1139682==   total heap usage: 45 allocs, 45 frees, 151,872 bytes allocated
==1139682== 
==1139682== All heap blocks were freed -- no leaks are possible
==1139682== 
==1139682== For lists of detected and suppressed errors, rerun with: -s
==1139682== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

benchmark

For this benchmark, I re-used sequence files from SeqKit benchmark: seqkit-benchmark-data.tar.gz

file format type num_seqs sum_len min_len avg_len max_len
dataset_A.fa FASTA DNA 67,748 2,807,643,808 56 41,442.5 5,976,145
dataset_B.fa FASTA DNA 194 3,099,750,718 970 15,978,096.5 248,956,422
dataset_C.fq FASTQ DNA 9,186,045 918,604,500 100 100 100
python benchmark.py

Machine info

GCC: gcc version 12.2.0 (Debian 12.2.0-14)
OS: Linux 5.15.133.1-microsoft-standard-WSL2 #1 SMP Thu Oct 5 21:02:42 UTC 2023 x86_64 GNU/Linux
CPU: 11th Gen Intel(R) Core(TM) i5-11500 @ 2.70GHz
RAM: 16G

Result

Read fasta and fastq files with 1 thread.

file seqio kseq
dataset_A.fa 0.791 s 1.052 s
dataset_B.fa 1.467 s 1.925 s
dataset_C.fq 1.404 s 1.162 s

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

fastseqio-0.1.5-cp313-cp313-win_amd64.whl (145.6 kB view details)

Uploaded CPython 3.13Windows x86-64

fastseqio-0.1.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastseqio-0.1.5-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastseqio-0.1.5-cp313-cp313-macosx_11_0_arm64.whl (182.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fastseqio-0.1.5-cp313-cp313-macosx_10_13_x86_64.whl (186.2 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fastseqio-0.1.5-cp312-cp312-win_amd64.whl (145.6 kB view details)

Uploaded CPython 3.12Windows x86-64

fastseqio-0.1.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastseqio-0.1.5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastseqio-0.1.5-cp312-cp312-macosx_11_0_arm64.whl (182.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fastseqio-0.1.5-cp312-cp312-macosx_10_13_x86_64.whl (186.2 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fastseqio-0.1.5-cp311-cp311-win_amd64.whl (145.2 kB view details)

Uploaded CPython 3.11Windows x86-64

fastseqio-0.1.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastseqio-0.1.5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastseqio-0.1.5-cp311-cp311-macosx_11_0_arm64.whl (182.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fastseqio-0.1.5-cp311-cp311-macosx_10_9_x86_64.whl (185.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

fastseqio-0.1.5-cp310-cp310-win_amd64.whl (144.5 kB view details)

Uploaded CPython 3.10Windows x86-64

fastseqio-0.1.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastseqio-0.1.5-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastseqio-0.1.5-cp310-cp310-macosx_11_0_arm64.whl (181.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fastseqio-0.1.5-cp310-cp310-macosx_10_9_x86_64.whl (184.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

fastseqio-0.1.5-cp39-cp39-win_amd64.whl (144.4 kB view details)

Uploaded CPython 3.9Windows x86-64

fastseqio-0.1.5-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastseqio-0.1.5-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastseqio-0.1.5-cp39-cp39-macosx_11_0_arm64.whl (181.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

fastseqio-0.1.5-cp39-cp39-macosx_10_9_x86_64.whl (184.2 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

fastseqio-0.1.5-cp38-cp38-win_amd64.whl (144.2 kB view details)

Uploaded CPython 3.8Windows x86-64

fastseqio-0.1.5-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastseqio-0.1.5-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastseqio-0.1.5-cp38-cp38-macosx_11_0_arm64.whl (181.3 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

fastseqio-0.1.5-cp38-cp38-macosx_10_9_x86_64.whl (183.8 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

Details for the file fastseqio-0.1.5-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: fastseqio-0.1.5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 145.6 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for fastseqio-0.1.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0334b4ead30b09d024778999e27779e8624c3bdbb9ffc73c4fae4b492009fb1f
MD5 6fc56ce9515701e58e1f081fe72341c3
BLAKE2b-256 d432a10629d5e05b435d67fdb33ff45f0b600ef09e767d444fc5db1c94ada28f

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b57066a8c227463207aebc560ecf324eed3e1a65c60ee78ac59638c5e9fa9e78
MD5 90da1b676e7c7aebdbd93bd493f63e5a
BLAKE2b-256 70fb2c37b58340bea43dface478c15b811d28cc744392b0c9bfa1d9e9fa34c77

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1ec6aa24fcedb1d7c25889389f4f3ee7f4f2a8703f7deb88800c5ce0de5d066f
MD5 616a1db0e964ecdc44e7cac465a93c06
BLAKE2b-256 ab8139b5e655cfaae27ba172bc609f7d963daa152dbc7f0fe73df8aec7b89069

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 21fcc090325d9b40e782e4a86f673a49f3913d41227f3357aceb7c38ef28d762
MD5 d30b2afbe269c6ecc4939d342bf0349e
BLAKE2b-256 086ef3a638169cded78727d2ef5071e3433db50e2138226d92fbc906715f14c2

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 59e1134517b609981c1563a75d06c917679578588560260df2cd427d0ee3e220
MD5 3e0a4408728409aec9f98dc4f2b75389
BLAKE2b-256 e9393a5bb2969516c19c19dc390e05d288f182ec646a5ec3a11e76e17c5bd450

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: fastseqio-0.1.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 145.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for fastseqio-0.1.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 50823a2a02d2210d139c911ee287c331aa9cba49b3d466fb8ce568c8a3a80eb9
MD5 788879a638c3aca0e4b5bfa837b8a9c0
BLAKE2b-256 3bacb32d41b144b6b6a94b461ceb0ef60562767a8ebe272cd2e8be5a81a03b2d

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 881f60a32dae9a6dec4eb48bc097ea68613f5cdcaf95a6454a2da83b0ad7bbdf
MD5 0c89aa2eda986897bc059e0262569ad3
BLAKE2b-256 b1952c62bcc113e12f143a89d214ee3be116908f1a680500f569d21eb1c51fa9

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8fedd0aae88e77cf87703806ddf79912f7c7ec242110c84490e6837448b69885
MD5 1aa2877a295bf7d26be08928ccc20c1c
BLAKE2b-256 d218df5643c6808dd93a4647752d6b787d73ba4f4f236d3f7efb9c0aceec163a

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8ef31585700b412c423adabd179489bd466ec5d9a77b0d136884b5d10916995a
MD5 dce50325a69b65722e457f01ca4df958
BLAKE2b-256 db610c0a80665725d1d51fd1e154c1d9ca803651b1af57233f80aea815e1dde5

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7e0248a4a60b8f5ce101d5d2f59be0757cc06e633eddbf32fd4163297da9bbf3
MD5 d22d9c8621f96297bf8a462308ea6ab6
BLAKE2b-256 fdd526cde3f586896056fc9a861f3d109cb7e6f60295fb6ded5f3cda6eca40fc

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: fastseqio-0.1.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 145.2 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for fastseqio-0.1.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 05afb7e7d6ad0440a68dbffa399314f012b3ba3453a957368a0ad4c02dab2a0a
MD5 df77d106e4870758d6dbeea50493d455
BLAKE2b-256 7b1c100c36e588f9e78c783bf0e872f935f4b08ab6c0928067fc2f6c0b6e8c62

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bf3902caff615ee5185a088ac6f63a03674dd85e815881227e5f2b7dac9a5259
MD5 62f606f3e2bcf64053357f1d53a4d418
BLAKE2b-256 064396e7d6a9d1d1911be28440a03f219e39a11ae24b9dc32c4cb6204b013256

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d5f40d95f72ff53b0893bda1b2c1aff1d75a734f224e5749aaa7f382f83ea1a2
MD5 62b05553cded5f98caddf0475a3bd660
BLAKE2b-256 5837b31a22bb8e853220a4e15856859b08f3efdf05e996ab5d7030ab038d264a

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d111dfb170ffc16e0752101519449ee98846f7ca7704dc33c3b6a98298f053b7
MD5 249b20f0f5151b6f9a9119dafc5ede95
BLAKE2b-256 e01f3bb1aaa5c642b48ecd29c03a2f7239a30e332bd0d59bd0bba35f05075c75

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 63406272dada9c30aef7427155f67b574d4de2f18ddc30cfd2b16ddc084e07a6
MD5 1eb34027ca9383b906b4f094c229db15
BLAKE2b-256 7159987c61e36acd06d84722971d41efa161355d5fe21704455a00d276870a6c

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: fastseqio-0.1.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 144.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for fastseqio-0.1.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 827e5b47ab4be45aa5eb504f752c2ef4f296135060d18ffe3debbd756968ed27
MD5 248b2fc316beb43e1316cf03e6652175
BLAKE2b-256 c2b540e0c42792f01bd5691ad88dc1c808921981b12fc5af2ce27f6e936846d0

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5a93eae2afdf629173f947464bdf1184dcb1773c83fa1ed3ca1ac5b7132e5fb0
MD5 3cdd8a5c5d3ff9b8bb8f655df751f82a
BLAKE2b-256 f671a843d8034316d896da3ae987cc9f5a323b8146ab3b78f8d9e8d5e50e5765

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cb466e7548d0a74e5764ba198cc594c61dc5667852049818761308313dddff99
MD5 7672d3bb8f4e311161d5fd3a8cf56656
BLAKE2b-256 287726ce625f745c771aeef822dfe9488f7baa688506b50c57480bea89e12534

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2fae18c5361f39edd7fb717e261a3cc91b05afb383b3b78669ac3820b80207fa
MD5 09497253ea7914a954fbd6b4e2e7258c
BLAKE2b-256 77151759dff32d8261736621c55cb8b4c3764b2799c830a8b4a8c8611eb757a3

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 180538acb616893fd8da5ddca684ddcde8cf6a9f366c81701cceac08bee6fe20
MD5 af37f02d72b129376c3b93b5b10e081d
BLAKE2b-256 dcb421c4ff2e167f342820d22457959833025e6f33f30899e41bf915e4ce4c45

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: fastseqio-0.1.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 144.4 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for fastseqio-0.1.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2b6779b2e633a86c61da4cb48af205d87ae9e1f88bc7406ad475758ce5f89c26
MD5 dc8216d12843851b9472c4b8a3fb42ed
BLAKE2b-256 3e0ab329277754dfe86c90dcf58ed3fd0b95812ec5c6759efdd7d11e6c18b8c8

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9121e881d68924feef974d47874896daa1ea6c69e5111df122d5e767a0f8f077
MD5 e78aad9b919eb8f6d8507fdf0d286ba3
BLAKE2b-256 45fdde593d1ee1179e5852c8828100c26762db33034de173dd92cdcb111ce86d

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2dc69ab51e398475de82e4d4b753b5cf88cedcd5b5000842677acaa32f279a77
MD5 8776c02ee075fac0aa995aa46f0eb31a
BLAKE2b-256 3739b87098007afcf01f67ebe7f97601d859f30bce73ee71107bff6b5f10571f

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 35f503d90a696cee5adea88c9aac0b95901a16bd0d0b9dd2eb39259265dfccd8
MD5 f6968c75e22033e9a04c9101bf6cf9ec
BLAKE2b-256 fa3936cfdf0e45855a7a09a9ecb17f382f478a1bde313f6aa7b35902b1fb9192

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5ed605e6d61d61cb14fe2fc791d4acca09fed3de52be0367f6c231fa6dd6ea80
MD5 cd26c4cbdfa974a31d4903dcc51b6bf9
BLAKE2b-256 29fe83687431b25f17628f371380ba1d4a827be2e6f929b87ff8d63add0ae745

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: fastseqio-0.1.5-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 144.2 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for fastseqio-0.1.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 1990ef509ce7063ab0452bc1f91aa8e8ac48a100d93e7f5a98c6641dbaebf761
MD5 9797b4dded6c0f7ceecc828f60336691
BLAKE2b-256 fb3521b786882609d8d585a35a5e1acc97482a436d46407456f843f55d480e3a

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eec82c57d6a76721eb893d344dbb9f293948479dce38721f7ce0ae4ea61d4703
MD5 330d2d3a97010189f5547aa657081c26
BLAKE2b-256 0acf31dfd27c9aca4610192e300d51f93c70723d66b41c1aca327cc89bc5dc86

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2a4b08d87edca28616f1d8fde95008f62532f49e50bd59ce6291370e61c55aaf
MD5 c7fdcc833274579d47a471b08b3139f6
BLAKE2b-256 9ef7c2ef4c8ae252e1b21522d3ffd593eb76399f5bceeabc04e3beba7ac6417b

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e09e6fbf676d9a5c0df2786287c66c95bbcd63df28d71ecae09e68052f5043a3
MD5 56057f8049a068b5973681ceb141f9ab
BLAKE2b-256 5e977035336d917417aba73e7ae51bdaef54f2df466df44a91ecdf038971d334

See more details on using hashes here.

File details

Details for the file fastseqio-0.1.5-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastseqio-0.1.5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8ed6862e24c2cac8ce0ff1b8c06c0c8702e61660a3409b9b665483977d245fd9
MD5 36d308168fbc1f97677badca8182fc42
BLAKE2b-256 3ec1dca63c82b7f94f5209e228c6fb16c0739ecf79119c57b951cd16b0cd1455

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