YAHA(1)

πŸŽ€ NAME πŸŽ€

okay so bestie, gather round: YAHA β€” a User Command β€” finds split-read mappings on single-end queries. that's the whole assignment. no cap. πŸ’…


✨ DESCRIPTION ✨

fr fr, here's the tea. every default value is just vibing in the parentheses, so peek at those whenever you're wondering "what happens if i don't say anything". 🫢

🌸 To create an index

yaha -g genomeFilename [-H maxHits (65525)] [-L wordLen (15)] [-S Skip-distance (1)]

The genome file can be a FASTA file, or a nib2 file (created by a previous yaha index operation). both are valid, pick your fighter πŸ’–

🌸 To align queries

yaha -x yahaIndexFile [-q queryFile|(stdin)] [-o8|(-osh)|-oss outputFile|(stdout)][AdditionalOptions]

The query file can be either a FASTA file or a FASTQ file. she's flexible like that.

  • -o8 β€” produces alignment output in modified Blast8 format
  • -osh β€” produces alignment output in SAM format with hard clipping
  • -oss β€” produces alignment output in SAM format with soft clipping
  • -t numThreads β€” default (1), your thread count 🧡

🌈 Additional General Alignment Options 🌈

[-BW BandWidth (5)] [-G maxGap (50)] [-H maxHits (650)] [-M minMatch (25)] [-MD MaxDesert (50)] [-P minPercent-identity (0.9)] [-X Xdropoff (25)]

so in bullet form, because we love a list:

  • -BW BandWidth β€” default (5)
  • -G maxGap β€” default (50)
  • -H maxHits β€” default (650)
  • -M minMatch β€” default (25)
  • -MD MaxDesert β€” default (50)
  • -P minPercent-identity β€” default (0.9)
  • -X Xdropoff β€” default (25)

πŸ’œ Affine Gap Scoring

[-AGS (Y)|N] controls use of Affine Gap Scoring. If -AGS is off, a simple edit distance calculation is done. If on, the following are used:

[-GEC GapExtensionCost (2)] [-GOC GapOpenCost (5)] [-MS MatchScore (1)] [-RC ReplacementCost (3)]
  • -GEC GapExtensionCost β€” default (2)
  • -GOC GapOpenCost β€” default (5)
  • -MS MatchScore β€” default (1)
  • -RC ReplacementCost β€” default (3)

πŸ‘‘ Optimal Query Coverage

[-OQC (Y)|N] controls use of the Optimal Query Coverage Algorithm. If -OQC is off, all alignments meeting the above criteria are output. If on, a set of "primary" alignments are found that optimally cover the length of the query, using the following options:

[-BP BreakpointPenalty (5)] [-MGDP MaxGenomicDistancePenalty (5)] [-MNO MinNonOverlap (minMatch)]
  • -BP BreakpointPenalty β€” default (5)
  • -MGDP MaxGenomicDistancePenalty β€” default (5)
  • -MNO MinNonOverlap β€” default is minMatch

The cost of inserting a breakpoint in the Optimal Coverage Set is:

BP*MIN(MGDP, Log10(genomic distance between reference loci))

math girlies stay winning 😭

πŸ¦‹ Secondary alignments

[-FBS Y|(N)] controls inclusion of "secondary" alignments similar to a primary alignment found using -OQC. If -FBS is on, the following are used. A "secondary" alignment must satisfy BOTH criteria. πŸ‘―

[-PRL PercentReciprocalLength (0.9)] [-PSS PercentSimilarScore (0.9)]
  • -PRL PercentReciprocalLength β€” default (0.9)
  • -PSS PercentSimilarScore β€” default (0.9)

🧚 Additional experimental parameters

  • To compress a FASTA file to a nib2 file without creating an index:
yaha -g fastaGenomeFile -c
  • To uncompress a nib2 file back into a FASTA file:
yaha -g nib2GenomeFile -u
  • For finer control of alignments: [-I maxIntron (maxGap)] allows separate control of max deletion size vs. maxGap for insertion size. she does both jobs πŸ’…
  • For a more detailed help message, type:
yaha -xh
🚨 bestie listen. --version is not a valid option. i'm so serious. do not do it. it is giving nothing. πŸ’€

πŸ™ˆ okay so… the plot twist

the manpage said the entire thing again. like, the whole usage block, twice, back to back. and honestly? icon behavior. so here it is one more time, re-explained with my whole chest, because i would never gatekeep a single flag from you. ✨

Usage (Default parameter values shown in parenthesis):

To create an index:

yaha -g genomeFilename [-H maxHits (65525)] [-L wordLen (15)] [-S Skip-distance (1)]

The genome file can be a FASTA file, or a nib2 file (created by a previous yaha index operation).

To align queries:

yaha -x yahaIndexFile [-q queryFile|(stdin)] [-o8|(-osh)|-oss outputFile|(stdout)][AdditionalOptions]

The query file can be either a FASTA file or a FASTQ file.

  • -o8 β†’ modified Blast8 format output
  • -osh β†’ SAM format, hard clipping
  • -oss β†’ SAM format, soft clipping
  • -t numThreads β†’ (1)

🌈 Additional General Alignment Options 🌈

[-BW BandWidth (5)] [-G maxGap (50)] [-H maxHits (650)] [-M minMatch (25)] [-MD MaxDesert (50)] [-P minPercent-identity (0.9)] [-X Xdropoff (25)]
  • -BW BandWidth (5)
  • -G maxGap (50)
  • -H maxHits (650)
  • -M minMatch (25)
  • -MD MaxDesert (50)
  • -P minPercent-identity (0.9)
  • -X Xdropoff (25)

[-AGS (Y)|N] controls use of Affine Gap Scoring. With -AGS off, a simple edit distance calculation happens. With it on, these come into play:

[-GEC GapExtensionCost (2)] [-GOC GapOpenCost (5)] [-MS MatchScore (1)] [-RC ReplacementCost (3)]
  • -GEC GapExtensionCost (2)
  • -GOC GapOpenCost (5)
  • -MS MatchScore (1)
  • -RC ReplacementCost (3)

[-OQC (Y)|N] controls use of the Optimal Query Coverage Algorithm. With -OQC off, every alignment that meets the above criteria gets output. With it on, a set of "primary" alignments is found that optimally covers the query's length, using:

[-BP BreakpointPenalty (5)] [-MGDP MaxGenomicDistancePenalty (5)] [-MNO MinNonOverlap (minMatch)]
  • -BP BreakpointPenalty (5)
  • -MGDP MaxGenomicDistancePenalty (5)
  • -MNO MinNonOverlap defaults to minMatch

The cost of inserting a breakpoint in the Optimal Coverage Set is:

BP*MIN(MGDP, Log10(genomic distance between reference loci))

[-FBS Y|(N)] controls inclusion of "secondary" alignments similar to a primary alignment found using -OQC. If -FBS is on, these are used β€” and a "secondary" alignment has to satisfy BOTH criteria:

[-PRL PercentReciprocalLength (0.9)] [-PSS PercentSimilarScore (0.9)]
  • -PRL PercentReciprocalLength (0.9)
  • -PSS PercentSimilarScore (0.9)

Additional experimental parameters:

  • Compress a FASTA file to a nib2 file without making an index: yaha -g fastaGenomeFile -c
  • Uncompress a nib2 file back into a FASTA file: yaha -g nib2GenomeFile -u
  • For finer control of alignments: [-I maxIntron (maxGap)] lets you control max deletion size separately from maxGap (which handles insertion size)
  • More detailed help: yaha -xh
😀 and once more for the people in the back: --version is not a valid option.

πŸ’– SEE ALSO πŸ’–

https://github.com/GregoryFaust/yaha β€” go be nosy, bestie, the source is right there 🌸


and that's a wrap on YAHA version 0.1.83, dated July 2018 πŸŽ€ thank you for coming to my ted talk, you're gonna slay those split-read mappings, mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from