FASTQ-MCF(1)

✨ NAME ✨

fastq-mcf β€” the ea-utils girlie that detects levels of adapter presence, computes likelihoods and locations of the adapters πŸ’…


🌸 SYNOPSIS 🌸

fastq-mcf [options] <adapters.fa> <reads.fq> [mates1.fq ...]

πŸ’– DESCRIPTION πŸ’–

okay bestie, first things first: Version: 1.04.676 πŸ“Œ

What she does is detect levels of adapter presence and compute likelihoods and locations (start, end) of the adapters. Then she removes the adapter sequences from the fastq file(s). That's the whole gig. She ate and left no crumbs 🍽️

Stats go to stderr, unless -o is specified. (iykyk β€” keep that in mind.)

Specify -0 to turn off all default settings. Like, all of them. Nuclear option, but make it cute πŸ’€

If you specify multiple 'paired-end' inputs, then a -o option is required for each. IE:

-o read1.clip.q -o read2.clip.fq

no cap, she will not guess for you πŸ™ˆ


πŸŽ€ OPTIONS πŸŽ€

  • -h β€” this help. your girl is nothing if not helpful 🫢
  • -o FIL β€” output file (and stats go to stdout when you do this)
  • -s N.N β€” log scale for adapter minimum-length-match (2.2)
  • -t N β€” % occurance threshold before adapter clipping (0.25)
  • -m N β€” minimum clip length, overrides the scaled auto (1)
  • -p N β€” maximum adapter difference percentage (10)
  • -l N β€” minimum remaining sequence length (19)
  • -L N β€” maximum remaining sequence length (none)
  • -D N β€” remove duplicate reads: Read_1 has an identical N bases (0)
  • -k N β€” sKew percentage-less-than causing cycle removal (2)
  • -x N β€” 'N' (bad read) percentage causing cycle removal (20)
  • -q N β€” quality threshold causing base removal (10)
  • -w N β€” window-size for quality trimming (1)
  • -H β€” remove >95% homopolymer reads (no)
  • -X β€” remove low complexity reads (no)
  • -0 β€” set all default parameters to zero / do nothing
  • -U|u β€” force disable/enable Illumina PF filtering (auto)
  • -P N β€” Phred-scale (auto)
  • -R β€” don't remove N's from the fronts/ends of reads
  • -n β€” don't clip, just output what would be done (a little preview moment πŸ‘€)
  • -C N β€” number of reads to use for subsampling (300k)
  • -S β€” save all discarded reads to .skip files
  • -d β€” output lots of random debugging stuff

πŸ¦‹ Quality adjustment options πŸ¦‹

  • --cycle-adjust CYC,AMT β€” adjust cycle CYC (negative = offset from end) by amount AMT
  • --phred-adjust SCORE,AMT β€” adjust score SCORE by amount AMT
  • --phred-adjust-max SCORE β€” adjust scores > SCORE to SCOTE
yes bestie, SCOTE is literally what the manpage says. we do not fix, we do not editorialize, we report πŸ“‹

🧚 Filtering options* 🧚

  • --[mate-]qual-mean NUM β€” minimum mean quality score
  • --[mate-]qual-gt NUM,THR β€” at least NUM quals > THR
  • --[mate-]max-ns NUM β€” maxmium N-calls in a read (can be a %)
  • --[mate-]min-len NUM β€” minimum remaining length (same as -l)
  • --homopolymer-pct PCT β€” homopolymer filter percent (95)
  • --lowcomplex-pct PCT β€” complexity filter percent (95)

If the mate- prefix is used, then it applies to the second non-barcode read only. periodt πŸ’…


Adapter files are 'fasta' formatted, bestie 🧬

Specify n/a to turn off adapter clipping, and just use filters.

Increasing the scale makes recognition-lengths longer β€” a scale of 100 will force full-length recognition of adapters. iconic ✨

Adapter sequences with _5p in their label will match 'end's, and sequences with _3p in their label will match 'start's, otherwise the 'end' is auto-determined. She's smart like that 🌈


πŸ’œ the skew situation πŸ’œ

Skew is when one cycle is poor, 'skewed' toward a particular base. If any nucleotide is less than the skew percentage, then the whole cycle is removed. Disable for methyl-seq, etc.

Set the skew (-k) or N-pct (-x) to 0 to turn it off. And lowkey, you should do that for miRNA, amplicon and other low-complexity situations! 🚨


πŸ’€ duplicate read filtering πŸ’€

Duplicate read filtering is appropriate for assembly tasks, and never when read length < expected coverage.

-D 50 will use 4.5GB RAM on 100m DNA reads β€” be careful. Like, genuinely. That is not a vibe check you want to fail 😭

Great for RNA assembly though πŸ’–


* Quality filters are evaluated after clipping/trimming. Important order of operations, bestie πŸŽ€

Homopolymer filtering is a subset of low-complexity, but will not be separately tracked unless both are turned on. noted πŸ“


and that's the whole page, bestie 🫢 go forth and clip those adapters, you absolute main character πŸ‘‘

this was fastq-mcf 1.1.2, from July 2015 β€” slay forever, periodt ⭐🌸