HMM_TRAIN(1)

✨ HMM_TRAIN ✨

okay bestie, pull up a chair, because we're about to talk about hmm_train β€” that's the User Commands girlie from the HMM family, and she's here to help you estimate transition probabilities. πŸ’…


🌸 NAME 🌸

hmm_train β€” Estimate the transition probabilities of an HMM, based on multiple

-g <gff_fname_list> [OPTIONS] > out.hmm

like, that's the whole vibe. you feed her stuff, she spits out an HMM to stdout. no cap. πŸŽ€


πŸ¦‹ DESCRIPTION πŸ¦‹

So what does she actually do? She estimates the transition probabilities of an HMM. And she does it based on:

  • multiple alignments
  • sequence annotations
  • and a category map

that's it, that's the girl. three ingredients, one iconic output. ✨


πŸ’– OPTIONS πŸ’–

🌈 required options

these are not optional, bestie. you literally cannot skip these. it's giving "mandatory main character energy."

  • -m <msa_fname_list> β€” the list of multiple sequence alignment files. 🧚 heads up though: currently, in testing mode, this list must be of length one. so like, one file. just the one. don't get cute with it.
  • -c <category_map_fname> β€” the file that defines the mapping of feature types to category numbers. it's the translator, the middleman, the one who knows everybody. 🫢
  • -g <gff_fname_list> β€” your files in GFF, defining the sequence features that get used when labeling sites. the frame of reference of the feature indices is determined feature-by-feature, according to the 'seqname' attribute. and!!! the filenames must correspond in number and order to the elements of <msa_fname_list>. so like, keep them lined up. matching sets. a coordinated outfit. πŸ‘‘

🌟 alignment options

  • -M <msa_length_list> β€” mutually exclusive with -m, so pick a lane. this one assumes alignments of the specified lengths (that's a comma-separated list, bestie) and does not attempt to map the coordinates in the specified GFFs β€” it just assumes they're already in the desired coordinate frame. the slay here is that it lets an HMM be trained directly from GFFs, without alignments. not permitted with -I though, so don't try it. πŸ™ˆ
  • -i PHYLIP|FASTA|MPM|SS β€” the alignment format. default is SS. pick your fighter. πŸ’€
  • -R <tag> β€” before estimating those transition probabilities, this groups features by <tag> (think "transcript_id" or "exon_id", iykyk) and then reverse complements the segments of the alignment corresponding to groups on the reverse strand. ⚠️ the groups must be non-overlapping β€” see refeature --unique. no overlap, no chaos.

πŸŽ€ indel options

  • -I <indel_cat_list> β€” model indels for the specified categories. okay so listen: for there to be nonzero probability for the states corresponding to a specified category range, the indels must be:
    • "clean" (nonoverlapping) 🧼
    • assignable by parsimony to a single branch in the phylogenetic tree 🌳
    • and have lengths that are exact multiples of the category range size πŸ“
Avoid -G with this option. and if you're using it in training mode, it requires -T. don't forget, bestie, I'm serious. 😭
  • -t <tree_fname> β€” use the specified tree topology when training for indels. give her a tree, she'll give you the whole forest. 🌲✨
  • -n <nseqs> β€” train an indel model for <nseqs> sequences, even though the training alignment has a different number. bold. iconic. all (non-trivial) gap patterns are assumed to be equally frequent. periodt.

πŸ’œ other options

  • -q β€” proceed quietly, with no updates to stderr. she's not gonna text you the whole time. 🀫
  • -h β€” print this help message and exit. the classic "actually, tell me the rules" move. 🫢

fr fr, that's every flag, every default, every warning. nothing skipped, nothing merged, nothing invented. the vibe is mine, the facts are hers. πŸ’–

hmm_train 1.4 Β· May 2016

and that's the whole page, bestie β€” version 1.4, dated May 2016, brought to you by the User Commands girlies. go train that HMM, you absolute legend. πŸ’…βœ¨πŸŒˆ