IVA(1)
π IVA(1) β the iva era π
okay bestie, sit DOWN, because we're talking about iva, the iterative virus assembler. yes, that's the whole name. short, sweet, iconic, does exactly what it says on the tin. π¦
β¨ NAME β¨
iva β iterative virus assembler π
πΈ DESCRIPTION πΈ
the vibe is simple, fr fr:
usage: iva [options] {-f reads_fwd -r reads_rev | --fr reads} <output directory>
so like. you give it reads, it gives you contigs. that's the whole main character arc. π
π positional arguments π
- Output directory β this is the name of the output directory. and bestie, listen: it must not already exist. no pre-made folders, no "I'll just make it real quick", nothing. let
ivabirth it itself. π
π§ options π§
-h,--helpβ show this help message and exit. the classic. the beloved. the "wait what does this do again" button. π
π Input and output π
-f filename[.gz],--reads_fwd filename[.gz]β name of the forward reads fasta/q file. you literally cannot use this alone, it has to be used in conjunction with--reads_rev. they're a package deal, a duo, a ship. π«Ά-r filename[.gz],--reads_rev filename[.gz]β name of the reverse reads fasta/q file. same deal: must be used in conjunction with--reads_fwd. no solo careers here. β¨--fr filename[.gz]β name of the interleaved fasta/q file. one file, both directions, efficiency queen. π--keep_filesβ keep intermediate files. and when I say files I mean it could be many, like genuinely a lot. the default is to delete all the unnecessary ones, so only reach for this if you actually want the clutter. ποΈ--contigs filename[.gz]β fasta file of contigs to be extended. incompatible with--reference, so pick a lane bestie. π«--reference filename[.gz]β β οΈ EXPERIMENTAL! this option is EXPERIMENTAL, not recommended, and has not been tested! it's a fasta file of a reference genome, or parts thereof. IVA will try to assemble one contig per sequence in this file. also incompatible with--contigs. like, it's giving "we put it here but please don't". π-v,--verboseβ be verbose by printing messages tostdout. and the fun part: use it up to three times for increasing verbosity. stack them. go feral. π₯
π SMALT mapping options π
-k INT,--smalt_k INTβ kmer hash length in SMALT, aka the-koption insmalt index[19]. π§¬-s INT,--smalt_s INTβ kmer hash step size in SMALT, aka the-soption insmalt index[11]. π-y FLOAT,--smalt_id FLOATβ minimum identity threshold for a mapping to be reported, aka the-yoption insmalt map[0.5]. no mid mappings allowed. π
π¦ Contig options π¦
--ctg_first_trim INTβ number of bases to trim off the end of every contig before extending for the first time [25]. fresh start energy. βοΈ--ctg_iter_trim INTβ during iterative extension, the number of bases to trim off the end of a contig when extension fails (and then it tries extending again) [10]. it's giving "okay that didn't work, let me justβ¦ adjust". π--ext_min_cov INTβ minimum kmer depth needed to use that kmer to extend a contig [10]. π--ext_min_ratio FLOATβ sets N, where the kmer for extension must be at least N times more abundant than the next most common kmer [4]. popular kmer wins. π--ext_max_bases INTβ maximum number of bases to try to extend on each iteration [100]. know your limits. π--ext_min_clip INTβ set the minimum number of bases soft clipped off a read for those bases to be used for extension [3]. πͺ--max_contigs INTβ maximum number of contigs allowed in the assembly. no more seeds are generated once the cutoff is reached [50]. capacity reached, we're full. ποΈ
𧬠Seed generation options π§¬
--make_new_seedsβ when no more contigs can be extended, generate a new seed. this is forced to be true when--contigsis not used. no takebacks. π±--seed_start_length INTβ when making a seed sequence, use the most common kmer of this length. the default is to use the minimum of (median read length,95). β οΈ warning: it is not recommended to set this higher than95. π--seed_stop_length INTβ stop extending the seed using perfect matches from reads when this length is reached. future extensions are then made by treating the seed as a contig [0.9*max_insert]. graduation day. π--seed_min_kmer_cov INTβ minimum kmer coverage of the initial seed [25]. πͺ΄--seed_max_kmer_cov INTβ maximum kmer coverage of the initial seed [1000000]. a whole million, no cap. π€―--seed_ext_max_bases INTβ maximum number of bases to try to extend on each iteration [50]. π§--seed_overlap_length INTβ number of overlapping bases needed between a read and the seed to use that read to extend [seed_start_length]. we need some common ground first. π€--seed_ext_min_cov INTβ minimum kmer depth needed to use that kmer to extend a contig [10]. π--seed_ext_min_ratio FLOATβ sets N, where the kmer for extension must be at least N times more abundant than the next most common kmer [4]. same energy, seed edition. β¨
π Read trimming options π
--trimmomatic FILENAMEβ provide the location of thetrimmomatic.jarfile to enable read trimming. required if--adaptersis used. π§Ή--trimmo_qual STRINGβ trimmomatic options used to quality trim reads [LEADING:10 TRAILING:10 SLIDINGWINDOW:4:20]. π§Ό--adapters FILENAMEβ fasta file of adapter sequences to be trimmed off reads. if you use this, you must also use--trimmomatic. the default is the file of adapters supplied with IVA. βοΈ--min_trimmed_length INTβ minimum length of a read after trimming [50]. short king gets dropped. π--pcr_primers FILENAMEβ FASTA file of primers. the first perfect match found to a sequence in the primers file will be trimmed off the start of each read. this runs after trimmomatic (if--trimmomaticis used). π§ͺ
π Other options π
-i INT,--max_insert INTβ maximum insert size, and yes, that includes read length. reads with an inferred insert size more than the maximum will not be used to extend contigs [800]. too far, not invited. π«-t INT,--threads INTβ number of threads to use [1]. give it more, let it cook. π₯--kmc_onethreadβ forcekmcto use one thread. by default the value of-t/--threadsis used when runningkmc. so this is your "actually no, just one" override. βοΈ--strand_bias FLOAT in [0,0.5]β set the strand bias cutoff of mapped reads when trimming contig ends, in the interval [0,0.5]. a value of x means a base needsmin(fwd_depth, rev_depth) / total_depth <= x. the only time this should be used is with libraries with overlapping reads (ie fragment length < 2*read length), and even then, it can make results worse. if you use it, try a low value like0.1first [0]. seriously bestie, tread carefully. β οΈ--testβ run using built in test data. all other options will be ignored, except the mandatory output directory, and--trimmomaticand--threadscan also be used. it's the "just show me it works" button. π§Έ--versionβ show program's version number and exit. π
lowkey the whole thing is just: give it reads, tell it where to put the output, and let it iterate. highkey iconic. π
and that's the tea. this page is iva 1.0.8, from December 2024, part of the IVA(1) family. go assemble something gorgeous bestie πβ¨π¦
π¦ where this page comes from
- debian trixie: iva 1.0.11+ds-6 Β· GPL-3.0-or-later
- ubuntu questing: iva 1.0.11+ds-6
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms