cmemit(1)
π cmemit β sample sequences from a covariance model β¨
okay so bestie, welcome to cmemit(1) from the Infernal Manual β this is the lil program that makes up sequences out of thin air using a covariance model, and honestly? it's giving mad scientist energy and i am obsessed. π§ͺπ
π NAME π
cmemit β sample sequences from a covariance model
π SYNOPSIS π
cmemit [options] <cmfile>
πΈ DESCRIPTION πΈ
So what does cmemit actually do, bestie? It samples (emits) sequences from the covariance model(s) sitting in <cmfile>, and then writes those sequences to output. And why would you even want that? Because sampling sequences is lowkey useful for a whole bunch of purposes β like creating synthetic true positives for benchmarks or tests. iconic behaviour, no cap.
The default vibe is to sample ten unaligned sequences from each CM. But you can switch it up:
- with the
-coption, you can emit a single majority-rule consensus sequence - with the
-aoption, you can emit an alignment
Your <cmfile> may contain a whole library of CMs, and if it does, every single CM gets used in turn β no skipping, no favourites. π
And plot twist: <cmfile> may be '-' (a dash!), which means read this input from stdin rather than from a file. so convenient.
β οΈ okay, important lore for models with zero basepairs: for those, sequences are sampled from the profile HMM filter instead of the CM. Now, these models are gonna be nearly identical anyway (unless special options were used incmbuildto prevent that), so using the HMM instead of the CM will not change the output in a significant way β unless the-loption is used. With-l, the HMM gets configured for equiprobable model begin and end positions, while the CM will not. so that's a real difference, fr fr. You can forcecmemitto always sample from the CM with the--nohmmonlyoption. πͺ
β¨ OPTIONS β¨
-hβ Help; print a brief reminder of command line usage and available options. π«Ά-o <f>β Save the synthetic sequences to file<f>rather than writing them to stdout.-N <n>β Generate<n>sequences. The default value for<n>is10.-uβ Write the generated sequences in unaligned format (FASTA). This is the default behavior, so it's the vibe you get for free.-aβ Write the generated sequences in an aligned format (STOCKHOLM) with consensus structure annotation rather than FASTA. Other output formats are possible with the--outformatoption. π-cβ Predict a single majority-rule consensus sequence instead of sampling sequences from the CM's probability distribution. Here's the tea on the casing: highly conserved residues (base paired residues that score higher than3.0bits, or single stranded residues that score higher than1.0bits) are shown in UPPER CASE; others are shown in lowercase.-e <n>β Embed the CM emitted sequences in a larger randomly generated sequence of length<n>generated from an HMM that was trained on real genomic sequences with various GC contents (the same HMM used bycmcalibrate). You can use the--iidoption to generate25%A, C, G, and U sequence instead. The CM emitted sequence will begin at a random position within the larger sequence and will be included in its entirety unless the--u5por--u3poptions are used. When-eis used in combination with--u5p, the CM emitted sequence will always begin at position1of the larger sequence and will be truncated 5'. When used in combination with--u3pthe CM emitted sequence will always end at position<n>of the larger sequence and will be truncated 3'.-lβ Configure the CMs into local mode before emitting sequences. By default the model will be in global mode. In local mode, large insertions and deletions are more common than in global mode. so if you want chaos, you know where to find it. π
βοΈ OPTIONS FOR TRUNCATING EMITTED SEQUENCES βοΈ
--u5pβ Truncate all emitted sequences at a randomly chosen start position<n>, by only outputting residues beginning at<n>. A different start point is randomly chosen for each sequence. no two the same, periodt.--u3pβ Truncate all emitted sequences at a randomly chosen end position<n>, by only outputting residues up to position<n>. A different end point is randomly chosen for each sequence.--a5p <n>β In combination with the-aoption, truncate the emitted alignment at a randomly chosen start match position<n>, by only outputting alignment columns for positions after match state<n>-1.<n>must be an integer between0and the consensus length of the model (which can be determined using thecmstatprogram). As a special case, using0as<n>will result in a randomly chosen start position. π²--a3p <n>β In combination with the-aoption, truncate the emitted alignment at a randomly chosen end match position<n>, by only outputting alignment columns for positions before match state<n>+1.<n>must be an integer between1and the consensus length of the model (which can be determined using thecmstatprogram). As a special case, using0as<n>will result in a randomly chosen end position. π²
π OTHER OPTIONS π
--seed <n>β Seed the random number generator with<n>, an integer>= 0. If<n>is nonzero, stochastic sampling of sequences will be reproducible β the same command will give the same results, which is so satisfying. If<n>is0, the random number generator is seeded arbitrarily, and stochastic samplings will vary from run to run of the same command. The default seed is0.--iidβ With-e, generate the larger sequences as25%each A, C, G and U.--rnaβ Specify that the emitted sequences be output as RNA sequences. This is true by default. π--dnaβ Specify that the emitted sequences be output as DNA sequences. By default, the output alphabet is RNA.--idx <n>β Specify that the emitted sequences be named starting with<modelname>.<n>. By default<n>is1.--outformat <s>β With-a, specify the output alignment format as<s>. Acceptable formats are:Pfam,AFA,A2M,Clustal, andPhylip.AFAis aligned fasta. OnlyPfamandStockholmalignment formats will include consensus structure annotation. β¨--tfile <f>β Dump tabular sequence parsetrees (tracebacks) for each emitted sequence to file<f>. Primarily useful for debugging, bestie. π--exp <x>β Exponentiate the emission and transition probabilities of the CM by<x>and then renormalize those distributions before emitting sequences. This option changes the CM probability distribution of parsetrees relative to default. With<x>less than1.0the emitted sequences will tend to have lower bit scores upon alignment to the CM. With<x>greater than1.0, the emitted sequences will tend to have higher bit scores upon alignment to the CM. This bit score difference will increase as<x>moves further away from1.0in either direction. If<x>equals1.0, this option has no effect relative to default. This option is useful for generating sequences that are either more difficult (<x><1.0) or easier (<x>>1.0) for the CM to distinguish as homologous from background, random sequence.--hmmonlyβ Emit from the filter profile HMM instead of the CM.--nohmmonlyβ Never emit from the filter profile HMM, always use the CM, even for models with zero basepairs. πͺ
π SEE ALSO π
See infernal(1) for a master man page with a list of all the individual man pages for programs in the Infernal package. it's the mothership, fr fr.
For complete documentation, see the user guide that came with your Infernal distribution (Userguide.pdf); or see the Infernal web page (http://eddylab.org/infernal/).
Β©οΈ COPYRIGHT Β©οΈ
Copyright (C) 2023 Howard Hughes Medical Institute. Freely distributed under the BSD open source license.
For additional information on copyright and licensing, see the file called COPYRIGHT in your Infernal source distribution, or see the Infernal web page (http://eddylab.org/infernal/).
π AUTHOR π
and that's a wrap bestie π this was cmemit(1) from Infernal 1.1.5, dated Sep 2023 β go emit some absolutely slay sequences, you've got this πβ¨π¦
π¦ where this page comes from
- debian trixie: infernal 1.1.5-3 Β· GPL-3.0-only
- ubuntu noble: infernal 1.1.5-2 Β· GPL-3.0-only
- ubuntu questing: infernal 1.1.5-3
- ubuntu resolute: infernal 1.1.5-3build1 Β· GPL-3.0-only
- ubuntu stonking: infernal 1.1.5-4 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms