PORECHOP(1)

✨ PORECHOP ✨

okay bestie, welcome to porechop β€” the manual page, but make it a group chat πŸ’… this is a tool for finding adapters in Oxford Nanopore reads, trimming them off the ends and splitting reads that have adapters hiding in the middle. it's giving βœ‚οΈπŸ§¬ and honestly? iconic.


πŸŽ€ SYNOPSIS πŸŽ€

porechop [-h] -i INPUT [-o OUTPUT] [--format
{auto,fasta,fastq,fasta.gz,fastq.gz}] [-v VERBOSITY] [-t THREADS]
[--version] [-b BARCODE_DIR] [--barcode_threshold BARCODE_THRESHOLD]
[--barcode_diff BARCODE_DIFF] [--require_two_barcodes] [--untrimmed]
[--discard_unassigned] [--adapter_threshold ADAPTER_THRESHOLD]
[--check_reads CHECK_READS] [--scoring_scheme SCORING_SCHEME]
[--end_size END_SIZE] [--min_trim_size MIN_TRIM_SIZE] [--extra_end_trim
EXTRA_END_TRIM] [--end_threshold END_THRESHOLD] [--no_split]
[--discard_middle] [--middle_threshold MIDDLE_THRESHOLD]
[--extra_middle_trim_good_side EXTRA_MIDDLE_TRIM_GOOD_SIDE]
[--extra_middle_trim_bad_side EXTRA_MIDDLE_TRIM_BAD_SIDE]
[--min_split_read_size MIN_SPLIT_READ_SIZE]

like yes, that's a lot of brackets, breathe, we'll get through it together 🫢


🌸 DESCRIPTION 🌸

so basically: Porechop is a tool for finding adapters in Oxford Nanopore reads, trimming them from the ends and splitting reads with internal adapters. that's the whole vibe. adapters in? adapters out. ✨


πŸ’– OPTIONS πŸ’–

πŸ¦‹ optional arguments

  • -h, --help β€” shows this help message and then dips. exit stage left. πŸšͺ

πŸ‘‘ Main options

  • -i INPUT, --input INPUT β€” FASTA/FASTQ of input reads, or a directory which will be recursively searched for FASTQ files. this one is required, bestie, no input no output, periodt.
  • -o OUTPUT, --output OUTPUT β€” filename for FASTA or FASTQ of trimmed reads. if you don't set it, the trimmed reads get printed to stdout instead. no pressure. πŸ’…
  • --format {auto,fasta,fastq,fasta.gz,fastq.gz} β€” output format for the reads. if it's auto, the format will be chosen based on the output filename or the input read format (default: auto). she'll figure it out herself, she's smart like that. 🧠✨
  • -v VERBOSITY, --verbosity VERBOSITY β€” level of progress information: 0 = none, 1 = some, 2 = lots, 3 = full. the output will go to stdout if reads are saved to a file and stderr if reads are printed to stdout (default: 1). pick your yap level πŸ—£οΈ
  • -t THREADS, --threads THREADS β€” number of threads to use for adapter alignment (default: 4). give her more cores, she'll go faster πŸ”₯
  • --version β€” show program's version number and exit. short and sweet, we love a queen who knows herself πŸ’œ

πŸ“ Barcode binning settings

control the binning of reads based on barcodes (i.e. barcode demultiplexing). sorting the girlies into their correct friend groups, fr fr.

  • -b BARCODE_DIR, --barcode_dir BARCODE_DIR β€” reads will be binned based on their barcode and saved to separate files in this directory. incompatible with --output ⚠️ pick a lane, bestie.
  • --barcode_threshold BARCODE_THRESHOLD β€” a read must have at least this percent identity to a barcode to be binned (default: 75.0).
  • --barcode_diff BARCODE_DIFF β€” if the difference between a read's best barcode identity and its second-best barcode identity is less than this value, it will not be put in a barcode bin (to exclude cases which are too close to call) (default: 5.0). she's not gonna guess, that's messy πŸ’€
  • --require_two_barcodes β€” reads will only be put in barcode bins if they have a strong match for the barcode on both their start and end. default behaviour: a read can be binned with a match at its start or end. stricter queen energy πŸ‘‘
  • --untrimmed β€” bin reads but do not trim them (appropriate if reads are to be used with Nanopolish). default is to trim the reads. sometimes you keep the whole fit on, iykyk πŸŽ€
  • --discard_unassigned β€” discard unassigned reads (instead of creating a "none" bin) (default: False). no bin, no home, no problem πŸ™ˆ

🌈 Adapter search settings

control how the program determines which adapter sets are present.

  • --adapter_threshold ADAPTER_THRESHOLD β€” an adapter set has to have at least this percent identity to be labelled as present and trimmed off (0 to 100) (default: 90.0).
  • --check_reads CHECK_READS β€” this many reads will be aligned to all possible adapters to determine which adapter sets are present (default: 10000). she does her research first, obviously πŸ“š
  • --scoring_scheme SCORING_SCHEME β€” comma-delimited string of alignment scores: match, mismatch, gap open, gap extend (default: 3,-6,-5,-2). yes those are negatives, no we're not scared of them 🫢

πŸ’… End adapter settings

control the trimming of adapters from read ends. snip snip βœ‚οΈ

  • --end_size END_SIZE β€” the number of base pairs at each end of the read which will be searched for adapter sequences (default: 150).
  • --min_trim_size MIN_TRIM_SIZE β€” adapter alignments smaller than this will be ignored (default: 4). tiny matches don't count, we don't do micro-drama πŸ™…
  • --extra_end_trim EXTRA_END_TRIM β€” this many additional bases will be removed next to adapters found at the ends of reads (default: 2).
  • --end_threshold END_THRESHOLD β€” adapters at the ends of reads must have at least this percent identity to be removed (0 to 100) (default: 75.0).

🧚 Middle adapter settings

control the splitting of read from middle adapters. the drama in the middle of the read, we handle it ✨

  • --no_split β€” skip splitting reads based on middle adapters. default: split reads when an adapter is found in the middle. sometimes you just let it be, no cap.
  • --discard_middle β€” reads with middle adapters will be discarded. default: reads with middle adapters are split. note that this option is on by default when outputting reads into barcode bins πŸ‘€
  • --middle_threshold MIDDLE_THRESHOLD β€” adapters in the middle of reads must have at least this percent identity to be found (0 to 100) (default: 85.0).
  • --extra_middle_trim_good_side EXTRA_MIDDLE_TRIM_GOOD_SIDE β€” this many additional bases will be removed next to middle adapters on their "good" side (default: 10). good side stays winning πŸ’–
  • --extra_middle_trim_bad_side EXTRA_MIDDLE_TRIM_BAD_SIDE β€” this many additional bases will be removed next to middle adapters on their "bad" side (default: 100). the bad side gets the big chop 😭
  • --min_split_read_size MIN_SPLIT_READ_SIZE β€” post-split read pieces smaller than this many base pairs will not be outputted (default: 1000). too smol, no thanks πŸ“

⭐ AUTHOR ⭐

this manpage was written by Andreas Tille for the Debian distribution and can be used for any other usage of the program. thank you andreas, we appreciate you 🫢


and that's the whole page, bestie!! you read all of it, that's main character energy fr fr πŸ’…βœ¨

this was porechop version 0.2.3, from August 2018, living under the PORECHOP(1) name πŸ’œ bye bye, go trim some adapters πŸ§¬βœ‚οΈπŸŽ€