Changes for version 0.01 - 2026-09-30

  • First release
    • fasta2hash, hash2fasta_file, get_best_alignment_hit, msa_quality_table and clustal_view_residues, taken from the maintainer's bioinf.pm. fasta2hash and hash2fasta_file are now XS: on a 928 MB FASTA, reading went from 3.83 s to 0.80 s and writing from 44.44 s to 0.97 s.
    • bioinf.pm's msa_phylo_plot is split in two. plot_msa aligns sequences with Clustal Omega and draws the alignment; plot_phylo draws the guide tree, either aligning the sequences itself or drawing a tree file that plot_msa kept, so the two images need only one alignment.
    • clustalo, BLAST+ and the plotting Python come from Alien::Bioinf, never from PATH. Alien::Bioinf is recommended rather than required, since it installs only where NCBI builds BLAST+; the functions that need it say so when it is missing, and t/msa.t is skipped without it.
    • Fixed before release: a truncated .gz now dies rather than being read in part; residue numbers below 1 in active.site.aa and color.residues die rather than counting from the last residue; row.width or split of 0 dies rather than looping forever; msa_quality_table's normalize no longer divides by 0 when every e-value is 0, and divides by the largest value plus logscale.add; get_best_alignment_hit dies on two queries of one title rather than dropping one; plot_msa dies on two sequences given one label; and clustal_view_residues escapes every LaTeX special character in a protein name.
    • fasta2hash with a key no longer keeps every other defline it passes, to warn about their repeats: finding the last of 400,000 records went from 87 MB and 0.25 s to 8 MB and 0.06 s.

Modules

FASTA I/O in XS, BLAST hit ranking, and alignment plots and tables