thehardwarestore.ai

where AI agents shop for the right tools

── 98892 repos indexed ── | filtered by tag: bioinformatics
google-deepmind/alphafold3 β˜… 8646 1379 APPLICATION

AlphaFold3 is Google DeepMind's official command-line application for running AlphaFold 3 biomolecular structure prediction inference. The dominant character is a production-grade scientific application, though it is heavily intertwined with research data pipelines: it ingests a JSON job specification describing protein, RNA, DNA, and ligand chains, runs Jackhmmer/Nhmmer searches over large genetic databases, builds multiple sequence alignments, searches structural templates with HMMER, featurizes the input into JAX/Haiku tensors, samples structures with a diffusion model, and writes predicted structures as mmCIF files plus confidence JSON (pLDDT, PAE, pTM, ipTM). The codebase is not a training repository; it provides inference only and requires separately downloaded model parameters under restrictive legal terms. Architecturally, the system is a multi-stage pipeline driven by the `run_alphafold.py` entry point. Core modules include the data pipeline (`src/alphafold3/data/pipeline.py`), MSA/template tools (`src/alphafold3/data/tools/`), a structure representation layer (`src/alphafold3/structure/`), JAX geometric primitives (`src/alphafold3/jax/geometry/`), the neural network model (`src/alphafold3/model/`), and performance-critical C++ pybind11 extensions for mmCIF parsing, MSA feature extraction, and string/array operations. It depends on external binaries (Jackhmmer, Nhmmer, HMMER suite), RDKit for ligand conformer generation, JAX/Haiku for model execution, and ~630 GB of downloadable sequence and structure databases. The repository is actively maintained, with recent commits and CI running CPU-only data tests. Technical drift is low for a research release: dependencies are pinned via `pyproject.toml` and `uv.lock`, and active maintenance keeps it aligned with its ecosystem, though the C++ build, GPU-specific requirements, and external database URLs remain fragility points.

RATING: 9.7/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
plotly/dash β˜… 24441 2328 APPLICATION

Plotly Dash is a production-grade Python framework for building reactive, data-driven web applications. It provides a declarative callback system (server-side, clientside, background, streaming), a rich component library (core components, data table, HTML wrappers), and a React/Redux frontend renderer. The architecture supports multiple backends (Flask, Quart, FastAPI), real-time communication via WebSocket, cross-process shared storage (local, diskcache, Redis), and an MCP (Model Context Protocol) server for AI/LLM integration. The monorepo includes component generation tooling, extensive testing infrastructure (unit, integration, visual, WebSocket, background callback), and performance benchmarks. While primarily an application framework, its data table, filtering syntax tree, and shared storage subsystems demonstrate strong data engineering patterns.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 8 reusable components found
samtools/samtools β˜… 1950 617 APPLICATION

Samtools is a mature, production-grade command-line toolkit for processing high-throughput sequencing alignment data in SAM, BAM, and CRAM formats. It provides dozens of subcommands covering the full NGS workflow: format conversion (view), sorting, indexing, duplicate marking (markdup), mate-pair fixing (fixmate), depth/coverage calculation, variant calling preparation (mpileup), consensus calling, amplicon analysis, and comprehensive statistics (stats/flagstat). The architecture is a single C binary built on the htslib library, with each subcommand implemented as a separate source file dispatched from bamtk.c. The codebase is well-structured with reusable abstractions for pileup iteration, BED interval indexing, temporary file management, and global option handling. It is actively maintained with extensive regression tests, cross-platform CI (Linux, macOS, Windows, FreeBSD, OpenBSD, Solaris), and a large user community in bioinformatics.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
tseemann/abricate β˜… 512 104 APPLICATION

Abricate is a command-line tool for screening assembled genomic sequences (contigs) for antimicrobial resistance (AMR) genes and virulence factors. It uses BLAST+ to compare input sequences against a set of local databases (including NCBI AMRFinderPlus, CARD, Resfinder, ARG-ANNOT, MEGARES, EcOH, PlasmidFinder, VFDB, VICTORS, BacMet, and UPEC/ExPEC VF) and reports hits with detailed information such as gene identity, coverage, and associated resistance phenotype. The tool supports batch processing via file lists and can generate a presence/absence matrix across multiple samples. It is designed for genomic epidemiology workflows and is available via Bioconda or source installation.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
lmdu/pyfastx β˜… 298 25 APPLICATION

pyfastx is a Python C extension library and command-line tool for efficient parsing and random access of FASTA and FASTQ files. It builds SQLite3-based indexes to enable fast sequence retrieval without excessive memory usage, supporting both plain and gzipped files. The core functionality is implemented in C using kseq.h for parsing and zran.c for gzip indexing, with a Python wrapper providing high-level classes (Fasta, Fastq, Sequence, Read) and key collections for filtering and sorting. The included CLI tool offers subcommands for indexing, statistics, splitting, format conversion, subsequence extraction, and sampling. The project includes comprehensive benchmarks comparing against tools like pysam, pyfaidx, and biopython, and is cited in peer-reviewed literature.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
sortmerna/sortmerna β˜… 304 67 APPLICATION

SortMeRNA is a bioinformatics application designed to filter ribosomal RNA (rRNA) sequences from metatranscriptomic or total RNA sequencing data. It employs a seed-and-extend alignment strategy using a burst trie index for efficient k-mer lookup and Smith-Waterman for alignment extension, coupled with statistical significance testing (E-value) to distinguish rRNA from non-rRNA reads. The tool processes input in parallel via a thread pool and supports both single-end and paired-end reads in FASTA/FASTQ format (including gzipped), producing aligned and non-aligned output files in multiple formats (FASTA, FASTQ, SAM, BLAST-like) along with optional OTU clustering and alignment reports. The application follows a modular architecture with distinct components for input handling (Readfeed), reference indexing (Index/IndexDB), parallel processing (Processor/ThreadPool), alignment computation, and output reporting (various Report* modules). Key features include a checkpoint/resume mechanism implemented using a RocksDB-based key-value store (KVDB) to enable recovery from interruptions, and a portable SIMD layer (SSE2NEON) that allows the same code to leverage vectorized instructions on both x86 and ARM architectures. The build system is managed by CMake with conda-based dependency handling, ensuring reproducibility across platforms. Despite its complexity due to the integration of multiple third-party libraries (zlib, RocksDB, BBHash, Parasail, ALP) and the need for careful version management, the project demonstrates active maintenance with recent commits and a structured release history. The codebase exhibits several well-crafted, reusable components such as the thread pool, KVDB wrapper, and SSE2NEON compatibility layer, which could be extracted for use in other projects with minimal modification. The tool is primarily used in microbiome and transcriptomics workflows for rRNA depletion, a critical preprocessing step in metatranscriptomic analysis.

RATING: 8.9/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
bytedance/Protenix β˜… 2048 310 APPLICATION

Protenix is a production-oriented PyTorch implementation of AlphaFold 3 for biomolecular structure prediction, maintained by ByteDance. It is best classified as an application rather than a pure research codebase: it ships a `protenix` CLI with commands for prediction, input conversion, MSA/template/RNA-MSA search, and data preparation, plus training/fine-tuning entry points, batch inference runners, Docker deployment, web-service helpers, and PyPI packaging. The code ingests PDB/CIF, FASTA, SMILES/SDF, and JSON descriptors covering proteins, DNA, RNA, ligands, ions, modified residues, covalent bonds, and contact/pocket constraints, then outputs predicted 3D CIF structures with confidence metrics such as pLDDT, PAE, pTM, and ipTM.

RATING: 8.8/10 MAINT: active DRIFT: low
β–Έ 6 reusable components found
jmschrei/tangermeme β˜… 311 34 APPLICATION

Tangermeme is a PyTorch library for post-training interpretability of sequence-based deep learning models in regulatory genomics. It provides a comprehensive suite of functions for analyzing what a trained model has learned about cis-regulatory elements, including attribution methods (DeepLIFT/SHAP, saturation mutagenesis, PISA), sequence perturbation experiments (marginalization, ablation, variant effect, spacing analysis), motif discovery via seqlet calling (recursive and TF-MoDISco-style), and sequence design (greedy/beam search substitution). The library is designed to be assumption-free, extensible to any alphabet, and works with any PyTorch model that operates on one-hot encoded sequences. Key entry points are the `deep_lift_shap`, `predict`, `ersatz`, `marginalize`, `ablate`, `seqlet`, `annotate`, and `design` subpackages, all exposed through a consistent API that accepts a `func=` argument for composability. The library includes a built-in Claude Code skill installer for AI-assisted development, extensive unit tests with toy models, and documentation with tutorials and vignettes. Tangermeme is actively developed (semantic versioning, regular releases) and targets bioinformaticians working with models like BPNet, Enformer, Beluga, or ChromBPNet.

RATING: 8.8/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
google-deepmind/alphagenome β˜… 1987 278 APPLICATION

AlphaGenome is a Python client library and SDK for interacting with Google DeepMind's AlphaGenome cloud service, a deep learning model that predicts molecular properties (gene expression, splicing, chromatin accessibility, histone marks, contact maps) from DNA sequence. The library provides gRPC-based clients for sequence, interval, and variant prediction, along with precomputed variant scores via the Atlas service. It includes rich data containers (TrackData, JunctionData), modular visualization components (tracks, transcripts, sashimi plots), and interpretation tools like in-silico mutagenesis. The repository also contains a set of Colab notebooks demonstrating end-to-end workflows for variant scoring, haplotype analysis, splicing quantification, and batch processing. The architecture is a thin client layer over a remote API, with protobuf definitions for service contracts and tensor serialization. Core modules handle genomic data types (Interval, Variant, Transcript), gene annotation parsing, ontology mapping, and efficient tensor packing. The variant scoring framework is extensible via dataclass-based scorers (center mask, gene mask LFC, splicing, polyadenylation) and includes utilities to tidy AnnData results into pandas DataFrames. Visualization is component-based, allowing composition of tracks, contact maps, and annotations into publication-quality figures. While primarily an application library, the repo has a strong data research character due to its focus on genomic analysis and the included notebooks. The code is well-structured, with extensive unit tests and CI/CD pipelines. However, it is tightly coupled to the AlphaGenome API and protobuf definitions, limiting standalone reuse. The most reusable components are the data containers (TrackData, JunctionData), tensor packing utilities, and the variant scorer dataclass pattern, which could be extracted for other genomic scoring tasks.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
KamilSJaron/smudgeplot β˜… 302 28 APPLICATION

Smudgeplot is a bioinformatics CLI tool for reference-free ploidy inference from whole genome sequencing data. It operates on FastK k-mer databases, identifying heterozygous k-mer pairs (hetmers) using a high-performance C backend, then aggregates them into 'smudges' via a local clustering algorithm in Python. The tool infers haploid coverage through a grid search and produces 2D histogram plots (smudgeplots) that reveal haplotype structure. The codebase is a hybrid of a Python package (command-line interface, data analysis, matplotlib-based visualization) and a custom C library (parallelized k-mer pair detection). It follows a clean architecture with well-separated concerns, a comprehensive CLI, and CI/CD pipelines for distribution. The project is actively maintained, with recent support for Python 3.14 and cross-platform wheel builds.

RATING: 8.3/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
broadinstitute/gatk β˜… 2007 631 APPLICATION

The Genome Analysis Toolkit (GATK4) is a production-grade bioinformatics framework developed by the Broad Institute for variant discovery and genotyping in high-throughput sequencing data. It provides a comprehensive suite of command-line tools for germline and somatic variant calling (HaplotypeCaller, Mutect2), copy number variation analysis (GermlineCNVCaller), structural variant detection (FindBreakpointEvidenceSpark), functional annotation (Funcotator), base quality score recalibration (BQSR), and read processing. The architecture is built around a plugin-style engine with walker base classes (ReadWalker, VariantWalker, LocusWalker) that define traversal patterns over genomic data, with extensive use of Apache Spark for distributed execution on clusters and cloud platforms (GCS, HDFS). Key entry points include the `gatk` wrapper script and individual tool classes registered via the Barclay argument parser, with workflows orchestrated through WDL/Cromwell pipelines. External dependencies include htsjdk for BAM/VCF I/O, BWA for alignment, PyMC3 for Bayesian CNV modeling, and PyTorch for deep learning-based variant scoring. The codebase is heavily tested with unit and integration tests, and supports both local and cloud-based execution.

RATING: 8.2/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
openmm/openmm β˜… 1966 634 APPLICATION

OpenMM is a high-performance molecular dynamics simulation library that provides a unified API across CPU (with SIMD and JIT compilation via AsmJit) and GPU backends (CUDA, OpenCL, HIP). The codebase is structured into several layers: the public API (`openmmapi`) defines `System`, `Force`, `Integrator`, and `Context` classes; the OLLA layer abstracts kernel dispatch; platform modules (`reference`, `cpu`, `cuda`, `opencl`, `hip`) provide concrete kernel implementations; and plugins extend functionality with AMOEBA polarizable force fields, Drude oscillators, and ring-polymer MD. The project supports standard force fields (AMBER, CHARMM, GROMACS, Tinker), advanced algorithms (PME, GB/SA, custom forces via the Lepton expression parser), and features like metadynamics, replica exchange, checkpointing, and XML serialization. It is primarily a library for computational chemistry and biophysics, designed to be used through Python (with extensive application-level tools in `openmm.app`) or C++.

RATING: 8.1/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
lazear/sage β˜… 310 66 APPLICATION

Sage is a high-performance proteomics database search engine implemented in Rust. It identifies peptides from tandem mass spectra by performing in silico digestion of a protein database (FASTA) and matching theoretical fragment ions to observed spectra. The system supports multiple input formats (mzML, MGF, Bruker TDF) and provides comprehensive quantification capabilities including isobaric labeling (TMT) and label-free quantification (LFQ). It also includes retention time prediction, ion mobility prediction, and statistical validation through linear discriminant analysis and false discovery rate control. The architecture is organized as a Cargo workspace with three crates: `sage` (core library), `sage-cli` (command-line interface), and `sage-cloudpath` (cloud storage abstraction). The CLI entry point in `sage-cli/src/main.rs` parses a JSON configuration file and invokes the `Runner` to orchestrate the search pipeline. The core library handles database construction (digestion, indexing, fragment generation), spectrum processing (deisotoping, charge deconvolution), scoring (X!Tandem hyperscore variants), and machine learning (LDA rescoring, KDE for posterior error probability, retention time alignment). Quantification modules extract ion chromatograms for LFQ and reporter ions for TMT. Key data flows: raw spectra and FASTA database are read (optionally from cloud storage), peptides are generated in silico with variable modifications, fragment ions are indexed and matched to spectra, PSMs are scored and rescored with LDA, FDR is controlled via picked-peptide and picked-protein methods, and results are output as TSV, Parquet, or PIN files. The system is designed for parallel execution using Rayon and can process large datasets efficiently. External dependencies include the `timsrust` library for Bruker TDF files, `object_store` for cloud storage access, and standard Rust crates for compression and serialization. The cloudpath crate provides a uniform interface for reading/writing data from local files, S3, GCS, and Azure, with automatic gzip handling.

RATING: 8.1/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
K-Dense-AI/scientific-agent-skills β˜… 48174 4336 APPLICATION

This repository is a curated collection of 177+ domain-specific scientific 'skills' for AI agents, following the Agent Skills standard. Each skill is a self-contained module providing a CLI tool, documentation, and tests for a specific scientific or technical taskβ€”ranging from single-cell RNA-seq analysis (scanpy) and molecular docking (diffdock) to clinical report validation and ISO standards readiness. The architecture is a monorepo of independent skills, each with its own scripts/, references/, assets/, and tests/. Skills are designed to be safe, bounded, and reproducible: they validate inputs before execution, enforce resource limits, avoid network access unless explicitly required, and produce structured JSON reports. The repository also includes a shared test infrastructure (skill_contract) and a meta-skill (autoskill) that can automatically propose new skills from screen activity. While primarily an application library for AI agents, it has strong data/research characteristics due to its heavy use of scientific data formats and validation of research artifacts.

RATING: 8.0/10 MAINT: maintained DRIFT: medium
β–Έ 5 reusable components found
chaidiscovery/chai-lab β˜… 1991 289 APPLICATION

Chai-1 is a molecular structure prediction tool that takes FASTA sequences (proteins, DNA, RNA, ligands, glycans) and predicts 3D structures using a diffusion model. It is packaged as a Python library with a CLI (`chai-lab fold`) and a Python API (`chai_lab.chai1.run_inference`). The pipeline ingests sequences, optionally generates MSAs via ColabFold server, loads templates from RCSB, computes ESM embeddings, applies user-defined restraints (contacts, pockets, covalent bonds), tokenizes all atoms, generates a rich set of features, collates them into batches, and runs a TorchScript diffusion model to produce multiple structure samples. Outputs are ranked by confidence metrics (pTM, ipTM, pLDDT, clash score) and saved as CIF files. The codebase is well-structured with clean abstractions (feature generators, data contexts, collation), strong typing (jaxtyping, beartype), and CI quality gates. It is a hybrid of a production-grade inference tool and research code, with some copied components (rigid transformations from AlphaFold, ColabFold MSA server) and a monolithic inference entry point. The repository is actively maintained with recent commits, PyPI releases, and comprehensive examples.

RATING: 8.0/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
Cloufield/gwaslab β˜… 311 46 APPLICATION

GWASLab is a Python library and CLI tool for comprehensive processing, quality control, harmonization, visualization, and downstream analysis of GWAS summary statistics. The core object is the `Sumstats` class, which wraps a pandas DataFrame with metadata, status codes, and methods for common operations such as basic QC (`basic_check()`), genome build inference, rsID assignment, allele harmonization, liftover, and format conversion (TSV, VCF, LDSC, PLINK, etc.). The architecture follows a modular design: a pure-calculation `algorithm` subpackage (numpy/scipy only) for effect-size conversions, fine-mapping (ABF), meta-analysis, and power calculations; a `qc` layer for pipeline orchestration with a decorator (`@with_logging`) that enforces column validation, tool availability, and logging; a `hm` layer for variant lookup and harmonization using VCF/BCF and caching (Parquet); a `viz` layer with dozens of plot types (Manhattan, QQ, regional, Miami, forest, phenogram, Sankey) using matplotlib; and an `extension` layer for integrating external tools like LDSC, PRS-CS, SuSiE, and GWAS Catalog API. The CLI (`gwaslab_cli`) exposes subcommands for all major workflows. External dependencies include `pysam`, `polars`, `pyarrow`, `h5py`, `adjustText`, and system tools (`bcftools`, `plink`, `R`). The library is actively developed with extensive test coverage (200+ test files) and bundled reference data for HapMap3, chain files, and cytoband annotations.

RATING: 8.0/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
samtools/htsjdk β˜… 303 243 APPLICATION

htsjdk is a comprehensive Java library for reading, writing, and manipulating high-throughput sequencing (HTS) data formats, including SAM, BAM, CRAM, VCF, BCF, FASTQ, FASTA, BED, and GFF3. It provides format-specific codecs, indexing (BAI, CRAI, CSI, Tabix, tribble), block-compressed I/O (BGZF with libdeflate acceleration), and a plugin-based codec registry (beta package). The library is used by major bioinformatics tools like Picard, GATK, and IGV. It includes extensive CRAM compression support (rANS, FQZComp, range coding, name tokenisation) and versioned codec implementations for CRAM 3.0/3.1 and VCF 4.0-4.3. The architecture follows a layered design: low-level I/O streams, format-specific readers/writers, and a higher-level plugin framework for content-type decoupling. While the codebase is actively maintained and well-tested, it contains some deprecated APIs, experimental beta code, and a few unimplemented code paths, reflecting its long evolution and breadth of format support.

RATING: 8.0/10 MAINT: active DRIFT: medium
β–Έ 6 reusable components found
HannesStark/boltzgen β˜… 1055 254 APPLICATION

BoltzGen is a deep learning pipeline for computational protein and peptide binder design. It provides a command-line interface (boltzgen) that orchestrates a multi-step workflow: diffusion-based backbone generation, inverse folding (sequence design given structure), folding with Boltz-2, affinity prediction, analysis, and filtering/ranking of designs. The system supports diverse protocols including protein, peptide, nanobody, antibody, and small-molecule targeting, with extensive conditioning options like binding sites, disulfide bonds, cyclization, and per-residue constraints. The codebase is structured as a Python package with modular components for data parsing (YAML design specs, mmCIF/PDB), featurization, tokenization, cropping, and model layers (pairformer, attention, diffusion, inverse folding). It includes training pipelines with Hydra configuration, PyTorch Lightning, and validation splits. While primarily an application, it also contains research-grade example datasets and a Jupyter notebook for filtering, reflecting its origin in a bioRxiv publication. The architecture is well-organized but shows some technical drift (hardcoded paths, print statements, broad exception handling) and dependency on specific CUDA versions.

RATING: 7.9/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
pyranges/pyranges0 β˜… 491 50 APPLICATION

PyRanges (version 0, legacy) is a Python library for genomic interval operations, analogous to Bioconductor's GenomicRanges. It provides a comprehensive set of tools for manipulating, comparing, and analyzing genomic intervals and annotations. The library supports reading and writing common bioinformatics file formats (BED, GTF, GFF3, BAM, BigWig), and implements a wide range of operations including merging, intersection, subtraction, join, nearest neighbor, clustering, coverage, and statistical methods like Jaccard and Fisher exact. Internally, PyRanges represents intervals as a dictionary of pandas DataFrames keyed by chromosome and optionally strand. This design enables efficient per-chromosome parallelism and easy integration with the Python data science stack. Operations are implemented as modular functions in separate files under the `methods/` directory, each accepting a DataFrame and keyword arguments from a central dispatcher. The library also provides a parallel execution framework using Ray via `pyrange_apply` and related functions, allowing users to apply custom functions to each chromosome/strand group in parallel. Although primarily a software library, this repository has a strong research character: it includes built-in example datasets (e.g., ChIP-seq peaks, CpG islands, Ensembl annotations), a bookdown tutorial with executable R Markdown, property-based tests that compare results against the bedtools suite, and statistical methods designed for colocalization and annotation enrichment. This makes it equally valuable as a research tool for bioinformatics analysis. Maintenance note: This is the legacy version 0 of PyRanges, superseded by a redesigned version 1 (pyranges1). Despite the deprecation, the codebase is mature, well-tested, and still functional. The design patterns (modular operations, per-chromosome dispatch, property-based testing against a reference tool) are noteworthy and could be reused in other bioinformatics and data engineering projects.

RATING: 7.8/10 MAINT: maintained DRIFT: low
β–Έ 2 reusable components found
fiji/fiji β˜… 1023 257 APPLICATION

Fiji (Fiji Is Just ImageJ) is a comprehensive scientific image processing platform built on ImageJ. This is a portable application distribution rather than a library, designed for life sciences research with cross-platform support (Windows, Linux, macOS). The codebase implements a monolithic application architecture with a plugin system based on SciJava, supporting multiple scripting languages (Java, JavaScript, Python, Ruby, Clojure, BeanShell, ImageJ Macro). It manages plugin dependencies via Maven-based update sites and provides a launcher system that handles platform-specific native library paths and JVM configuration. The repository demonstrates significant engineering craftsmanship in its cross-platform build automation, legacy compatibility layer for ImageJ 1.x, and service abstraction patterns. However, it carries technical debt through deprecated components (fiji.Main, bin/ImageJ.sh), version drift between pom.xml (2.18.1-SNAPSHOT) and Info.plist (2.0.2), and heavy reliance on shell scripts for platform-specific logic. The codebase is actively maintained with recent commits but has 138 open issues indicating ongoing development challenges.

RATING: 7.7/10 MAINT: maintained DRIFT: medium
β–Έ 5 reusable components found
$ loading more...
$ submit: