MAC3_PILEUP(1)

πŸ“¦
version 3.0.4 Β· 5 versions
, in ubuntu stonking

πŸ’– MAC3_PILEUP(1) β€” aka mac3_pileup πŸ’–

okay bestie, gather round, because we're about to talk about mac3_pileup β€” the Model-based Analysis for ChIP-Sequencing pileup girly of your dreams. she's living in the User Commands section, she's got a whole manual page named after her, and honestly? she ate. let's get into it πŸŽ€


✨ NAME ✨

mac3_pileup β€” Model-based Analysis for ChIP-Sequencing πŸ’…


🌸 DESCRIPTION 🌸

here's the vibe, fr fr β€” this is the usage line, and yes it's giving long, because she has OPINIONS about your arguments:

usage: macs3 pileup [-h] -i IFILE [IFILE ...] -o OUTPUTFILE [--outdir OUTDIR]
       [-f {AUTO,BAM,SAM,BED,ELAND,ELANDMULTI,ELANDEXPORT,BOWTIE,BAMPE,BEDPE,FRAG}]
       [--barcodes BARCODEFILE] [--max-count MAXCOUNT] [-B] [--extsize EXTSIZE]
       [--buffer-size BUFFER_SIZE] [--verbose VERBOSE]

πŸ¦‹ options: πŸ¦‹

okay so here is where it gets good. every single flag, coming right up, no skips, no cuts, no "you get the idea" β€” because you deserve the whole thing 🫢

  • -h, --help β€” shows you this help message and then dips. exit stage left, bye-bye πŸ‘‹
  • -i, --ifile IFILE [IFILE ...] β€” your alignment file(s). and listen, if you hand over multiple files like -t A B C, she'll read all of them and combine them into one glorious pileup. this one is REQUIRED, bestie. non-negotiable. no file, no look πŸ’€
  • -o, --ofile OUTPUTFILE β€” the name for your output bedGraph file. if you don't specify it, she just writes to standard output instead. but also β€” REQUIRED. yes she's a little contradictory, that's her main character energy, we love her anyway πŸ‘‘
  • --outdir OUTDIR β€” point her at a directory and every output file lands there. Default: wherever you currently are (the current working directory) πŸ“
  • -f, --format {AUTO,BAM,SAM,BED,ELAND,ELANDMULTI,ELANDEXPORT,BOWTIE,BAMPE,BEDPE,FRAG} β€” the format of your tag file, and your choices are "AUTO", "BED", "ELAND", "ELANDMULTI", "ELANDEXPORT", "SAM", "BAM", "BOWTIE", "BAMPE", "BEDPE", or "FRAG". DEFAULT: "AUTO", which lets 'macs3 pileup' decide the format herself (she picks from "AUTO", "BED", "ELAND", "ELANDMULTI", "ELANDEXPORT", "SAM", "BAM" and "BOWTIE"). but for BAMPE, BEDPE or FRAG? you must say it explicitly, she will not guess, no ma'am. and heads up: when the format is BAMPE, BEDPE or FRAG, the -B and --extsize options just get ignored entirely, because MACS3 switches into Paired-End mode and does its own thing πŸ’…
  • --barcodes BARCODEFILE β€” a plain text file holding the barcodes for the fragment file, and this only matters while the format is 'FRAG'. if the format isn't 'FRAG', it does absolutely nothing, zero effect, it's just sitting there. each row in the file should only have the barcode string, that's it. MACS3 will extract only the fragments belonging to the barcodes you listed πŸŽ€
  • --max-count MAXCOUNT β€” okay so in a FRAG format file, the fifth column tells you the count of fragments found at the exact same location from the same barcode. by default MACS3 treats each fragment count exactly as indicated. but if you enable this and set it to a positive integer, MACS3 will not count more than that number. if you set it to 0, MACS3 behaves like the default setting and keeps all the counts. and fyi, callpeak -f FRAG --max-count 1 is supposed to generate the same result as callpeak -f BEDPE --keep-dup all on fragment files. this option gets ignored if the format isn't FRAG, periodt ✨
  • -B, --both-direction β€” so by default, any read gets extended toward the downstream direction by the extension size. that means [0,size-1] (1-based index system) for a plus strand read, and [-size+1,0] for a minus strand read, where position 0 is the 5' end of the aligned read. that default behavior simulates the MACS3 way of piling up ChIP sample reads, where the extension size is set as fragment size/d. if you turn this option on, aligned reads get extended in both upstream and downstream directions by the extension size β€” so [-size,size], where 0 is the 5' end of an aligned read. it can partially simulate the MACS3 way of piling up control reads. however, MACS3 local bias is calculated by maximizing the expected pileup over a ChIP fragment size/d estimated from 10kb, 1kb, d and whole genome background. this option gets ignored when the format is set as BAMPE, BEDPE, or FRAG. DEFAULT: False πŸ¦‹
  • --extsize EXTSIZE β€” the extension size in bps. each alignment read becomes a EXTSIZE of fragment, and then gets piled up. check the description for -B for the details, she already explained it up there. fun fact: it's twice the shiftsize in old MACSv1 language. this option gets ignored when the format is set as BAMPE, BEDPE or FRAG. DEFAULT: 200 ⭐
  • --buffer-size BUFFER_SIZE β€” buffer size for incrementally increasing the internal array size that stores read alignment information. in most cases you do not have to change this parameter, like genuinely, leave her alone. BUT if there are a large number of chromosomes/contigs/scaffolds in your alignment, it's recommended to specify a smaller buffer size to decrease memory usage (fair warning though: it'll take longer to read alignment files, trade-offs, we hate to see it). minimum memory requested for reading an alignment file is about # of CHROMOSOME * BUFFER_SIZE * 8 Bytes. DEFAULT: 100000 🧚
  • --verbose VERBOSE β€” sets the verbose level. 0: only show critical message, 1: show additional warning message, 2: show process information, 3: show debug messages. and if you want to know where the duplicate reads are at? use 3. DEFAULT: 2 πŸ”₯

lowkey a warning bestie 🚨 several of these options (-B, --extsize, --barcodes, --max-count) get ignored depending on your format. if your format is BAMPE, BEDPE or FRAG, some behaviors switch on you. read the flags before you come for her, iykyk πŸ’€

and that's the whole page, bestie!! this gorgeous document is from macs3 pileup 3.0.4, dated May 2026 β€” living her best life in the User Commands manual section, no cap. go pile something up, you absolute icon πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from