Build graph structures (adjacency matrix/list, edge list) in Python/NumPy for PPI, GRN, and metabolic networks. Use when representing a graph, picking sparse vs dense storage, loading an edge-list file, or prepping for BFS/DFS/Dijkstra/MST.
Implement Python hash tables (chaining, open addressing, rehashing) and Bloom filters for set membership. Use when building a hash table from scratch, resolving hash collisions, sizing a Bloom filter, or checking k-mer/key set membership under memory limits.
Speed up exponential recursion (Fibonacci, alignment counting, coin change) to linear time via dict cache or lrucache. Use when recursion is slow, or asked to memoize, add @lrucache, or explain overlapping subproblems.
Find all overlapping exact occurrences of a pattern/motif/primer in a string or DNA sequence in O(n+m) time via KMP's prefix/failure-function. Use for exact substring search, motif/primer location, or a slow naive O(nm) scan.
Solve 0/1, unbounded, subset-sum, and bitmask set-cover knapsack DP in Python with traceback and O(capacity)-space optimization. Use when picking an optimal subset under a budget/capacity constraint — gene panel or assay selection under a sequencing budget, primer/reagent allocation, experiment portfolio selection, or…
Implement Python linear/binary search: first/last occurrence, lowerbound/upperbound (bisect), rotated-sorted-array search. Use when finding an index, searching sorted data, counting duplicates, or finding an insertion point.
Implement counting sort, radix sort, and bucket sort in Python for O(n) non-comparison sorting of integers, fixed-length strings, and DNA k-mers. Use when sorting integers with a small known range, sorting fixed-length keys/k-mers for de Bruijn graph construction or k-mer analysis, or explaining why non-comparison…
Implement singly/doubly linked lists in Python (O(1) head/tail insert, delete, reverse) plus pointer problems like Floyd's cycle detection and merge-sorted-lists. Use for linked-list coding-interview questions.
Compute minimum spanning trees with Kruskal's (Union-Find) and Prim's (min-heap) algorithms in Python or networkx. Use when building a phylogenetic distance tree, gene co-expression network backbone, MST-based clustering, or implementing Union-Find/disjoint-set.
Brute-force O(nm) sliding-window search for all overlapping matches of a pattern/motif/primer in text or DNA/protein strings, pure Python. Use for one-off exact search, or to benchmark the naive baseline before KMP/Rabin-Karp/Boyer-Moore.
Rabin-Karp rolling-hash search in Python for single/multi-pattern matching (DNA motifs, k-mers, plagiarism phrases). Use when finding pattern occurrences in text, explaining rolling hash, or comparing vs KMP/naive search.
Implement a red-black self-balancing BST (insert, rotations, recoloring) for O(log n) search on sorted VCF variant positions. Use when building a balanced BST, verifying invariants, or comparing red-black vs AVL trees.
Implement Needleman-Wunsch global and Smith-Waterman local sequence alignment: fill/traceback DP matrices, match/mismatch or BLOSUM62 scoring. Use when coding alignment from scratch or explaining DP traceback algorithms.
Implement Stack (LIFO)/Queue (FIFO) in Python (array, linked-list, two-stack) with O(1) ops; validate balanced brackets/RNA dot-bracket notation. Use for stack/queue from scratch, backing BFS/DFS, or checking parens.
Build a suffix array (Manber-Myers O(n log n)) and LCP array (Kasai's O(n)) in Python; binary-search substrings, count k-mers, find longest repeated motifs. Use for text indexing, pattern search, or aligner (BWA-like) internals.
Build a suffix tree for O(m) pattern search, longest repeated substring, and longest common substring (LCS). Use when finding all motif occurrences in DNA/text, detecting tandem repeats, or comparing two sequences' shared region.
Bottom-up DP (tabulation) in Python: edit distance/Levenshtein, LCS, and LIS with rolling-array space optimization. Use when comparing DNA/protein sequences, scoring similarity, or filling a DP table without recursion.
Order vertices of a directed acyclic graph (DAG) with DFS-based or Kahn's BFS-based topological sort, detect cycles, and compute critical-path/makespan for weighted task DAGs. Use when scheduling a gene regulatory cascade, metabolic pathway, or bioinformatics pipeline…
Implement a trie (prefix tree) in Python for O(m) word insert/search, O(p) prefix checks, and O(p+k) prefix enumeration; build autocomplete, spell-checkers, and k-mer/gene-name lookup over DNA or dictionary strings. Use when asked for prefix tree, trie data structure, autocomplete implementation, dictionary/word…
Predict protein 3D structure with AlphaFold2/ColabFold/ESMFold, fetch precomputed models from the AlphaFold DB, and interpret pLDDT/PAE confidence metrics and Cα RMSD. Use when predicting a structure from sequence, asking "how confident is this AlphaFold model", downloading an AF-.pdb from alphafold.ebi.ac.uk…
Assemble genomes de novo: greedy OLC, de Bruijn graph/Eulerian path, N50/L50/NG50 stats, SPAdes/Flye/hifiasm CLI usage. Use when choosing k-mer size, picking an assembler for Illumina/ONT/HiFi reads, or scoring contiguity.
Assemble shotgun metagenomic reads with MEGAHIT, bin contigs with MetaBAT2/CONCOCT/MaxBin2+DASTool, grade MAGs with CheckM/MIMAG tiers. Use for metagenome assembly, contig binning, or MAG recovery.
Assemble ONT/HiFi reads with Flye/Hifiasm, polish with Medaka, QC with QUAST/BUSCO, call SVs (DEL/INS/INV/DUP/BND) with Sniffles2. Use for long-read assembly, N50/BUSCO QC, or nanopore/HiFi SV calling to VCF.
★not rated 5▲
+1 2mo agoA82 tokens
At most 3 mods per repository are shown here, and a mod shipped inside a plugin is left to that plugin's page — the rest are on their repository pages: