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,
  };
  // 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.10-cp313-cp313-win_amd64.whl (146.9 kB view details)

Uploaded CPython 3.13Windows x86-64

fastseqio-0.1.10-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.10-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.7 MB view details)

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

fastseqio-0.1.10-cp313-cp313-macosx_11_0_arm64.whl (182.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fastseqio-0.1.10-cp313-cp313-macosx_10_13_x86_64.whl (185.0 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fastseqio-0.1.10-cp312-cp312-win_amd64.whl (146.9 kB view details)

Uploaded CPython 3.12Windows x86-64

fastseqio-0.1.10-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.10-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.7 MB view details)

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

fastseqio-0.1.10-cp312-cp312-macosx_11_0_arm64.whl (182.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fastseqio-0.1.10-cp312-cp312-macosx_10_13_x86_64.whl (185.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fastseqio-0.1.10-cp311-cp311-win_amd64.whl (146.6 kB view details)

Uploaded CPython 3.11Windows x86-64

fastseqio-0.1.10-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.7 MB view details)

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

fastseqio-0.1.10-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.10-cp311-cp311-macosx_11_0_arm64.whl (183.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fastseqio-0.1.10-cp311-cp311-macosx_10_9_x86_64.whl (185.3 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

fastseqio-0.1.10-cp310-cp310-win_amd64.whl (145.9 kB view details)

Uploaded CPython 3.10Windows x86-64

fastseqio-0.1.10-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.7 MB view details)

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

fastseqio-0.1.10-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.10-cp310-cp310-macosx_11_0_arm64.whl (182.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fastseqio-0.1.10-cp310-cp310-macosx_10_9_x86_64.whl (183.9 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

fastseqio-0.1.10-cp39-cp39-win_amd64.whl (145.9 kB view details)

Uploaded CPython 3.9Windows x86-64

fastseqio-0.1.10-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.7 MB view details)

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

fastseqio-0.1.10-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.10-cp39-cp39-macosx_11_0_arm64.whl (182.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

fastseqio-0.1.10-cp39-cp39-macosx_10_9_x86_64.whl (184.0 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

fastseqio-0.1.10-cp38-cp38-win_amd64.whl (145.6 kB view details)

Uploaded CPython 3.8Windows x86-64

fastseqio-0.1.10-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.7 MB view details)

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

fastseqio-0.1.10-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.10-cp38-cp38-macosx_11_0_arm64.whl (182.2 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

fastseqio-0.1.10-cp38-cp38-macosx_10_9_x86_64.whl (183.5 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for fastseqio-0.1.10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b253d4de85746d847bf922668bbfb60a104fdf4321838891fca86e2008bfe05b
MD5 f2f8d595e189675e0c9f4bba3ea09eeb
BLAKE2b-256 dd2990e12807fb65266884913d799e84b0b1df8493c5c8af09b6c0809f885728

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f55b7c1c30aa523f78426ebcc55939456ec84ef24193a101587ec64407dd6d0e
MD5 321fbf96ad1789582aa146405ad70484
BLAKE2b-256 75fdaaaeb6c3f9c8628b26bb51bd3f2c48ffcfad3014c0f0be3c5112721eda73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f0c5c5809aa082371e5bd5a0c4c613cec1ce08fee9e341cdb6160412a65b8b0b
MD5 b7166f629ae03682fcab8f68be0d840c
BLAKE2b-256 09e02c505bd634ab21d0dc1a41eee71c83b4e46007be949f87f3e80ebccc1f01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cb29d181e3551421914121bb584347aa6b378d5295c8ef14de1ab25df40f624a
MD5 067a22c16a34c2efb768be6c1766bd6d
BLAKE2b-256 a7472ffe10dfdc7473205a8275521cc645ceb00b6afe8cf679535343726a8f9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0bf0d64a53cb42c03be9c19e606235c0fb1d243a90fb88b6e7dd22f892c86d0f
MD5 9d11fa63a9bd894e3bc2416e72b3f164
BLAKE2b-256 f292e81654ebf5329eb516c9203284fad8f879231981dafc9e31c117d9f7a85a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fastseqio-0.1.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 401023ce0504b45ebe83588a9788412771881ef5b66aea6ea9fdd1a0e1fb3e82
MD5 1a589596874a4829cde0ca8c968a224b
BLAKE2b-256 c87a30c2c553571bfac7c40143d573934003ac32cb43b3257b301463ea12e26b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5dca339e14806380050f9250fe2dbf5b8f219039a8523e70d95813be4a79c8c6
MD5 31891f52998402d94c326902c468cf5a
BLAKE2b-256 6fce0c03ad54c30ce01db26e0881c1aa20ec6c6a60c4f9c2e168d867ffe914a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fa3d6e22d375b4e88c2b9f7fd60d2bb6b0b9cf2997e501a26f3c2aa5512849fa
MD5 7411f6597031578e15296895ad0b8f02
BLAKE2b-256 256807a5ef3a6089c45915f02d740e55956355210d9c9f9667f84bbf92588c71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 afd2e496d2515938c74c0593dbcd00f3561d0f96159cc50ca18109066cceab86
MD5 20b3307e3b444cc3961fb9081e6deb42
BLAKE2b-256 b28766fcb43d29f0caf5401a48b17e4bb379db56fc715171b39f29e1d5c1fd42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 695f479429e86c40d618997a14160498744d3f4b248267350556e66df2e8d73f
MD5 9c268e4781a9cf1cbad8a18816f70ee6
BLAKE2b-256 255aa7c18d751307d6fad3b752dd62a7379b81e5c13daf0176b059f9019588bd

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fastseqio-0.1.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2fae20c52b9319b054c23eec9ea06842ec68d72b95d95813f1aee48735fe7627
MD5 25d0377e9f35a0b13addb8ecdc2dd15e
BLAKE2b-256 4cb3e8876b543d2d5d07c29cfa8107ba8646d066df4795528cdaec48720e5d75

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cbc4b2fa5047e92a8ba77885d4e1fb53d4f7bf67f84303742349e551961fc9f9
MD5 e5150dc6522a32d8662036eb905dc9c2
BLAKE2b-256 bdb8c104a10221be799bbc9b86fa844285f0e2744f7c551cbb0f06ffdf16fc33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fcc00c1920e2ead22e5c0a63295c9ee7ff7f95229e229c51e9dbdde6fe74c34b
MD5 f2895f5fdec05f83b82d141199a19556
BLAKE2b-256 158a5ce0d627a421b96645e01a99e3bfca9276643a17741a605602559ccc9b0c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ba4cdb21b896f13ba21853a3de57a6e479effd48bc9701864654af1ee930a89
MD5 15955b87b2d2d8533633ad7d435be330
BLAKE2b-256 6998117c0079d1d34a13690de9c964edfa678dc3d12af973bb97adfbf6803771

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0e05cce207a86b577d405771081e184fa6c2bc5954b23488dc4add620b47fce9
MD5 f37c8d44093c59547fa9563f606100e2
BLAKE2b-256 5459fd0abe740fde154fc9cdb8cf7a1f6aa7be63bd542ddf09bf677606105feb

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fastseqio-0.1.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 439ecb362ada167ea90bfff4e0758a021dbf55522f3629fb45f71d89ac847800
MD5 3b5496cb2c4ee02650b659805d3e4477
BLAKE2b-256 5782f94b26e33af8ac478a67bae4f4607ef1cdb6df3032c97127297212941941

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 935cf3e47e938e4c9c9ebe8f540299311ca73869c2c2e234188e81ff15514cdd
MD5 981f1d9a075db397034fc4429b2833c7
BLAKE2b-256 29e4d81fdda3b43e2a8ab2a4aab3249745ea75df6529223af9d89dd8a2c85fa6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8f094dfd23400e94131f72d630711e10a42bd9e61f49e9f2bf7a0f1a5c511d16
MD5 ece1fa58d6f79fef0bbb522bb900757a
BLAKE2b-256 7967571761972f38f03cc92f387b9c26a9a7048f31c97566847b7b557e8a09c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9e4aef51b21b6b1d51bea6479b5517d56d8753dd2cabbaf9d1b5e3ae95e75019
MD5 9f5e5cdeb34fe7049c38fdc985731bc2
BLAKE2b-256 c94d77dce61162dddedcb116b1434dd6f486fabe2626e673bd58ff17f20529f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 89c71fa3d2cb5dbc68065a8af9bda44157901e8333142b3ca02ab7b4f46ab46f
MD5 6f4a1d6b991b4e0e71abb35e5191cb8a
BLAKE2b-256 276db087af2a4c0684e929ced060062bddbe758714f63cb26223d6aec271d976

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fastseqio-0.1.10-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 155cdece87864ed9826bbdb0f1da4bad656ef4241f832c02106e6b7d93993d93
MD5 82ac8a2ba137c257da74d771ea8f6b0d
BLAKE2b-256 18825dd420eef8b46342b51b87c20494a31c056838de66367d539fd490630855

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2b2768d29b06ecb4d5d56ae5dd04bbf0d83400358d021f0a93a616eb2c62c982
MD5 68e7b17f5cfbd9f2ca93d39363644a1b
BLAKE2b-256 e9317ce63d697dfef85703d5fa902fe74966beae128de488f370abd84bc88d28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a7cd44a4fd793f0e74e0e7f14299d764c4bb58071194399be3573cb3204a4d9a
MD5 a2d8cce5585ef0be29949106df9b143c
BLAKE2b-256 1285bbc26b6c956823c7f486796d8cd461b135fc95dfce8a1d913546e8c76da8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 73e1d0511fd8ba57b5af876b78bc52891b3ea309d94be373dfcdd2796828a9cb
MD5 e6617289a4bd3152760cd48500559a5e
BLAKE2b-256 be9a55432d0067c347171e58d2eb91215b1546a7384da85754230d8bcf6c4232

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7d63d2fa159317f1ec48916391dfc5f162e5c30cf62899ad24017c2e6f5c5d36
MD5 f20750e2e9cb03c93e1677f5f8e0a962
BLAKE2b-256 87e56002d02535e3d6f545e4f2d7bb96d358c2d91978f42ef2f372184c823189

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fastseqio-0.1.10-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ea6a9790b7f3b4ddd379d892cc6e8ed6500169928887477836d13790a14a4e6f
MD5 12c7deb5eb6f792e760ae41eae7b5f50
BLAKE2b-256 1e3c30094c9d086fd1dec4f6753812f3d6e84948ffdc432077de3cf3337b81c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 93ef5182d8a99eaca61befcd727d7dc18f904e836a9b484ac3d00c96d2a51a6c
MD5 e8a6c45cfc9d771d31337b119e79afbd
BLAKE2b-256 6eb73ecb8bc6d3013737042977266f98486f85e95b1ab0dd61bac1a1c585bf33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a9a2da0c1567764e3963ffcb174295f617e1611a0701d587b2e006ca7fe45d82
MD5 790763e2b130a297ea3477aeea25f466
BLAKE2b-256 8d123cffb283c993b65e8dd3b0a6e9634ee1c576562d47cde08c6061dfc96677

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 74d67c683cdae467f510565c8b1ad8f713e80d8c6c0a178293de4043e9663724
MD5 9459dd289f43cc9837985d5d90354ba4
BLAKE2b-256 434916d123095f6adf024558652d81efd48b16641027640d60ae561256c2eed2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.10-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1d0a0f98cf0879ff5b0b7f733a683707db0e3ecf26f0308a3cb1be5fc18d8ba9
MD5 87c7d5f6260be0bc5ac7ca4d20a094b0
BLAKE2b-256 b5aacf7a9d0f1e5ebf0427a309adc34db63fd08523c0732e48c90c6a2fbf4d3b

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