1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379
|
.TH "manualpage" 3 "iVar" \" -*- nroff -*-
.ad l
.nh
.SH NAME
manualpage \- Manual
.PP
.SH "Available Commands"
.PP
Command Description trim Trim reads in aligned BAM variants Call variants from aligned BAM file filtervariants Filter variants across replicates or multiple samples aligned using the same reference consensus Call consensus from aligned BAM file getmasked Detect primer mismatches and get primer indices for the amplicon to be masked removereads Remove reads from trimmed BAM file version Show version information trimadapter (EXPERIMENTAL) Trim adapter sequences from reads
.PP
To view detailed usage for each command type \fRivar <command>\fP Note : Commands maked (EXPERIMENTAL) are still under active development\&.
.SH "Description of commands"
.PP
.SS "Trim primer sequences with iVar"
iVar uses primer positions supplied in a BED file to soft clip primer sequences from an aligned and sorted BAM file\&. Following this, the reads are trimmed based on a quality threshold(Default: 20)\&. To do the quality trimming, iVar uses a sliding window approach(Default: 4)\&. The windows slides from the 5' end to the 3' end and if at any point the average base quality in the window falls below the threshold, the remaining read is soft clipped\&. If after trimming, the length of the read is greater than the minimum length specified(Default: 30), the read is written to the new trimmed BAM file\&.
.PP
Please note that the strand is taken into account while doing the trimming so forward primers are trimmed only from forward strand and reverse primers are trimmed from reverse strand\&.
.PP
To sort and index an aligned BAM file (OPTIONAL, if index is not present iVar will create one), the following command can be used,
.PP
.PP
.nf
# Input file \- test\&.bam
samtools sort \-o test\&.sorted\&.bam test\&.bam && samtools index test\&.sorted\&.bam\&.
.fi
.PP
.PP
\fBNote\fP: All the trimming in iVar is done by soft-clipping reads in an aligned BAM file\&. This information is lost if reads are extracted in fastq or fasta format from the trimmed BAM file\&.
.PP
Command:
.PP
.nf
ivar trim
Usage: ivar trim \-i [<input\&.bam>] \-b <primers\&.bed> [\-p <prefix>] [\-m <min\-length>] [\-q <min\-quality>] [\-s <sliding\-window\-width>]
Input Options Description
\-i Sorted bam file, with aligned reads, to trim primers and quality\&. If not specified will read from standard in
\-b (Required) BED file with primer sequences and positions
\-f Primer pair information file containing left and right primer names for the same amplicon separated by a tab
If provided, reads will be filtered based on their overlap with amplicons prior to trimming
\-m Minimum length of read to retain after trimming (Default: 50% the average length of the first 1000 reads)
\-q Minimum quality threshold for sliding window to pass (Default: 20)
\-s Width of sliding window (Default: 4)
\-e Include reads with no primers\&. By default, reads with no primers are excluded
\-k Keep reads to allow for reanalysis: keep reads which would be dropped by
alignment length filter or primer requirements, but mark them QCFAIL
Output Options Description
\-p Prefix for the output BAM file\&. If none is specified the output will write to standard out\&.
.fi
.PP
.PP
Example Usage:
.PP
.nf
ivar trim \-b test_primers\&.bed \-p test\&.trimmed \-i test\&.bam \-q 15 \-m 50 \-s 4
samtools view \-h test\&.bam | ivar trim \-b test_primers\&.bed \-p test\&.trimmed
.fi
.PP
.PP
The command above will produce a trimmed BAM file test\&.trimmed\&.bam after trimming the aligned reads in test\&.bam using the primer positions specified in test_primers\&.bed and a minimum quality threshold of \fB15\fP, minimum read length of \fB50\fP and a sliding window of \fB4\fP\&.
.PP
Example Usage:
.PP
.nf
bwa mem \-t 32 reference\&.fa 1\&.fq 2\&.fq | ivar trim \-b test_primers\&.bed \-x 3 \-m 30 | samtools sort \- | samtools mpileup \-aa \-A \-Q 0 \-d 0 \- | ivar consensus \-p test_consensus \-m 10 \-n N \-t 0\&.5
.fi
.PP
.PP
The command above will allow you to go from alignment to consensus sequence in a single command using the bwa aligner\&.
.PP
Example BED file
.PP
.PP
.nf
Puerto 28 52 400_1_out_L 60 +
Puerto 482 504 400_1_out_R 60 \-
Puerto 359 381 400_2_out_L 60 +
Puerto 796 818 400_2_out_R 60 \-
Puerto 658 680 400_3_out_L* 60 +
Puerto 1054 1076 400_3_out_R* 60 \-
\&.
\&.
\&.
\&.
.fi
.PP
.SS "Call variants with iVar"
iVar uses the output of the \fRsamtools mpileup\fP command to call variants - single nucleotide variants(SNVs) and indels\&. In order to call variants correctly, the reference file used for alignment must be passed to iVar using the \fR-r\fP flag\&. The output of \fRsamtools pileup\fP is piped into \fRivar variants\fP to generate a \&.tsv file with the variants\&. There are two parameters that can be set for variant calling using iVar - minimum quality(Default: 20) and minimum frequency(Default: 0\&.03)\&. Minimum quality is the minimum quality for a base to be counted towards the ungapped depth to canculate iSNV frequency at a given position\&. For insertions, the quality metric is discarded and the mpileup depth is used directly\&. Minimum frequency is the minimum frequency required for a SNV or indel to be reported\&.
.PP
.SS "Amino acid translation of iSNVs"
.PP
iVar can identify codons and translate variants into amino acids using a GFF file in the \fRGFF3\fP format containing the required coding regions (CDS)\&. In absence of a GFF file, iVar will not perform the translation and 'NA' will be added to the output file in place of the reference and alternate codons and amino acids\&. The GFF file in the GFF3 format can be downloaded via ftp from NCBI RefSeq/Genbank\&. They are usually the files with the extension '\&.gff\&.gz'\&. For example, the GFF file for Zaire Ebolavirus can be found \fRhere\fP\&. More details on GFF3 files hosted by NCBI can be found in their ftp \fRFAQs\fP\&.
.PP
.SS "Account for RNA editing through polymerase slippage"
.PP
Some RNA viruses such as Ebola virus, might have polymerase slippage causing the insertion of a couple of nucleotides\&. More details can be found \fRhere\fP\&. iVar can account for this editing and identify the correct open reading frames\&. The user will have to specify two additional parameters, \fBEditPosition\fP: Position at which edit occurs and \fBEditSequence\fP: The sequence tht is inserted at the given positon, in the 'attributes' column of the GFF file to account for this\&. A test example is given below,
.PP
.PP
.nf
test Genbank CDS 2 292 \&. + \&. ID=id\-testedit1;Note=PinkFloyd;EditPosition=100;EditSequence=A
test Genbank CDS 2 292 \&. + \&. ID=id\-testedit2;Note=AnotherBrickInTheWall;EditPosition=102;EditSequence=AA
.fi
.PP
.PP
If a certain base is present in multiple CDSs, iVar will add a new row for each CDS frame and distinguish the rows by adding the ID (specified in attributes of GFF) of the GFF feature used for the translation\&. This is shown for position 42 in the example output below\&. There are two rows with two different GFF features: id-test3 and id-test4\&.
.PP
Command:
.PP
.nf
Usage: samtools mpileup \-aa \-A \-d 0 \-B \-Q 0 \-\-reference [<reference\-fasta] <input\&.bam> | ivar variants \-p <prefix> [\-q <min\-quality>] [\-t <min\-frequency\-threshold>] [\-m <minimum depth>] [\-r <reference\-fasta>] [\-g GFF file]
Note : samtools mpileup output must be piped into ivar variants
Input Options Description
\-q Minimum quality score threshold to count base (Default: 20)
\-t Minimum frequency threshold(0 \- 1) to call variants (Default: 0\&.03)
\-m Minimum read depth to call variants (Default: 0)
\-G Count gaps towards depth\&. By default, gaps are not counted
\-r Reference file used for alignment\&. This is used to translate the nucleotide sequences and identify intra host single nucleotide variants
\-g A GFF file in the GFF3 format can be supplied to specify coordinates of open reading frames (ORFs)\&. In absence of GFF file, amino acid translation will not be done\&.
Output Options Description
\-p (Required) Prefix for the output tsv variant file
.fi
.PP
.PP
Example Usage:
.PP
.nf
samtools mpileup \-aa \-A \-d 600000 \-B \-Q 0 test\&.trimmed\&.bam | ivar variants \-p test \-q 20 \-t 0\&.03 \-r test_reference\&.fa \-g test\&.gff
.fi
.PP
.PP
The command above will generate a test\&.tsv file\&.
.PP
Example of output \&.tsv file\&.
.PP
.PP
.nf
REGION POS REF ALT REF_DP REF_RV REF_QUAL ALT_DP ALT_RV ALT_QUAL ALT_FREQ TOTAL_DP PVAL PASS GFF_FEATURE REF_CODON REF_AA ALT_CODON ALT_AA
test 42 G T 0 0 0 1 0 49 1 1 1 FALSE id\-test3 AGG R ATG M
test 42 G T 0 0 0 1 0 49 1 1 1 FALSE id\-test4 CAG Q CAT H
test 320 A T 1 1 35 1 1 46 0\&.5 2 0\&.666667 FALSE NA NA NA NA NA
test 365 A T 0 0 0 1 1 27 1 1 1 FALSE NA NA NA NA NA
.fi
.PP
.PP
Description
.PP
Field Description REGION Region from BAM file POS Position on reference sequence REF Reference base ALT Alternate Base REF_DP Ungapped depth of reference base REF_RV Ungapped depth of reference base on reverse reads REF_QUAL Mean quality of reference base ALT_DP Ungapped depth of alternate base\&. ALT_RV Ungapped deapth of alternate base on reverse reads ALT_QUAL Mean quality of alternate base ALT_FREQ Frequency of alternate base TOTAL_DP Total depth at position PVAL p-value of fisher's exact test PASS Result of p-value <= 0\&.05 GFF_FEATURE ID of the GFF feature used for the translation REF_CODON Codong using the reference base REF_AA Amino acid translated from reference codon ALT_CODON Codon using the alternate base ALT_AA Amino acid translated from the alternate codon
.PP
\fBNote\fP: Please use the -B options with \fRsamtools mpileup\fP to call variants and generate consensus\&. When a reference sequence is supplied, the quality of the reference base is reduced to 0 (ASCII: !) in the mpileup output\&. Disabling BAQ with -B seems to fix this\&. This was tested in samtools 1\&.7 and 1\&.8\&.
.SS "Filter variants across replicates with iVar"
iVar can be used to get an intersection of variants(in \&.tsv files) called from any number of replicates or from different samples using the same reference sequence\&. This intersection will filter out any iSNVs that do not occur in a minimum fraction of the files supplied\&. This parameter can be changed using the \fR-t\fP flag which range from 0 to 1 (default)\&. Fields that are different across replicates(fields apart from REGION, POS, REF, ALT, REF_CODON, REF_AA, ALT_CODON, ALT_AA) will have the filename added as a suffix\&. If there are a large number of files to be filtered, the \fR-f\fP flag can be used to supply a text file with one sample/replicate variant \&.tsv file per line\&.
.PP
Command:
.PP
.nf
Usage: ivar filtervariants \-p <prefix> replicate\-one\&.tsv replicate\-two\&.tsv \&.\&.\&. OR ivar filtervariants \-p <prefix> \-f <text file with one variant file per line>
Input: Variant tsv files for each replicate/sample
Input Options Description
\-t Minimum fration of files required to contain the same variant\&. Specify value within [0,1]\&. (Default: 1)
\-f A text file with one variant file per line\&.
Output Options Description
\-p (Required) Prefix for the output filtered tsv file
.fi
.PP
.PP
Example Usage: The command below only retains those variants that are found in atleast 50% of the fiels supplied
.PP
.nf
ivar filtervariants \-t 0\&.5 \-p test\&.filtered test\&.1\&.tsv test\&.2\&.tsv test\&.3\&.tsv
.fi
.PP
.PP
The three replicates can also be supplied using a text file as shown below
.PP
.PP
.nf
ivar filtervariants \-t 0\&.5 \-p test\&.filtered \-f filter_files\&.txt
.fi
.PP
.PP
filter_files\&.txt
.PP
.nf
\&./path/to/test\&.1\&.tsv
\&./path/to/test\&.2\&.tsv
\&./path/to/test\&.3\&.tsv
.fi
.PP
.PP
The command above will prodoce an output \&.tsv file test\&.filtered\&.tsv\&.
.PP
Example output of filtered \&.tsv file from three files test_rep1\&.tsv and test_rep2\&.tsv
.PP
.PP
.nf
REGION POS REF ALT GFF_FEATURE REF_CODON REF_AA ALT_CODON ALT_AA REF_DP_test\&.1\&.tsv REF_RV_test\&.1\&.tsv REF_QUAL_test\&.1\&.tsv ALT_DP_test\&.1\&.tsv ALT_RV_test\&.1\&.tsv ALT_QUAL_test\&.1\&.tsv ALT_FREQ_test\&.1\&.tsv TOTAL_DP_test\&.1\&.tsv PVAL_test\&.1\&.tsv PASS_test\&.1\&.tsv REF_DP_test\&.2\&.tsv REF_RV_test\&.2\&.tsv REF_QUAL_test\&.2\&.tsv ALT_DP_test\&.2\&.tsv ALT_RV_test\&.2\&.tsv ALT_QUAL_test\&.2\&.tsv ALT_FREQ_test\&.2\&.tsv TOTAL_DP_test\&.2\&.tsv PVAL_test\&.2\&.tsv PASS_test\&.2\&.tsv REF_DP_test\&.3\&.tsv REF_RV_test\&.3\&.tsv REF_QUAL_test\&.3\&.tsv ALT_DP_test\&.3\&.tsv ALT_RV_test\&.3\&.tsv ALT_QUAL_test\&.3\&.tsv ALT_FREQ_test\&.3\&.tsv TOTAL_DP_test\&.3\&.tsv PVAL_test\&.3\&.tsv PASS_test\&.3\&.tsv
test 139 T A id\-test3 GCT A GCA A 1 0 32 1 0 55 0\&.5 2 0\&.666667 FALSE 1 0 32 1 0 55 0\&.5 2 0\&.666667 FALSE NA NA NA NA NA NA NA NA NA NA
test 320 A T NA NA NA NA NA 1 1 35 1 1 46 0\&.5 2 0\&.666667 FALSE NA NA NA NA NA NA NA NA NA NA 1 1 35 1 1 46 0\&.5 2 0\&.666667 FALSE
test 365 A T NA NA NA NA NA 0 0 0 1 1 27 1 1 1 FALSE 0 0 0 1 1 27 1 1 1 FALSE 0 0 0 1 1 27 1 1 1 FALSE
test 42 G T id\-test4 CAG Q CAT H 0 0 0 1 0 49 1 1 1 FALSE 0 0 0 1 0 49 1 1 1 FALSE NA NA NA NA NA NA NA NA NA NA
test 42 G T id\-testedit1 AGG R ATG M 0 0 0 1 0 49 1 1 1 FALSE 0 0 0 1 0 49 1 1 1 FALSE 0 0 0 1 0 49 1 1 1 FALSE
test 69 T G id\-testedit2 TTG L TGG W 1 0 57 1 0 53 0\&.5 2 0\&.666667 FALSE 1 0 57 1 0 53 0\&.5 2 0\&.666667 FALSE 1 0 57 1 0 53 0\&.5 2 0\&.666667 FALSE
.fi
.PP
.PP
Description of fields
.PP
No Field Description 1 REGION Common region across all replicate variant tsv files 2 POS Common position across all variant tsv files 3 REF Common reference base across all variant tsv files 4 ALT Common alternate base across all variant tsv files 5 GFF_FEATURE GFF feature used for the translation 6 REF_CODON The codon using the reference base 7 REF_AA Reference codon translated into amino acid 8 ALT_CODON Codon using the alternate base 9 ALT_AA Alternate codon translated into amino acid 10 REF_DP_<rep1-tsv-file-name> Depth of reference base in replicate 1 11 REF_RV_<rep1-tsv-file-name> Depth of reference base on reverse reads in replicate 1 12 REF_QUAL_<rep1-tsv-file-name> Mean quality of reference base in replicate 1 13 ALT_DP_<rep1-tsv-file-name> Depth of alternate base in replicate 1 14 ALT_RV_<rep1-tsv-file-name> Deapth of alternate base on reverse reads in replicate 1 15 ALT_QUAL_<rep1-tsv-file-name> Mean quality of alternate base in replicate 1 16 ALT_FREQ_<rep1-tsv-file-name> Frequency of alternate base in replicate 1 17 TOTAL_DP_<rep1-tsv-file-name> Total depth at position in replicate 1 18 PVAL_<rep1-tsv-file-name> p-value of fisher's exact test in replicate 1 19 PASS_<rep1-tsv-file-name> Result of p-value <= 0\&.05 in replicate 1 20 Continue rows 10 - 19 for every replicate provided
.SS "Generate a consensus sequences from an aligned BAM file"
To generate a consensus sequence iVar uses the output of \fRsamtools mpileup\fP command\&. The mpileup output must be piped into \fRivar consensus\fP\&. There are five parameters that can be set - minimum quality(Default: 20), minimum frequency threshold(Default: 0), minimum depth to call a consensus(Default: 10), a flag to exclude nucleotides from regions with depth less than the minimum depth and a character to call in regions with coverage lower than the speicifed minimum depth(Default: 'N')\&. Minimum quality is the minimum quality of a base to be considered in calculations of variant frequencies at a given position\&. Minimum frequency threshold is the minimum frequency that a base must match to be called as the consensus base at a position\&. If one base is not enough to match a given frequency, then an ambigious nucleotide is called at that position\&. Minimum depth is the minimum required depth to call a consensus\&. If '-k' flag is set then these regions are not included in the consensus sequence\&. If '-k' is not set then by default, a 'N' is called in these regions\&. You can also specfy which character you want to add to the consensus to cover regions with depth less than the minimum depth\&. This can be done using -n option\&. It takes one of two values: '-' or 'N'\&.
.PP
As an example, consider a position with 6As, 3Ts and 1C\&. The table below shows the consensus nucleotide called at different frequencies\&.
.PP
Minimum frequency threshold Consensus 0 A 0\&.5 A 0\&.6 A 0\&.7 W(A or T) 0\&.9 W (A or T) 1 H (A or T or C)
.PP
If there are two nucleotides at the same frequency, both nucleotides are used to call an ambigious base as the consensus\&. As an example, consider a position wiht 6 Ts, 2As and 2 Gs\&. The table below shows the consensus nucleotide called at different frequencies\&.
.PP
Minimum frequency threshold Consensus 0 T 0\&.5 T 0\&.6 T 0\&.7 D(A or T or G) 0\&.9 D(A or T or G) 1 D(A or T or G)
.PP
The output of the command is a fasta file with the consensus sequence and a \&.txt file with the average quality of every base used to generate the consensus at each position\&. \fIFor insertions, the quality is set to be the minimum quality threshold since mpileup doesn't give the quality of bases in insertions\&.\fP
.PP
Command:
.PP
.PP
.nf
ivar consensus
Usage: samtools mpileup \-aa \-A \-d 0 \-Q 0 <input\&.bam> | ivar consensus \-p <prefix>
Note : samtools mpileup output must be piped into ivar consensus
Input Options Description
\-q Minimum quality score threshold to count base (Default: 20)
\-t Minimum frequency threshold(0 \- 1) to call consensus\&. (Default: 0)
\-c Minimum insertion frequency threshold(0 \- 1) to call consensus\&. (Default: 0\&.8)
Frequently used thresholds | Description
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-
0 | Majority or most common base
0\&.2 | Bases that make up atleast 20% of the depth at a position
0\&.5 | Strict or bases that make up atleast 50% of the depth at a position
0\&.9 | Strict or bases that make up atleast 90% of the depth at a position
1 | Identical or bases that make up 100% of the depth at a position\&. Will have highest ambiguities
\-m Minimum depth to call consensus(Default: 10)
\-k If '\-k' flag is added, regions with depth less than minimum depth will not be added to the consensus sequence\&. Using '\-k' will override any option specified using \-n
\-n (N/\-) Character to print in regions with less than minimum coverage(Default: N)
Output Options Description
\-p (Required) Prefix for the output fasta file and quality file
.fi
.PP
.PP
Example Usage:
.PP
.nf
samtools mpileup \-d 1000 \-A \-Q 0 test\&.bam | ivar consensus \-p test \-q 20 \-t 0
.fi
.PP
.PP
The command above will produce a test\&.fa fasta file with the consensus sequence and a test\&.qual\&.txt with the average quality of each base in the consensus sequence\&.
.SS "Get primers with mismatches to the reference sequence"
iVar uses a \&.tsv file with variants to get the zero based indices(based on the BED file) of mismatched primers\&. This command requires another \&.tsv file with each line containing the left and right primer names separated by a tab\&. This is used to get both the primers for an amplicon with a single mismatched primer\&. The output is a text file with the zero based primer indices delimited by a space\&. The output is written to a a text file using the prefix provided\&.
.PP
Command:
.PP
.nf
ivar getmasked
Usage: ivar getmasked \-i <input\-filtered\&.tsv> \-b <primers\&.bed> \-f <primer_pairs\&.tsv> \-p <prefix>
Note: This step is used only for amplicon\-based sequencing\&.
Input Options Description
\-i (Required) Input filtered variants tsv generated from 'ivar filtervariants'
\-b (Required) BED file with primer sequences and positions
\-f (Required) Primer pair information file containing left and right primer names for the same amplicon separated by a tab
Output Options Description
\-p (Required) Prefix for the output text file
.fi
.PP
.PP
Example BED file
.PP
.PP
.nf
Puerto 28 52 400_1_out_L 60 +
Puerto 482 504 400_1_out_R 60 \-
Puerto 359 381 400_2_out_L 60 +
Puerto 796 818 400_2_out_R 60 \-
Puerto 658 680 400_3_out_L* 60 +
Puerto 1054 1076 400_3_out_R* 60 \-
\&.
\&.
\&.
\&.
.fi
.PP
.PP
Example primer pair information file
.PP
.nf
400_1_out_L 400_1_out_R
400_2_out_L 400_2_out_R
400_3_out_L 400_3_out_R
\&.
\&.
\&.
\&.
.fi
.PP
.PP
Example Usage:
.PP
.nf
ivar getmasked \-i test\&.filtered\&.tsv \-b primers\&.bed \-f pair_information\&.tsv \-p test\&.masked\&.txt
.fi
.PP
.PP
The command above produces an output file - test\&.masked\&.txt\&.
.PP
Example Output:
.PP
.PP
.nf
1 2 7 8
.fi
.PP
.SS "Remove reads associated with mismatched primer indices"
This command accepts an aligned and sorted BAM file trimmed using \fRivar trim\fP and removes the reads corresponding to the supplied primer indices, which is the output of \fRivar getmasked\fP command\&. Under the hood, \fRivar trim\fP adds the zero based primer index(based on the BED file) to the BAM auxillary data for every read\&. Hence, ivar removereads will only work on BAM files that have been trimmed using \fRivar trim\fP\&.
.PP
Command:
.PP
.nf
ivar removereads
Usage: ivar removereads \-i <input\&.trimmed\&.bam> \-p <prefix> \-t <text\-file\-with\-primer\-indices>
Note: This step is used only for amplicon\-based sequencing\&.
Input Options Description
\-i (Required) Input BAM file trimmed with ivar trim\&. Must be sorted and indexed, which can be done using sort_index_bam\&.sh
\-t (Required) Text file with primer indices separated by spaces\&. This is the output of getmasked command\&.
Output Options Description
\-p (Required) Prefix for the output filtered BAM file
.fi
.PP
.PP
Example Usage:
.PP
.nf
ivar trim \-i test\&.bam \-p test\&.trimmed
ivar removereads \-i test\&.trimmed\&.bam \-p test\&.trimmed\&.masked\&.bam \-t test\&.masked\&.txt
.fi
.PP
.PP
The \fRivar trim\fP command above trims test\&.bam and produced test\&.trimmed\&.bam with the primer indice data added\&. The \fRivar removereads\fP command produces an output file - test\&.trimmed\&.masked\&.bam after removing all the reads corresponding to primer indices - 1,2,7 and 8\&.
.SS "(Experimental) trimadapter"
\fBNote: This feature is under active development and not completely validated yet\&.\fP
.PP
trimadapter in iVar can be used to trim adapter sequences from fastq files using a supplied fasta file\&.
|