LAST-TRAIN(1)

πŸ’– last-train(1) πŸ’–

okay bestie sit DOWN because this one is a User Commands page and it's literally the glow-up tool for your alignments ✨


πŸŽ€ NAME πŸŽ€

last-train β€” she tries to find suitable score parameters for aligning the given sequences. that's the whole job. that's her assignment and she ate πŸ’…


🌸 SYNOPSIS 🌸

last-train [options] lastdb-name sequence-file(s)

πŸ¦‹ DESCRIPTION πŸ¦‹

Try to find suitable score parameters for aligning the given sequences. no cap, that's it β€” she takes your lastdb-name and your sequence-file(s) and goes hunting for the score parameters that actually fit your data, so your alignments don't look like they were picked by a random number generator πŸ™ˆ


✨ OPTIONS ✨

  • -h, --help β€” show this help message and exit. the classic escape hatch, iconic behavior
  • -v, --verbose β€” show more details of intermediate steps. she'll narrate the whole thing for you, main character commentary

πŸ’œ Training options:

  • --revsym β€” force reverse-complement symmetry
  • --matsym β€” force symmetric substitution matrix
  • --gapsym β€” force insertion/deletion symmetry
  • --fixmat=NAME β€” fix the substitution probabilities to e.g. BLOSUM62. like, lock it in, no vibes-based changes
  • --pid=PID β€” skip alignments with > PID% identity (default: 100). too-similar alignments can go, we don't need them
  • --postmask=NUMBER β€” skip mostly-lowercase alignments (default=1)
  • --sample-number=N β€” number of random sequence samples (default: 20000 if --codon else 500). yes the default literally switches depending on whether --codon is on, keep up bestie 😭
  • --sample-length=L β€” length of each sample (default: 2000)
  • --scale=S β€” output scores in units of 1/S bits
  • --codon β€” DNA queries & protein reference, with frameshifts. the fancy one 🧚

πŸ“ Initial parameter options:

  • -r SCORE β€” match score
  • -q COST β€” mismatch cost
  • -p NAME β€” match/mismatch score matrix
  • -a COST β€” gap existence cost
  • -b COST β€” gap extension cost
  • -A COST β€” insertion existence cost
  • -B COST β€” insertion extension cost
  • -F LIST β€” frameshift probabilities: del-1,del-2,ins+1,ins+2 (default: 1-b,1-b,1-B,1-B). note how those defaults are literally built out of your -b and -B values, so cute, so dependent 🫢

🌈 Alignment options:

  • -D LENGTH β€” query letters per random alignment (default: total sample length)
  • -E EG2 β€” maximum expected alignments per square giga
  • -s STRAND β€” 0=reverse, 1=forward, 2=both (default: 2 if DNA and not lastdb -S2, else 1). another shapeshifter default, iykyk
  • -S NUMBER β€” use score matrix: 0=as-is, 1=on query forward strands (default: 1)
  • -C COUNT β€” omit gapless alignments in COUNT others with > scoreper-length
  • -T NUMBER β€” type of alignment: 0=local, 1=overlap (default: 0)
  • -R DIGITS β€” lowercase & simple-sequence options
  • -m COUNT β€” maximum initial matches per query position (default: 10)
  • -k STEP β€” use initial matches starting at every STEP-th position in each query (default: 1)
  • -P THREADS β€” number of parallel threads
  • -X NUMBER β€” N/X is ambiguous in: 0=neither sequence, 1=reference, 2=query, 3=both (default=0)
  • -Q NAME β€” input format: fastx, sanger (default=fasta)
heads up bestie: several of these defaults are not fixed numbers β€” they actively change based on other flags you pass. read them before you assume, fr fr πŸ‘‘

okay that's the whole page, and that's the vibe check passed πŸ’– she's last-train version 1654, dated August 2026, and yeah the title at the top said LAST-TRAIN(1) but we already covered that, periodt βœ¨πŸ’…πŸ¦‹

πŸ“¦ where this page comes from