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

Uploaded CPython 3.13Windows x86-64

fastseqio-0.1.7-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.7-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.7-cp313-cp313-macosx_11_0_arm64.whl (182.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fastseqio-0.1.7-cp313-cp313-macosx_10_13_x86_64.whl (184.5 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fastseqio-0.1.7-cp312-cp312-win_amd64.whl (146.7 kB view details)

Uploaded CPython 3.12Windows x86-64

fastseqio-0.1.7-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.7-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.7-cp312-cp312-macosx_11_0_arm64.whl (182.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fastseqio-0.1.7-cp312-cp312-macosx_10_13_x86_64.whl (184.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fastseqio-0.1.7-cp311-cp311-win_amd64.whl (146.4 kB view details)

Uploaded CPython 3.11Windows x86-64

fastseqio-0.1.7-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.7-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.7-cp311-cp311-macosx_11_0_arm64.whl (183.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fastseqio-0.1.7-cp311-cp311-macosx_10_9_x86_64.whl (184.7 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

fastseqio-0.1.7-cp310-cp310-win_amd64.whl (145.6 kB view details)

Uploaded CPython 3.10Windows x86-64

fastseqio-0.1.7-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.7-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.7-cp310-cp310-macosx_11_0_arm64.whl (181.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fastseqio-0.1.7-cp310-cp310-macosx_10_9_x86_64.whl (183.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

fastseqio-0.1.7-cp39-cp39-win_amd64.whl (145.6 kB view details)

Uploaded CPython 3.9Windows x86-64

fastseqio-0.1.7-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.7-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.7-cp39-cp39-macosx_11_0_arm64.whl (181.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

fastseqio-0.1.7-cp39-cp39-macosx_10_9_x86_64.whl (183.3 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

fastseqio-0.1.7-cp38-cp38-win_amd64.whl (145.3 kB view details)

Uploaded CPython 3.8Windows x86-64

fastseqio-0.1.7-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.7-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.7-cp38-cp38-macosx_11_0_arm64.whl (181.6 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

fastseqio-0.1.7-cp38-cp38-macosx_10_9_x86_64.whl (182.9 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: fastseqio-0.1.7-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 146.6 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.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1cd5e93379e9adf4a93219313656186755b4efa66a34994e661b14316790363f
MD5 0e3dd0b3deb86cc36074b76eb573e30e
BLAKE2b-256 e1562368c25c331dbfdb3e3ae828c8f18e554af31adb0eda4304b3f79bb43975

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e51a72cfe09dcfa6b7eb5982a212ab082c6a0d3c130c8745208804ecf968bf66
MD5 316d6665ebd2983eb568a4ac0d92eb52
BLAKE2b-256 599c446cc70b3b179d2cb48d11c39576b8a088764bb60c64efe731c2547f3fcd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8fb7e71d0315f79545b503f47a12c3a07e526a3a1f9ed867027c4e59e16c9d34
MD5 87b05814c27aa45bbb6467813877bfde
BLAKE2b-256 797119ad77f7bd4472b65ee1f638e4f6306a2a1713fbc315da1c50f8a4d2fb95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e0bc8009693f2f635e02595f841ddb203d9a77c8ee17bb28d45f66120c3130c9
MD5 4b5b7d549889f0b5d00ff54665e128a9
BLAKE2b-256 7ae2f2bab12906311d8b25a8e84c1859fa0d936cf290057a9103b29de8e9564f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 22f8961bdc841747fabd114c6d537c6e1d6c70a409389c31c9da0cd9f2137b2f
MD5 0eb24cbba8e5712e35abf6b73ca35338
BLAKE2b-256 e3551b63fca0086fddd7421f3c040e28424816fa4079156d80db88b17cc8873e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastseqio-0.1.7-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 146.7 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.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e62857337a13f09e610e1679a321e7257e978fc09b8ceae992f5390c27da34d1
MD5 8a756ac3b98599805186e89869b061cb
BLAKE2b-256 8bce9b93383206c93b8e92da07a5b33d96602f710b4c47f5c7ce8cf6317f4683

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c2fb580cdb2c22d201019d5dd84d0fc1939e029233585eedfe02d6afa67076ce
MD5 82056b1b8518005e94836b554e5f383c
BLAKE2b-256 508ff691588ee3c040eada6e252af2bd9266911269efb96781e5007b86147606

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3aa8c0aa33afd37c8066e51909151749711cc57f96a98e898d426b6e382d3f19
MD5 1012807dc10437310598ef32b42b83ee
BLAKE2b-256 4e3253ef2d77999cf6ddd984e57449dd5b6271a026e4d7fe4ae7fbe070e2c4af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 411062430ba85fb7dd1ce15cc064559ab2092bdbaba8b3776ce31cdddfbf243f
MD5 3fcbfbc5a6bb51cad6d04ced8d286716
BLAKE2b-256 0caa75daab691d2323e5fa45af0214afbd15b03ee3decab0285a5a530cb704ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 891e7e17d19309cdb3361fff0d1196838a6d503ea7fba91f7875a7b0d7eaa750
MD5 db78b19ff5fee8f13b09acef7a3811bf
BLAKE2b-256 5e32ea7df4f1624df9c82892fbcc79bd18b9914e9ab65ae8ea5405aad5997bd2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastseqio-0.1.7-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 146.4 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.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e0cf12f9bfc4b8079e0c86c544dbad07ba9123c69d0d9526a7747a50fb829257
MD5 57681ba0f8b987cff5ba85b1f28338d0
BLAKE2b-256 4c2124ebb28f2fd8e2cd46b53e784102ea34ca0494e561087d0b66287b90dfdd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b635ac7b2f2b06612c4262f463f8ecc24ab97ddd24ebe9935f3efb0cd4935437
MD5 a90ba04fedd5a56f7e664840b94b768e
BLAKE2b-256 2a4195ae65765fcd45027ccb3b56ad6d3f0f05755de3a154269a9e16271bd191

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ddcb9c3b8c248174aac1da2f2e54fd71a364e378e6a19acf2e17773914a1b44e
MD5 49c3406a5f21c994ce7ad19b7d652bca
BLAKE2b-256 66f63d1b4d9b0ebdead6bf680f1d67a6947e0335c3bc112cb10d436b821fff8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5e9ce4b2f1ef7cb838634ff9fb491a2085947388a7eeda950e380425ed554720
MD5 dcb0239bb3da447a4656334ba600c359
BLAKE2b-256 985a4d77712139e65e305ed1730e9ba69e90aa26b8c83a2fb35847a9c797ef44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d3278e0cca280c4ca4203af1cde76f48a310910c57d581bdcbb06d058a3f42d9
MD5 670eaa0046b63339b761ce0662b415dc
BLAKE2b-256 3e978edf05a81a12a7bfd4179c025172eea501a3144f1d5642764f4f696d7d43

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastseqio-0.1.7-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 145.6 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.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1c1338b3adbae3a7921d3b492649326488ea31b489329e7e4532df079b7ff946
MD5 13584cc297f010da220709ef26788066
BLAKE2b-256 06ec66a912766576096a10405920965042e83981eb80cb241e1b9a2a96e1ef77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 32781a0308f841e7544a87d0cc1bd115ea00f31f24e6fdb202a06dab2a434100
MD5 809e37142a31a02fdd771551bea31f05
BLAKE2b-256 d842b564761b7c3ea75641c335bbe686f877c1e9fe611230844cbd50b24d598b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7305168a6baa435e5183ee70bcad6937d59da644cc6357576c834491e890d754
MD5 8cb6a27abb0b8a36431b42081f5df913
BLAKE2b-256 0df1479eda3afd8fe324eef640800242720844cfe91172c8583fb41b25b38b65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7e18364f2efed14d954a48905385febc4d8506e839af9975443a0d914a885028
MD5 0c2d855b1d9de3899f24e3fcde84a8e9
BLAKE2b-256 8b323583eae551b747921ae59fea3259d39312e8a7a1919a98d56df9eb486809

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b87d1939b6bcc16925bff89dcf121de992e446a8c7dbed3fa55372c95bab6bc7
MD5 71ad6056127fef3dce379283d962c386
BLAKE2b-256 dcdeadea0bc8851fd271f6199808a46618e214a0c8cc4b3d80112df2b351ab2d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastseqio-0.1.7-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 145.6 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.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e1a0d720a3e03af1dc1b55b4c0f9bbcdace57953baf9907c589bc2d604cd9d66
MD5 65109f30e0f9c680e3e26e903402f04f
BLAKE2b-256 913908f6c242621d853536454a1514a3d2cc5b52978df4faefd23f4f3352537d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9a1bd0733c335363ee3fc300a51ba9d2afaf63043016e86c1e88b7282bb03f2e
MD5 3ae7620dc35bb9c843520d6be2263a44
BLAKE2b-256 4e52fe601c543cc04348224b428d2ad271ce87dff4368d8edbce547e510d8d16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7d0df672ed6f12e013ca4feaff7310e72172b62e118c419ab369b3a6aabd5f2d
MD5 955b6a80712c6215f4ca450bada92500
BLAKE2b-256 da07f49a56c517e287aeae06ee4f70c3817d3abfe09f90f5af81a92c877d2134

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 681f1055363a190d13ccf1a1206e9d03a9efdcfe255a79620e5060c339304a49
MD5 43f3201e16379f5c73adda6f462f86e2
BLAKE2b-256 f1b26c0972ff8c62b73dbe5b823b4a97608dc7224951031d309943dc490d102a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 607f53e5276f0e5c1e3a0589701d8a3b918a5c7d0a97422d371f8c5c0b1b3ea9
MD5 d70d0fc9d613be5a0f0e8ea1f77f0467
BLAKE2b-256 b37b16adee8d15c122be5b75ede7f659fec4a85b9285c511ed33ed4c4f4e5c56

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastseqio-0.1.7-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 145.3 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.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 8e1e27c5142d50676d67e8f0d0b1bbdf153f41cc837d86d84f7ac61706dbfdd4
MD5 9eccb94eb6e7a9005678a2a233bd74e0
BLAKE2b-256 797c5300aec9f80b5eb28a253f816f46d9a2bed48b5b327c94ec3093dfd20948

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 575157d9a4ecfb83c1c8efebd15e5af48a08d66b7b503ae95098bc2194af6ebd
MD5 cdf6a7f5e6c39e02689138995c913915
BLAKE2b-256 4919cd5624f11933857fefab843f199eaaf59b6b29a093f9c8a767cab5b396f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cae946e34b6dae60675fcb41287864ca74e60a235ba9d81278442cd23e2039f2
MD5 3f772fd3ac08de552c6503de465ae6fc
BLAKE2b-256 a7f51f8ddd13c3dce531ea4c56b245a330d955d0a7d1e275134789745ff672c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ed789e81c420bf0577d6bca51289d32b4567b61d3c40334ef742267ac0be4d51
MD5 946a75fc5a265b6cb7d22398dc0b44e6
BLAKE2b-256 e0d8ba2fa0015120308e994d6107dbd8b446eb653356b6d7d105f3d2d25d858a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.7-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3354f0ff5f948307c1385a66abdd959719aeae5adaa651a17434d86fb160a6ef
MD5 9229ed7e43d5be5e184fb88b1ffd2095
BLAKE2b-256 1c5c2e774500fe19c3459dfa1523bd34569592731f0b9ef167c8a06baa0fe7ab

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