ADAPTERREMOVAL(1)
โจ NAME โจ
AdapterRemoval(1) - Fast short-read adapter trimming and processing ๐
๐ SYNOPSIS ๐
AdapterRemoval [options...] --file1 <filenames> [--file2 <filenames>]
๐ฆ DESCRIPTION ๐ฆ
okay so AdapterRemoval is literally the bestie for yeeting leftover adapter sequences off your FASTQ reads ๐ฅ. It works on single-end (SE) or paired-end (PE) reads. You can optionally trim off Ns and low-quality bases, and/or collapse overlapping paired-end mates into one read โจ. Low quality reads get filtered based on their length after trimming and how many ambiguous nucleotides (N) they still have ๐
.
All of that can be combined with demultiplexing at the same time, using 5' barcode sequences ๐ง. Or, if you're feeling extra, AdapterRemoval can try to rebuild a consensus adapter sequence from paired-end data, so you can figure out which adapters were originally used ๐.
If you use this program, please cite the paper ๐ซถ: Schubert, Lindgreen, and Orlando (2016). AdapterRemoval v2: rapid adapter trimming, identification, and read merging. BMC Research Notes, 12;9(1):88
The paper lives at http://bmcresnotes.biomedcentral.com/articles/10.1186/s13104-016-1900-2 ๐
For the full tea, check the detailed docs at http://adapterremoval.readthedocs.io/ ๐
๐ OPTIONS ๐
--helpโ pulls up a summary of all the command-line options ๐--versionโ prints the version string ๐ธ--file1 filename [filenames...]โ reads FASTQ reads from one or more files, whether they're uncompressed, bzip2 compressed, or gzip compressed. This is either your SE reads or, in PE mode, your mate 1 reads. If you're running PE, both--file1and--file2must be set. Check the primary docs for the list of supported formats ๐ซง--file2 filename [filenames...]โ reads one or more FASTQ files with mate 2 reads for a PE run. If you set this,--file1has to be set too ๐ฆ--identify-adaptersโ tries to build a consensus adapter sequence from fully overlapping pairs of PE reads. The minimum overlap is controlled by--minalignmentlength. The result gets compared with--adapter1and--adapter2. No trimming happens in this mode. Default is off ๐--threads nโ max number of threads. Defaults to 1 ๐งต
๐ธ FASTQ options ๐ธ
--qualitybase baseโ the Phred quality score encoding used in your input reads. Use64for Phred+64 (Illumina 1.3+ and 1.5+) or33for Phred+33 (Illumina 1.8+). The valuesolexaworks for reads with Solexa encoded scores too. Default is 33 โจ--qualitybase-output baseโ the quality score base for reads AdapterRemoval writes out. Same options as before:64(Phred+64, i.e., Illumina 1.3+ and 1.5+),33(Phred+33, Illumina 1.8+), orsolexa. Heads up, quality scores are stored as Phred scores internally, so converting to and from Solexa loses information ๐. The default matches whatever you gave to--qualitybase--qualitymax baseโ the max Phred score expected in your input files, which also gets used when writing output. Possible values are 0 to 93 for Phred+33 files, and 0 to 62 for Phred+64 files. Defaults to 41 ๐--mate-separator separatorโ the character that separates the mate number (1 or 2) from the read name in FASTQ records. Defaults to/๐--interleavedโ turns on--interleaved-inputand--interleaved-outputtogether ๐ง--interleaved-inputโ expects the input to be an interleaved FASTQ file given with--file1, where pairs of reads sit right next to each other (e.g. read1/1, read1/2, read2/1, read2/2, etc.) ๐--interleaved-ouputโ writes PE reads into one single file, interleaving mate 1 and mate 2 reads. By default this file is namedbasename.paired.truncated, but you can change that with the--output1option ๐--combined-outputโ writes all reads into the files specified by--output1and--output2. Reads that got tossed because of quality filters or read merging get replaced with a singleNwith Phred score 0. You can combine this with--interleaved-outputto write PE reads to a single output file set with--output1๐
๐ซง Output file options ๐ซง
--basename filenameโ the prefix used for naming output files, unless those names have been overridden with the matching command-line option (see below) ๐--settings fileโ an output file with info on the parameters used in the run, plus overall stats on the reads after trimming. Default filename isbasename.settings๐--output1 fileโ an output file with your trimmed mate1 reads. Default filename isbasename.pair1.truncatedfor paired-end reads,basename.truncatedfor single-end reads, andbasename.paired.truncatedfor interleaved paired-end reads ๐--output2 fileโ an output file with trimmed mate 2 reads, as long as--interleaved-outputisn't enabled. Default filename isbasename.pair2.truncatedin PE mode ๐ฆ--singleton fileโ an output file for paired reads whose mate got discarded. Default filename isbasename.singleton.truncated๐ฅ--outputcollapsed fileโ if--collapsedis set, this holds overlapping mate pairs that got merged into one read (PE mode), or reads where the adapter was spotted by a minimum overlap, which means the whole template molecule is there. It leaves out reads that later got trimmed for low quality or ambiguous nucleotides. Default filename isbasename.collapsed๐ฅ--outputcollapsedtruncated fileโ collapsed reads (see--outputcollapsed) that got trimmed because of low-quality or ambiguous nucleotides. Default filename isbasename.collapsed.truncatedโ๏ธ--discarded fileโ holds reads discarded because of--minlength,--maxlengthor--maxns. Default filename isbasename.discarded๐๏ธ
๐ง Output compression options ๐ง
--gzipโ if set, every FASTQ file AdapterRemoval writes gets gzip compressed, using the level from--gzip-level. The.gzextension gets added to files that didn't get a filename on the command line. Defaults to off ๐๏ธ--gzip-level levelโ the compression level used when gzipping FASTQ files. Must be a value from 0 to 9, where 0 disables compression and 9 is the best compression. Defaults to 6 โญ--bzip2โ if set, every FASTQ file AdapterRemoval writes gets bzip2 compressed, using the level from--bzip2-level. The.bz2extension gets added to files that didn't get a filename on the command line. Defaults to off ๐--bzip2-level levelโ the compression level used when bzip2-ing FASTQ files. Must be a value from 1 to 9, where 9 is the best compression. Defaults to 9 ๐ซง
๐ FASTQ trimming options ๐
--adapter1 adapterโ the adapter sequence you expect to find in mate 1 reads, written in read direction. For a full breakdown of how to give the right adapter sequences, see the "Adapters" section of the online docs. Default isAGATCGGAAGAGCACACGTCTGAACTCCAGTCACNNNNNNATCTCGTATGCCGTCTTCTGCTTG๐ง--adapter2 adapterโ the adapter sequence you expect to find in mate 2 reads, written in read direction. Same deal, check the "Adapters" section of the online docs for the details. Default isAGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGTAGATCTCGGTGGTCGCCGTATCATT๐ธ--adapter-list filenameโ reads one or more adapter sequences from a table. The first two columns (separated by whitespace) of each line should match the values you'd pass to--adapter1and--adapter2. In SE mode, only column one is needed. Lines starting with#get ignored. When there are multiple rows, AdapterRemoval tries each adapter (pair) and picks the best aligning adapters for each FASTQ read it processes ๐--minadapteroverlap lengthโ in SE mode, reads only get trimmed if the overlap between the read and the adapter is at least X bases long, not counting ambiguous nucleotides (N). This is independent of--minalignmentlengthwhen you use--collapse. It lets you be conservative about picking putative complete inserts in SE mode, while still making sure all possible adapter contamination gets trimmed. The default is 0 ๐ซถ--mm mismatchrateโ the allowed fraction of mismatches in the aligned region. If the value is less than 1, it gets used directly. If--mismatchrateis greater than 1, the rate is set to 1 /--mismatchrate. The default is 3 when trimming adapters, which corresponds to a max mismatch rate of 1/3, and 10 when using--identify-adapters๐--shift nโ to allow for missing bases at the 5' end of the read, the program can let the alignment slip--shiftbases at the 5' end. This is the same as starting the alignment up to--shiftnucleotides into read2 (for PE) or the adapter (for SE). The default is 2 ๐ฆ--trim5p n [n]โ trims the 5' end of reads by a fixed amount after removing adapters, but before quality-based trimming. Give one value to trim mate 1 and mate 2 reads the same amount, or two values separated by a space to trim each mate by a different amount. Off by default ๐--trim3p n [n]โ trims the 3' end of reads by a fixed amount. Works the same way as--trim5p๐--trimnsโ trims consecutive Ns from the 5' and 3' termini. If quality trimming is also on (--trimqualities), then stretches of mixed low-quality bases and/or Ns get trimmed too ๐ฅ--maxns nโ discards reads containing more than--maxambiguous bases ('N') after trimming. Default is 1000 ๐๏ธ--trimqualities: okay so this one trims runs of low quality bases off both the 5' and 3' ends ๐งผ The cutoff is set by--minquality. If you've also turned on--trimns, then stretches that mix low-quality bases and Ns get trimmed too ๐--trimwindows window_size: this is a sliding window trimmer, inspired by sickle ๐ช Pass it awindow_sizeand it does the job. There's a whole "Window based quality trimming" section below if you want the deets ๐ฆ--minquality minimum: this sets the quality threshold for--trimqualitiesand--trimwindows๐ฏ The default is2.--preserve5p: bases on the 5p are off-limits for--trimns,--trimqualities, and--trimwindows๐ โโ๏ธ Heads up, collapsed reads won't get quality trimmed when this is on ๐ซถ--minlength length: reads shorter than this get tossed after trimming ๐๏ธ The default is15.--maxlength length: reads longer than this get tossed after trimming ๐ The default is4294967295.
๐งฌ FASTQ merging options
--collapse: for paired-end reads, this merges overlapping mates into one read and recalculates the quality scores ๐ฏ For single-end reads, it tries to find templates where the whole sequence is available ๐ Either way, the finished collapsed reads get anM_name prefix, and any collapsed reads that get trimmed because of quality settings get anMT_prefix ๐ท๏ธ The overlap has to be at least--minalignmentlengthnucleotides, and the max number of mismatches is set by--mm๐--minalignmentlength length: this is the minimum overlap between mate 1 and mate 2 before they get collapsed into one (paired-end), or the minimum when hunting for complete template sequences in single-end mode ๐งฉ The default is11.--seed seed: when collapsing reads, if the two reads disagree at a position but both bases have the same quality, AdapterRemoval picks one at random ๐ฒ This option sets the seed for that random number generator, and the value also gets written to the settings file ๐ Heads up: setting the seed isn't reliable in multithreaded mode, since the order of operations is non-deterministic ๐ญ--collapse-deterministic: this turns on deterministic mode ๐ Right now it only affects--collapse. Overlapping bases that differ but have equal quality get set toNwith quality0, instead of being randomly sampled ๐ Using this also turns on--collapsefor you โจ--collapse-conservatively: this is a different merging algorithm, inspired by FASTQ-join ๐ฆ For overlapping bases that match, the highest quality score wins ๐ For overlapping bases that mismatch, the higher quality base wins, and the quality becomes the absolute difference in Phred-score between the two bases ๐งฎ If mismatching bases have identical quality scores, the base becomesNand the quality score becomes0(Phred-encoded) ๐ Using this also turns on--collapse๐
๐งบ FASTQ demultiplexing options
--barcode-list filename: this does demultiplexing using a table of one or two fixed-length barcodes, for SE or PE reads ๐งบ The table should have 2 or 3 columns. The first column is the sample name, and the second and third are the mate 1 barcode and the (optional) mate 2 barcode ๐ท๏ธ For the full scoop, check the "Demultiplexing" section of the online documentation ๐--barcode-mm n: this is the max number of mismatches allowed when counting mismatches in both the mate 1 and mate 2 barcodes for paired reads ๐ข--barcode-mm-r1 n: this is the max number of mismatches allowed for the mate 1 barcode ๐ If you don't set it, it matches the--barcode-mmvalue, and it can't be higher than--barcode-mm๐ โโ๏ธ--barcode-mm-r2 n: same deal, but for the mate 2 barcode ๐ If you don't set it, it matches--barcode-mm, and it can't go higher than--barcode-mmeither ๐ โโ๏ธ--demultiplex-only: this only does demultiplexing, using the barcode list you gave--barcode-list. No other processing happens ๐ง
โจ WINDOW BASED QUALITY TRIMMING โจ
As of v2.2.2, AdapterRemoval has a sliding window approach to quality-based base trimming, inspired by sickle ๐ช If window_size is greater than or equal to 1, that number is the window size for all reads ๐ฏ If window_size is a number that's at least 0 but less than 1, then it gets multiplied by the length of each individual read to figure out the window size ๐งฎ If the window length ends up zero, or bigger than the current read length, the read length gets used instead ๐
Here's how reads get trimmed for a given window size ๐
- The new 5' is found by locating the first window where both the average quality and the quality of the first base in that window are greater than
--minquality๐ - The new 3' is found by sliding the first window right, until the average quality drops to less than or equal to
--minquality. The new 3' goes on the last base in that window where the quality is greater than or equal to--minquality๐ - If no 5' position can be determined, the read gets discarded ๐
โจ EXIT STATUS โจ
AdapterRemoval exits with status 0 if the program ran successfully ๐ฅณ If any errors came up, it exits with a non-zero code ๐จ Do not use the output from AdapterRemoval if it returned a non-zero exit code! ๐
โโ๏ธ๐
โจ REPORTING BUGS โจ
Found a bug? Report it on the AdapterRemoval issue tracker ๐
https://github.com/MikkelSchubert/adapterremoval/issues
โจ LICENSE โจ
This program is free software ๐ฝ You can redistribute it and/or modify it under the terms of the GNU General Public License, as published by the Free Software Foundation, either version 3 of the License or (your call) any later version ๐
This program is distributed in the hope that it'll be useful, but it comes with absolutely no warranty ๐ Not even the implied warranties of merchantability or fitness for a particular purpose. Check out the GNU General Public License for the details ๐
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/> ๐
โจ AUTHOR โจ
Mikkel Schubert and Stinus Lindgreen ๐
โจ COPYRIGHT โจ
2017, Mikkel Schubert and Stinus Lindgreen ๐
Okay, that's the whole thing, bestie ๐ซถ You're officially a manpage legend now ๐ง AdapterRemoval v2.3.4, last updated Aug 22, 2024 ๐
๐ฆ where this page comes from
- debian trixie: adapterremoval 2.3.4-1 ยท GPL-3.0-or-later
- ubuntu questing: adapterremoval 2.3.4-1
- ubuntu resolute: adapterremoval 2.3.4-1build1 ยท GPL-3.0-or-later
- ubuntu stonking: adapterremoval 2.3.4-1build1 ยท GPL-3.0-or-later
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms