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

Uploaded CPython 3.13Windows x86-64

fastseqio-0.1.8-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.8-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.8-cp313-cp313-macosx_11_0_arm64.whl (182.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fastseqio-0.1.8-cp313-cp313-macosx_10_13_x86_64.whl (185.1 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fastseqio-0.1.8-cp312-cp312-win_amd64.whl (147.0 kB view details)

Uploaded CPython 3.12Windows x86-64

fastseqio-0.1.8-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.8-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.8-cp312-cp312-macosx_11_0_arm64.whl (182.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fastseqio-0.1.8-cp312-cp312-macosx_10_13_x86_64.whl (185.1 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fastseqio-0.1.8-cp311-cp311-win_amd64.whl (146.7 kB view details)

Uploaded CPython 3.11Windows x86-64

fastseqio-0.1.8-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.8-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.8-cp311-cp311-macosx_11_0_arm64.whl (183.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fastseqio-0.1.8-cp311-cp311-macosx_10_9_x86_64.whl (185.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

fastseqio-0.1.8-cp310-cp310-win_amd64.whl (146.0 kB view details)

Uploaded CPython 3.10Windows x86-64

fastseqio-0.1.8-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.8-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.8-cp310-cp310-macosx_11_0_arm64.whl (182.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fastseqio-0.1.8-cp310-cp310-macosx_10_9_x86_64.whl (184.0 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

fastseqio-0.1.8-cp39-cp39-win_amd64.whl (146.0 kB view details)

Uploaded CPython 3.9Windows x86-64

fastseqio-0.1.8-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.8-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.8-cp39-cp39-macosx_11_0_arm64.whl (182.8 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

fastseqio-0.1.8-cp39-cp39-macosx_10_9_x86_64.whl (184.1 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

fastseqio-0.1.8-cp38-cp38-win_amd64.whl (145.7 kB view details)

Uploaded CPython 3.8Windows x86-64

fastseqio-0.1.8-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.8-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.8-cp38-cp38-macosx_11_0_arm64.whl (182.3 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

fastseqio-0.1.8-cp38-cp38-macosx_10_9_x86_64.whl (183.6 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: fastseqio-0.1.8-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 147.0 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.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fc2fcce77ce1df9ef02fc1d36e7cf517f6b027a74046e001c06a24f4f40641bc
MD5 c806077f6a93b2956ecd633a1d6f6a75
BLAKE2b-256 20aeca5a5e795051d87a1e2818c83a87c1739632f0f7f50526dd36c0002d239d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4a8e38ceab35429d6065ef9160a891147e0327c6c232cf896a7685a3189346f0
MD5 071d49efd152aad2b63f50e45c9d2a81
BLAKE2b-256 5fd4906e053ad6ab60d03e52aa0bebb9b822ed6aee4ea0a5a75446d7f643d6a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 26c9090352790fda0f6b45c8e98daffb773d639040c5ad569718b5a7f2e1f96c
MD5 6bba2d2d02a2b9e5a5c241f3ff78f0fc
BLAKE2b-256 22e9d8bdfb60d32971383cc873045f7341c6044fd3df41445072e9fa7136b3c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e9eac70c56f9888bddda03ad8414937fb3a1a7a17d8a6c5ea648fb59262139b8
MD5 b61ba25f731ba1989658de2fc51fdaa9
BLAKE2b-256 89e1f19ed6353832f5da0ed645b3fa8b9d781e3a5abf9969eaa0ae7340d240e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 fb17c5ec90062c858fb40b8197cc8bfcc7a3a6572056bdc81157fb64c9e956d8
MD5 a67fcd3e58b75dda94c7fa969a5c283a
BLAKE2b-256 df15ab9fd2bf6a64c47686d7ef79f7dfb030d59280b9c213fa56962e00a0d404

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastseqio-0.1.8-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 147.0 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.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b1c1427b44cf1d01f9e8b784f41e848a0e250a60ea445eea08d6221725b118ac
MD5 ef65196112c1732000d472d9f8eb8007
BLAKE2b-256 b36e84342d9d755f53cd278d562ee0d1412dbcf9c38069d2afe8f7a275e2f2be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a68349b4da4ff02999e805e166c2836f170f797a89504b2931f6de810fe34a7f
MD5 f1bd8265fdef75262acdeef3e19f9e14
BLAKE2b-256 f01d6fc786fd7907e61950dc4d58378e1ac9a4148d709e81853c7319fea006be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 56df2219b408e33ddf1e307711a817dd45935bd12a4aa29e5de9cc2c5c87df7a
MD5 3030bbd147ca8f9efcb4855fe2648509
BLAKE2b-256 31f2a48533e0ded70af5ecbc5d50b7f2b3fcbff9ef44248a3aaa9a3e71ad85c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8ad6326df4f914ac4fa24fa193bac2e9c987f262e9b79662181ba480a20f1c75
MD5 ea6911488a6634ec96ce2706041a29ee
BLAKE2b-256 b0711434cb5004023bcca5d6139fdfc5e2005c8f1082ec8205ecceaba907ae06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d0ccee3c87fb3632d8ed77cdc5765aa6dd936d844975fa8528e65c26e4938529
MD5 40c907dc1f456789036e73835dfa4aac
BLAKE2b-256 7890d2ee8ba23b926f2187afd37ca694b8c3cebe4d78f06f8b5281eb9061a88a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastseqio-0.1.8-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 146.7 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.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6de9ddf84ad67f56564e93dffe011b9c5a3559af4335ee2572fe5ec8eeb55b9b
MD5 f2d1d506631e09f10565b9399681e701
BLAKE2b-256 e663d87a4f45ab8296bbf4352a6e1bc396a2f880bf17e666b462ff6a7d788ec0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ac3f43dcef15c2ffaeff74637f7b856f855bf6ef3a974e83aa6dd84c9fe4b5c0
MD5 58239109242f2084f7977c28b52b2cfb
BLAKE2b-256 7820021eb059467eb5322a6e523c97bfa31fe2ce3f3b3d802c9c5c8d43c19086

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 72ea7737883723c2b189b924ae1fd659685a9d157a874ab51fe288f7a4f75cf9
MD5 d32b3e733a9de4d8ca03baf4e07fb8d3
BLAKE2b-256 7b644e51c52ac26851c42b51857d9b6c3fbbb6c9123c1c19e9819097dbac19f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fc52c9e734ce6bfe22bad325357dfbfda505e54ad4261b98efaaaaf066fed373
MD5 51dedb019ec58498c9e6ce6c3ac7ce7e
BLAKE2b-256 75ac5856498127b063c8fea431a8d7c669fc5a01ade99588aa9c7eb3616d041b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9cd0939ff15287a3955ee28197f67da086e90f916a0329a89aa376dffbfe92cb
MD5 e7a0ff94e388ecbdccef58121d2149a6
BLAKE2b-256 5a139fb4ec312e91fa75ce45e643598c50981d10b01d567b7d59a357cf4a2b41

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastseqio-0.1.8-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 146.0 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.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 067aa87ce5700dadebf0afff6f50cc704e64ac8771f3b159664759cbeca0ba2c
MD5 fb43c1e13cc7022e5809a6fdb853592b
BLAKE2b-256 d691986da0e3c6b7fec2dab19443315ee5d6c357836b3a4eac96ec1a63576468

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fa158217dbcae83013d2f15821a0f238142f62e86a1f89fcb76f8d623db02599
MD5 e95f163e2fa991987c040d3d5ae85624
BLAKE2b-256 4b76d4cdae536cc7d805b6ba0bbdcc5631b1d55ad1bd588227aee3b3a478b7a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 12120964073a996b9eb9d41afbc321fe01ad5464f3ad928976777eab16d2d54b
MD5 ac8f3158658dc6ad745bc057677e1198
BLAKE2b-256 dbc8f868b4a9a8e0954f1f1e5c56a2632d0b93a70983f6cfaf880b204273cb6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 df97ec38502a01ce147a12d8e7478db20253a14c26deec24ff226b0fc895d069
MD5 279eeb4e3fb3f07077483a7cdf1d1814
BLAKE2b-256 ea7bca31c170b7aaafb1420a2949bb66788e54ad54aef07e13bb68755f3aae2e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ac67c993973d61be02e8b31aaddeb38637c26e0972bd029bb70c71a31e6e006f
MD5 52dcbb0c2ffcb006138e4186643d3d21
BLAKE2b-256 dc6f3e221ff6da4b15e0af17580044f6feea4187ee08140e1f205cefd8086a48

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastseqio-0.1.8-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 146.0 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.8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 27152258d47df916e0f8ed7d75e1d37d1cb1873545c9c73153d28a88a6e52a89
MD5 ec0d69b30523c7c89811e9a3a3c084ba
BLAKE2b-256 d0593128f8722d802585afa427ee3be9e045af9bd396a307fe579212f597a02d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e10fa7071e68962bc4decf91e2c82fbfc7d2435b86c0acdc5c88d6e7999ad11b
MD5 d7c9785c7d5a2aebec08538191f9f3c0
BLAKE2b-256 398ff669f9556e21572f10dcd133196674206bb12010f0605db54ed27bece396

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 70e2da0f4b8e33c0601122a8ff4535e2af723ed43c237e972250a67b453db27e
MD5 803b749a95090acd0542f5241e53b510
BLAKE2b-256 61d2c70f7819c0c0f21c4542316ffb6ec68fcc1b640c2b32fa93923a73eb069f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 48a437869dec65f220d419e94179b58587108a502e170bb0a4c93aca7222b660
MD5 84a7fc4fdc67f457eea551a52b6ac203
BLAKE2b-256 d5d647e5c19da2e0400c09bc2a674473950b533a7cc7f4d31814259a527c153a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e15bb628ca55e85907c4124a46347f12877c7055ca5071520c369e4911488cfc
MD5 0cff44500fb20831f39b82a2aac965ab
BLAKE2b-256 2bcf6901c370fb47ecee9b8ad4e1b9aab8d6c2f91fa6a7759cfc73835df4b175

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastseqio-0.1.8-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 145.7 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.8-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 1a06948b47efda2fc0391741cd8295720f6804f73186b4fb5e334781a52377c6
MD5 dac3c4b20748f74d3e1373924eb3621b
BLAKE2b-256 4f6587c194d1477178e0976d4ef67a19397eff7bdf90413958c987a99bd092d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1622bbc85576ab6e51f891c03380127a1d2d50c9e74d90c992d71fbf03979363
MD5 a4d0906f7038f174c52527f36ac3e8fb
BLAKE2b-256 d52a83b8b53dacd2fdcb238aed62eee0f84ecd0e1cd3cfed42c4755f05dec467

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a5afb0e4199bc6ab9df18e4b37eb2f7dbe4baf1cc189edace3fb7a304ca24e51
MD5 5d3bffe8f57425a6cd08ed83181e3d35
BLAKE2b-256 a469ab1024e077d47ba715e9148a05fca4ac73157a18fcef87356b5fdd3a4a0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 59c7249b447dc32d7e4a090865ed9dda036daf7371ad7b6584c761d450a79bb2
MD5 5768ba6d7ddcd4d054af0c715173846b
BLAKE2b-256 637a91c39b41610b420b71742cd1d53b16e9c43069fa6a5ad117c160011df2b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastseqio-0.1.8-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c5cf0e4f3843f9d02007cd87a9e7bf0dc22f0412ef1e728a71f72d2fe6798a93
MD5 98fd29c166e8e8c8ca7d283fccbc83aa
BLAKE2b-256 18bec190390728157e06a4935fb7c0928ed980d8bc809aee3467d32de37a5bcd

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