awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
attractivechaos avatar

attractivechaos/klib

0
View on GitHub↗
4,679 stars·588 forks·C·MIT·28 viewsattractivechaos.github.io/klib↗

Klib

klib is a comprehensive C standard library extension and data structure toolkit. It provides a set of fundamental tools for memory management, data organization, and general-purpose utility functions for standalone C applications.

The project features specialized capabilities for bioinformatics sequence analysis, including the parsing of FASTA, FASTQ, and Newick formats and the implementation of Smith-Waterman sequence alignment and Hidden Markov Models. It also includes a mathematical computation library for numerical routines and expression evaluation, as well as a lightweight HTTP and FTP client for random-access remote data retrieval.

The toolkit covers a broad surface of high-performance computing primitives, including multi-threading models, linear-time suffix array construction, and optimized sorting algorithms. It implements a variety of efficient data indexing structures such as hash tables with open addressing, B-trees, and intrusive AVL trees, supported by memory-pool-based sequence management.

Additional utilities include JSON data parsing and command-line argument interpretation.

Features

  • Sequence Analysis - Provides tools for analyzing biological sequences, including FASTA/FASTQ parsing and Smith-Waterman alignment.
  • Bioinformatics Sequence Analysis Libraries - Provides a specialized set of tools for parsing biological formats and performing sequence alignment.
  • Sequence Alignment - Implements the Smith-Waterman algorithm to perform local sequence alignment for biological data comparison.
  • Striped Smith-Waterman Alignment - Performs high-performance local sequence alignment using the Striped Smith-Waterman algorithm for genomic data comparison.
  • Bioinformatics Sequence Parsing - Reads and processes specialized biological file formats, including FASTA and FASTQ, for genomic analysis.
  • Data Indexing Structures - Organizes information using hash tables, B-trees, and AVL trees for high-performance lookups.
  • Key-Value Pair Managers - Provides efficient key-value storage and retrieval using hash tables with open-addressing collision resolution.
  • Intrusive AVL Trees - Provides memory-efficient intrusive AVL tree structures for managing sorted hierarchies without additional allocations.
  • Tree Data Structures - Provides B-trees and AVL trees to organize data hierarchically for efficient searching and range queries.
  • Search Tree Implementations - Implements balanced search trees, including B-trees and intrusive AVL trees, to enable efficient data lookup.
  • C Data Structure Libraries - Provides low-level C implementations of fundamental data structures including hash tables, B-trees, and AVL trees.
  • C Libraries - Serves as a portable C library extension providing general-purpose data structures and utility functions.
  • C Memory Management - Handles low-level allocation and cleanup of memory buffers using custom memory pools and dynamic arrays.
  • Pool Allocators - Utilizes pool allocators to manage contiguous memory blocks for linked lists and queues, reducing fragmentation.
  • Linked List Implementations - Implements efficient single-linked lists integrated with memory pools for low-level data organization.
  • C Runtime Utilities - Supplies a comprehensive suite of C runtime utilities for JSON parsing, CLI argument handling, and math evaluation.
  • Dynamic Sequence Management - Organizes data using a combination of dynamic arrays, double-ended queues, and linked lists supported by memory pools.
  • C Numerical Libraries - Implements numerical routines, nonlinear programming, and random number generation in C.
  • Dynamic Arrays - Implements resizable dynamic arrays that automatically manage contiguous memory blocks for element storage.
  • Open Addressing Implementations - Implements hash tables using open addressing and probing techniques for efficient key-value storage.
  • Hidden Markov Models - Provides Hidden Markov Model implementations for the analysis of probabilistic biological sequences.
  • Mathematical Evaluators - Includes logic to parse and evaluate mathematical formula strings into numerical results.
  • Newick Format Parsing - Converts Newick tree format text into structured data for biological and hierarchical analysis.
  • Collection Sorting - Implements high-performance collection sorting using a hybrid introsort algorithm to ensure linearithmic time complexity.
  • Remote File Reading - Enables reading specific byte ranges from remote HTTP or FTP servers using random access.
  • Random Access Remote Retrieval - Provides a lightweight client for random-access retrieval of specific data segments from HTTP and FTP servers.
  • Remote Data Retrieval Libraries - Implements a lightweight client for random-access data retrieval from HTTP and FTP servers.
  • Concurrent Thread Execution - Implements multi-threading models to enable parallel task processing and increase overall throughput.
  • High-Performance Computing - Implements multi-threading models and optimized sorting algorithms to increase processing speed for large datasets.
  • Numerical Computation Routines - Executes numerical routines including nonlinear programming and pseudorandom number generation.
  • Recursive Descent Evaluators - Implements a recursive-descent evaluator to parse and compute results from mathematical formula strings.
  • Suffix Array Construction - Implements the SAIS algorithm for linear-time construction of suffix arrays used in string indexing.
  • Build Systems - A small, lightweight implementation of common algorithms.
  • General Utilities - Lightweight implementations of common algorithms and structures.

Star history

Star history chart for attractivechaos/klibStar history chart for attractivechaos/klib

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does attractivechaos/klib do?

klib is a comprehensive C standard library extension and data structure toolkit. It provides a set of fundamental tools for memory management, data organization, and general-purpose utility functions for standalone C applications.

What are the main features of attractivechaos/klib?

The main features of attractivechaos/klib are: Sequence Analysis, Bioinformatics Sequence Analysis Libraries, Sequence Alignment, Striped Smith-Waterman Alignment, Bioinformatics Sequence Parsing, Data Indexing Structures, Key-Value Pair Managers, Intrusive AVL Trees.

Which projects share features with attractivechaos/klib?

Projects with overlapping indexed features include: troydhanson/uthash — uthash is a macro-based data structure library for C that provides header-only implementations of hash tables, linked… xtaci/algorithms — This is a collection of classical algorithms and data structures implemented as a header-only C++ library. It provides… antirez/sds — sds is a C dynamic string library that provides a memory management wrapper for heap-allocated strings. It implements… mission-peace/interview — This project is a comprehensive library of reference implementations for fundamental data structures and algorithms,… biopython/biopython — Biopython is a bioinformatics library for Python providing tools to parse, manipulate, and analyze biological… waruqi/tbox — tbox is a multi-platform C standard library and toolkit designed for portable software development. It provides a core…

Projects sharing features with Klib

These projects share indexed features with Klib. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • troydhanson/uthashtroydhanson avatar

    troydhanson/uthash

    4,732View on GitHub↗

    uthash is a macro-based data structure library for C that provides header-only implementations of hash tables, linked lists, stacks, and dynamic arrays. It allows for key-based lookups and organized data storage without requiring external library linking. The library uses intrusive linking to embed metadata directly into user-defined structures via macros. This approach enables in-place structure extension, allowing hash and link fields to be added to existing structs without separate memory allocations for container nodes. The project also covers specialized memory and data stream managemen

    C
    View on GitHub↗4,732
  • xtaci/algorithmsxtaci avatar

    xtaci/algorithms

    5,454View on GitHub↗

    This is a collection of classical algorithms and data structures implemented as a header-only C++ library. It provides a suite of tools for general algorithm implementation, including data structure management, graph theory analysis, and string processing. The library is distinguished by its specialized toolkits for cryptographic hashing and encoding, featuring implementations of MD5, SHA-1, and Base64. It also includes advanced capabilities for high-performance string processing via suffix trees and arrays, as well as computational number theory for primality testing and arbitrary-precision

    C++
    View on GitHub↗5,454
  • antirez/sdsantirez avatar

    antirez/sds

    5,486View on GitHub↗

    sds is a C dynamic string library that provides a memory management wrapper for heap-allocated strings. It implements binary-safe storage by tracking string lengths explicitly, allowing the library to handle null characters within data. The library distinguishes itself through a memory architecture that uses interchangeable function pointers for allocation and freeing, enabling the integration of custom memory managers. It utilizes header-stored length tracking to provide constant-time length retrieval and maintains null-terminated buffer padding to ensure compatibility with standard C string

    C
    View on GitHub↗5,486
  • mission-peace/interviewmission-peace avatar

    mission-peace/interview

    11,306View on GitHub↗

    This project is a comprehensive library of reference implementations for fundamental data structures and algorithms, designed to support technical interview preparation and software engineering assessments. It provides a structured collection of computational techniques for solving complex problems involving arrays, strings, graphs, trees, and mathematical analysis. The library distinguishes itself by offering specialized implementations for advanced topics, including concurrent programming patterns and geometric algorithms. It features thread-safe primitives for managing shared state and tas

    Java
    View on GitHub↗11,306
Compare all 30 related projects→