BAMADAPTERFIND(1)

✨ BAMADAPTERFIND ✨

hi bestie 🫢 welcome to the manual page for bamadapterfind, also known as BAMADAPTERFIND(1) in the general commands lineup. she finds adapter contamination in sequencing reads and honestly? she eats. πŸ’…


🌸 NAME 🌸

bamadapterfind β€” find adapter contamination in sequencing reads πŸ”


πŸŽ€ SYNOPSIS πŸŽ€

bamdapterfind [options]

(yes that's the whole synopsis, she's lowkey minimal like that)


πŸ’– DESCRIPTION πŸ’–

okay so bamadapterfind scans a BAM file looking for contaminations by sequencing adapters. not one but two separate methods for this detection, because she's thorough:

  • list: every single read gets matched against a predefined list of adapter sequences. a sequence counts as matching if there's an overlap of at least adpmatchminscore bases, and that overlap covers at least a factor of adpmatchminfrac of the adapter's length, and the indel free local alignment between the adapter and the read covers at least a factor of adpmatchminpfrac of the length of the possible overlap between the two. three whole conditions, she's picky, we love that. if such a match is found, then the auxiliary field as gets filled with the length of the match, af gets filled with the fraction of the adapter sequence matched, and aa gets filled with the name of the matched adapter sequence. ✨
  • overlap: the two mates need to have a match similar to the following two lines
    s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s16t0t1t2t3
x3x2x1x0s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s16

where an infix s0s1s2... of the first read matches a suffix of the reverse complement of the second read. when that happens it's likely that the first read has been sequenced beyond the end of the payload sequence and into the attached adapter 😭 (sequencer said "and one more for the road"). this overlap needs to be at least MIN_OVERLAP bases long to be considered, no short king overlaps allowed. if such an overlap is found, then the adjacent sequences are checked for a match, where in the example x3x2x1x0 needs to be the reverse complement of t0t1t2t3. the adjacent sequences are checked up to a limit of ADAPTER_MATCH base pairs. if such a match is found then the auxiliary field ah is set to 1 and a3 is used to store the length of the suspected adapter sequence. 🌈


the following key=value pairs can be given at the program start, bestie β€” yes they're key=value pairs, not flags, she's built different:

  • level=<-1|0|1|9|11> β€” set compression level of the output BAM file. valid values are:
    • -1: zlib/gzip default compression level
    • 0: uncompressed
    • 1: zlib/gzip level 1 (fast) compression
    • 9: zlib/gzip level 9 (best) compression

if libmaus has been compiled with support for igzip (see https://software.intel.com/en-us/articles/igzip-a-high-performance-deflate-compressor-with-optimizations-for-genomic-data) then an additional valid value is:

  • 11: igzip compression
  • verbose=<1> β€” valid values are:
    • 1: print progress report on standard error
    • 0: do not print progress report
  • mod=<1048576> β€” if verbose=1 then this sets the frequency of progress reports, i.e. a report is given for each mod'th input read/alignment
  • adaptersbam=<> β€” file name of the BAM file containing the list of adapter used for the adapter matching described above under list. the program contains an internal list which is used if this key is not given.
  • SEED_LENGTH=<12> β€” length of the seed used for detecting overlaps in overlap based matching (see overlap above, default value is 12 base pairs).
  • PCT_MISMATCH=<10> β€” percentage of mismatches allowed for overlap matching. this only includes the overlap, not the suspected attached adapter sequence. the default value is 10.
  • MAX_SEED_MISMATCHES=<SEED_LENGTH*PCT_MISMATCH> β€” maximum number of mismatches allowed in the seed. by default this value is computed as SEED_LENGTH*PCT_MISMATCH.
  • MIN_OVERLAP=<32> β€” minimum length of overlap for overlap matching in base pairs (see above). the default value is 32.
  • ADAPTER_MATCH=<12> β€” maximum number of base pairs to check for matching adapters in overlap based matching. the default value is 12.
  • adpmatchminscore=<16> β€” minimum score for list based adapter matching (see above, default value is 16)
  • adpmatchminfrac=<0.75> β€” minimum fraction of adapter sequence which needs to match (see above, default value is 0.75=75%)
  • adpmatchminpfrac=<0.8> β€” minimum fraction of overlap for adapter list matching (see above, default value is 0.8=80%)
  • clip=<0> β€” clip the adapters off and move the corresponding sequence part to the qs auxiliary field and the corresponding quality string part to the qq auxiliary field
  • reflen=<3000000000> β€” length of reference sequence/genome
  • pA=<0.25> β€” relative frequency of base A in reference sequence/genome
  • pC=<0.25> β€” relative frequency of base C in reference sequence/genome
  • pG=<0.25> β€” relative frequency of base G in reference sequence/genome
  • pT=<0.25> β€” relative frequency of base T in reference sequence/genome

πŸ‘‘ AUTHOR πŸ‘‘

written by German Tischler. king behaviour fr fr. πŸ’œ


πŸ› REPORTING BUGS πŸ›

found a bug? report bugs to <germant@miltenyibiotec.de> β€” don't be shy, she wants to know πŸ™ˆ


copyright Β© 2009-2013 German Tischler, Β© 2011-2013 Genome Research Limited. License GPLv3+: GNU GPL version 3 <http://gnu.org/licenses/gpl.html>

this is free software: you are free to change and redistribute it. there is NO WARRANTY, to the extent permitted by law. 🫢


ngl bestie, that no-warranty line is not a vibe killer, it's just how free software works. iconic honestly.

and that's the whole page!! this manual came to you from BIOBAMBAM, dated July 2013 🌸 β€” yeah she's been around, an OG, a legend, and she's still out here matching adapters and taking names. periodt. πŸ’…βœ¨πŸŽ€πŸ¦‹