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.6-cp313-cp313-win_amd64.whl (145.0 kB view details)

Uploaded CPython 3.13Windows x86-64

fastseqio-0.1.6-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.6-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.6-cp313-cp313-macosx_11_0_arm64.whl (181.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fastseqio-0.1.6-cp313-cp313-macosx_10_13_x86_64.whl (185.4 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fastseqio-0.1.6-cp312-cp312-win_amd64.whl (145.0 kB view details)

Uploaded CPython 3.12Windows x86-64

fastseqio-0.1.6-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.6-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.6-cp312-cp312-macosx_11_0_arm64.whl (181.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fastseqio-0.1.6-cp312-cp312-macosx_10_13_x86_64.whl (185.3 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fastseqio-0.1.6-cp311-cp311-win_amd64.whl (144.5 kB view details)

Uploaded CPython 3.11Windows x86-64

fastseqio-0.1.6-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.6-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.6-cp311-cp311-macosx_11_0_arm64.whl (182.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fastseqio-0.1.6-cp311-cp311-macosx_10_9_x86_64.whl (185.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

fastseqio-0.1.6-cp310-cp310-win_amd64.whl (143.8 kB view details)

Uploaded CPython 3.10Windows x86-64

fastseqio-0.1.6-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.6-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.6-cp310-cp310-macosx_11_0_arm64.whl (180.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fastseqio-0.1.6-cp310-cp310-macosx_10_9_x86_64.whl (183.4 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

fastseqio-0.1.6-cp39-cp39-win_amd64.whl (143.8 kB view details)

Uploaded CPython 3.9Windows x86-64

fastseqio-0.1.6-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.6-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.6-cp39-cp39-macosx_11_0_arm64.whl (181.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

fastseqio-0.1.6-cp39-cp39-macosx_10_9_x86_64.whl (183.6 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

fastseqio-0.1.6-cp38-cp38-win_amd64.whl (143.5 kB view details)

Uploaded CPython 3.8Windows x86-64

fastseqio-0.1.6-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.6-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.6-cp38-cp38-macosx_11_0_arm64.whl (180.4 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

fastseqio-0.1.6-cp38-cp38-macosx_10_9_x86_64.whl (183.0 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: fastseqio-0.1.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 145.0 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.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2dfbcc15bd0126644467f68cddde80cc2df1a631732af5549748dee2a1e05b6e
MD5 8daa085553daacf272912b614032e27a
BLAKE2b-256 a49d3dc2f1e7de8959c43644c91a4279c75fe3daf2f8898c40b3c8dea226246d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3f49cc365bf22a96d1d94fd5dae27d04ac5e33c49a0f8f43bab3d4d6536c015a
MD5 c9e251d29bc74062bb2e3d4be4d4f293
BLAKE2b-256 e365b028b638b2a217cbeec2a66bd4d10cf6145ad4d79ae82fd02a4345da9635

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4f3a7088acc47b88808d9705a90d9e64b88ebd193846805acb3f7eb5a89f5ce7
MD5 f551a571238c17e69ae66b2506f8827d
BLAKE2b-256 76ec8815ab88f368aa9477d4113412c502dbd8c91e518e73066f1051e0f67098

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5ec8dd9b0b64c16ca373e498be14494a1198832260f954afa6d6f178355936f4
MD5 00f71bdd5a555cb7d696f9eadad96b75
BLAKE2b-256 ef964ccd4342e32d4e7d393f430349afd548c69a6c323e19acda85ec38df5507

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4366a19547d7f89f22258643d1c4cd2f6fe2fb4d7d6b54e8be58d8356ae8774e
MD5 f83dd97d1384e1eae43557ad54c3d6f2
BLAKE2b-256 cd83ad0ceb1dfa8fb66f91988e2b0b3a3692f1c7988523f356b248a5142a2dbf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastseqio-0.1.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 145.0 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.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ff1d84c5f87fb2e93805f80d582ffb834bc1d904dbf1dfeda4a7bfea8857e784
MD5 7889ad1b2473804292e2032325f25215
BLAKE2b-256 8086485d6005abfc16cd3207bd9ea725a88ada59371042b63887a6999d2671e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fdf2e0473c779c1dc3def42b15bb18cadcda30335f5203a63285a7d62d7723ca
MD5 cb6de0e29eeafc064787d50fa094291c
BLAKE2b-256 d83b72a050e17024fc39b7074743509c5044b436fee04e313e90b63d945bb5f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a3419a750803d5c8add56b95aca1ccde8453c2e011acefc14a65e28a4d03ca9a
MD5 4eec0e970220ca00ee0dad3329982990
BLAKE2b-256 06c37cdfe2a7503d04f9fcff7d9fcbc05c85db76462e5399944d2b92f564b3fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 874799a4de248b41062b9fbdd380dbb26ec83012717b851696534db0eea16623
MD5 52b2dcc361bdd4827630439605316393
BLAKE2b-256 48d875c7808697f82378a2ef1ffdc28c2a165867b14e742631d447ab37f0fc32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3119ddb3be0f58783651bd87b9b0da6ebcfb2ed91d548f2e45b0db968931b807
MD5 880a02c48f11bbf68779aaa6ef1c42ff
BLAKE2b-256 f178a11d206198ba9fa7c63f694c59148cde696e3ac360f9f5af08d11f561dec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastseqio-0.1.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 144.5 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.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 13ac759ca432657c6191bda5294bb883c36dd9ec6b82996f3ad98a23e85f3343
MD5 397b3676b74ecb333a3a8d1086e4e35b
BLAKE2b-256 a8993740af050d27e10a466b47c1a9c3b12c6dc14d8e07b64599a473a7aa3dcc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2d0ac3a2ef67b4cf8cd16f5d6fcf1339a6bd924d7345354b0b7c8e459b1ef5ce
MD5 b1280c441e870a7ca5920547fa957105
BLAKE2b-256 f8e7cc8e88cf13b4dd104a072a9891f03411240ca166f850f1e80a39cd092e84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b7b24660d55bebe55ebf0c0a0f5958a55652c693840f7954361f33b83baf668e
MD5 0212bea1c8780e4a825c9ab2b39d52e9
BLAKE2b-256 8f7ce77d823498b8d7840cd5bfba904c312bbe9fb2d890c3ef4ee430806f3ba2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2af5002e56a4504314e680ce739d5c644d67292f038c3b21d2af09fb0184e5c8
MD5 85245097e817fc4b5f8d085fe7c3163a
BLAKE2b-256 bf0d1d4a62e6c7d8910963ccb9f198fb1477cf017c9417c5033fda3133aeca5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 65cb89c7dc44d7d5e7946300f35a889120f66ee41db5f3e41d4f38060ef1b030
MD5 6e5092d85dfd97caeee43aef63113c5a
BLAKE2b-256 6282214b1f8b2de3ca4f7b2e35b967d56ba25082c523a7cff4163b421e6a3bb3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastseqio-0.1.6-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 143.8 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.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bd64b7d88fe489d9861a986607ad9f1c8e04f7fe2885c6ef843ea2602ea3a5d0
MD5 da304ba7c154c5027494b1ea5f973350
BLAKE2b-256 acbaad2a649b73b5b35b3f45ae40b38e2054d1747f70b9bfb2c32b38e2e0c4b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 07b1a6556ddb706bb4b0d2a35b3f84a3a73b9f04e0d64afdaa9431eebcc3061a
MD5 66999dd1c64c5e3aa3217e594c64a11b
BLAKE2b-256 9e181064157f59f1d62acbf9e1f5321a76d7649e76ba83a7174d56aef1ac3b4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6c717c19032965683be2ed28a731cf30e02e7fa4ca741097a5feb8ecbd939d66
MD5 b8862102c05f52bae7e3361f46539dc6
BLAKE2b-256 c98b12081e3aab523ee8db98cce072133dfb3ea78a71d5f0e972491504289320

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 94b78d4be5df879dafc746214cf2c5b2f6acb07237be3aaf984121c1779ab86e
MD5 1730f2fff6256b711b3a7878794ba6c6
BLAKE2b-256 321c8dbbcf233160a96741549200e8618a709a471d4e44fadf337c010b2174fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 582ab4e7b038656bf8675eaceca73accc837bda42a71ede46b3bffd3d23e5d13
MD5 52617b2859978b37319d51877733e39a
BLAKE2b-256 9331d8e1b7c3619c07bc8417648db567c45cc2e89dd31e3b1ccccd8e8fbaead0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastseqio-0.1.6-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 143.8 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.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 cedb88d4b77500d226e8ed4a437356e3ebead5a566c6ca356f5809eed3db2596
MD5 43966775468c8319d70baaa5095ec996
BLAKE2b-256 06c124ea34382f030d93146d9db1a56655e2e29de0a42cc8bb474d28e2ff962e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 28b511675bf311e802ca6eeb3f35629efd9e3e481c4dc28c5a1e547f2fe9331f
MD5 09e8915edee5282f25c5cd3fbcbdbcf8
BLAKE2b-256 150843cd26b89fab7ff844b6d238120cf778c9c0fbdd09d68e076685218c9f42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4e393327dc328c2ed0f7cfe5ac3458c55b3656d016716aa94442b1b2e9d46d19
MD5 0de9c25021cb1f2612e0d8d1c1b34f7f
BLAKE2b-256 8b76354e0815644dbd66c6d1d204828093b53624cf8c1fc6d535b5a9d0ade8d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c933302b09e999c9f3a11e55d7c888bbcd0aa955bf8b48e9fc57586a851d8a8b
MD5 6371ed8cade4877bc0b154e57ebddfbe
BLAKE2b-256 098a41e0be4938a287687cdde3bbc2bcff0c3d3ba28df184d0e1ccc32ad608d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cc89fb9846b67460ebe06d423dfe58389b5eb89b74de438e2e72d9982587bdba
MD5 70c0c1e5e319895fc3f55b7792e65d4a
BLAKE2b-256 c13a9eb13f61b4a7b76a0fa7440b5112491356cf1ce3878441860a064235e82a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastseqio-0.1.6-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 143.5 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.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 de37c8e4a98bdc81177aa5e3f21841b93fd09f3e0cc63f6854991c1f514a2c54
MD5 d9d937183776858f8409543521dd4567
BLAKE2b-256 073f788ddab89d1b5f5725ebfd9270b10434596d886b8ded62b810938db3de0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 512fe62063afb5516ad0a4d141227135a2124e6ea2cbf510fd05f242488442e5
MD5 c94e7b11599acdf08aca3e6cbf5fb1a6
BLAKE2b-256 083d2feb60ef7f7db7f9dc3085a13defd2110c6b0f3fa79ce1aac127134b5b10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1c52326295e09580ba7cb0af04f926f38b0e13ce5f3dc336a19a083cb0340df2
MD5 15a3c9cb67605bca118be0c84c01646c
BLAKE2b-256 9fae95ab7d132fe46cd21de350f3e96b4edb8bac058ca3cb560ca2f789c45479

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6bde593089f7697e0942857f06f889fc11960a69638f185d1399cc84ede2ab8a
MD5 12f04357efbcebcd5f2f525fe90a1caa
BLAKE2b-256 918fc744516a8ea99b6935a254a6f4c160b1ee7d71068fc16224ba742fe5e6bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e3342396cfc333656edc15e86b1394093f5530d9b0b705a2450fc92a4b197b8a
MD5 57d7686e2f834a8ef2fc4e675df6faca
BLAKE2b-256 da2a3267866d140b2abe77c1647b39b5b4532001dec56ec0123d785013f46a2e

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