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 iva birth 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 to stdout. 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 -k option in smalt index [19]. 🧬
  • -s INT, --smalt_s INT β€” kmer hash step size in SMALT, aka the -s option in smalt index [11]. πŸ‘Ÿ
  • -y FLOAT, --smalt_id FLOAT β€” minimum identity threshold for a mapping to be reported, aka the -y option in smalt 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 --contigs is 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 than 95. πŸ“
  • --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 the trimmomatic.jar file to enable read trimming. required if --adapters is 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 --trimmomatic is 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 β€” force kmc to use one thread. by default the value of -t/--threads is used when running kmc. 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 needs min(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 like 0.1 first [0]. seriously bestie, tread carefully. ⚠️
  • --test β€” run using built in test data. all other options will be ignored, except the mandatory output directory, and --trimmomatic and --threads can 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