PILON(1)
πΈ NAME πΈ
pilon β bestie, this is the automated genome assembly improvement and variant detection tool π β¨ She's section 1 of the User Commands manual, and she ate.
π¦ SYNOPSIS π¦
pilon --genome genome.fasta [--frags frags.bam] [--jumps jumps.bam]
[--unpaired unpaired.bam] [...other options...]
β¨ DESCRIPTION β¨
Okay so Pilon is that girl, and here's what she can do for you:
- Automatically improve draft assemblies π
- Find variation among strains, including large event detection π
She needs two things to function, no cap: a FASTA file of the genome, plus one or more BAM files of reads aligned to that input FASTA file. That's the whole vibe check.
Then she does her thing β read alignment analysis to spot every place where the input genome and the evidence in the reads are lowkey beefing with each other. And then she tries to fix the input genome, including:
- Single base differences
- Small indels
- Larger indel or block substitution events
- Gap filling
- Identification of local misassemblies, including optional opening of new gaps π
π OPTIONS π
--helpβ for option details π«Ά
πΈ INPUTS πΈ
--genome genome.fastaβ The input genome we're trying to glow up. Important: it must be the reference used for the bam alignments. And you also need at least one of--fragsor--jumps. Not optional, bestie.--frags frags.bamβ A bam file full of fragment paired-end alignments, aligned to the--genomeargument usingbwaorbowtie2. You can pass this argument more than once if you're feeling extra π--jumps jumps.bamβ A bam file full of jump (mate pair) paired-end alignments, aligned to the--genomeargument usingbwaorbowtie2. Also specifiable more than once. Slay.--unpaired unpaired.bamβ A bam file of unpaired alignments, aligned to the--genomeargument usingbwaorbowtie2. Yep, also repeatable. Go off.--bam any.bamβ A bam file of unknown type. Pilon will scan it and attempt to classify it as one of the above bam types. It's giving detective energy π
π OUTPUTS π
--output prefixβ Prefix for output files.--outdir directoryβ Use this directory for all output files.--changesβ If specified, a file listing changes in the<output>.fastawill be generated.--vcfβ If specified, a vcf file will be generated.--vcfqeβ If specified, the VCF will contain a QE (quality-weighted evidence) field rather than the default QP (quality-weighted percentage of evidence) field.--tracksβ This options will cause many track files (*.bed,*.wig) suitable for viewing in a genome browser to be written. Genome browser girlies, this one's for you π§
π₯ CONTROL π₯
--variantβ Sets up heuristics for variant calling, as opposed to assembly improvement; equivalent to"--vcf --fix all,breaks".--chunksizeβ Input FASTA elements larger than this will be processed in smaller pieces not to exceed this size (default 10000000).--diploidβ Sample is from diploid organism; will eventually affect calling of heterozygous SNPs.--fix fixlistβ A comma-separated list of categories of issues to try to fix:"snps": try to fix individual base errors"indels": try to fix small indels"gaps": try to fill gaps"local": try to detect and fix local misassemblies"all": all of the above (default)"bases": shorthand for"snps"and"indels"(for back compatibility)"none": none of the above; new fasta file will not be written
The following are experimental fix types π
"amb": fix ambiguous bases in fasta output (to most likely alternative)"breaks": allow local reassembly to open new gaps (with"local")"circles": try to close circlar elements when used with long corrected reads"novel": assemble novel sequence from unaligned non-jump reads
--dumpreadsβ Dump reads for local re-assemblies.--duplicatesβ Use reads marked as duplicates in the input BAMs (ignored by default).--iupacβ Output IUPAC ambiguous base codes in the output FASTA file when appropriate.--nonpfβ Use reads which failed sequencer quality filtering (ignored by default).--targets targetlistβ Only process the specified target(s). Targets are comma-separated, and each target is a fasta element name optionally followed by a base range. Example:"scaffold00001,scaffold00002:10000-20000"would result in processing all ofscaffold00001and coordinates10000-20000ofscaffold00002. If"targetlist"is the name of a file, each line will be treated as a target specification.--threadsβ Degree of parallelism to use for certain processing (default 1). Experimental.--verboseβ More verbose output.--debugβ Debugging output (implies verbose).--versionβ Print version string and exit.
β HEURISTICS: β
--defaultqual qualβ Assumes bases are of this quality if quals are no present in input BAMs (default 15).--flank nbasesβ Controls how much of the well-aligned reads will be used; this many bases at each end of the good reads will be ignored (default 10).--gapmarginβ Closed gaps must be within this number of bases of true size to be closed (100000).--Kβ Kmer size used by internal assembler (default 47).--mindepth depthβ Variants (snps and indels) will only be called if there is coverage of good pairs at this depth or more; if this value is >= 1, it is an absolute depth, if it is a fraction < 1, then minimum depth is computed by multiplying this value by the mean coverage for the region, with a minimum value of 5 (default 0.1: min depth to call is 10% of mean coverage or 5, whichever is greater).--mingapβ Minimum size for unclosed gaps (default 10).--minmqβ Minimum alignment mapping quality for a read to count in pileups (default 0).--minqualβ Minimum base quality to consider for pileups (default 0).--nostraysβ Skip making a pass through the input BAM files to identify stray pairs, that is, those pairs in which both reads are aligned but not marked valid because they have inconsistent orientation or separation. Identifying stray pairs can help fill gaps and assemble larger insertions, especially of repeat content. However, doing so sometimes consumes considerable memory. β οΈ
Heads up bestie: --nostrays is the "save your RAM" button. Stray pair hunting is powerful but it can eat memory like it's a bottomless brunch π
π AUTHOR π
This manpage was written by Andreas Tille for the Debian distribution and can be used for any other usage of the program.
And that's a wrap, my love π«Ά this page ships as pilon 1.22, dated June 2018, and it lives in the User Commands corner of the PILON(1) manual. Periodt. π
β¨πΈ
π¦ where this page comes from
- debian bookworm: pilon 1.24-2 Β· GPL-2.0-only
- debian trixie: pilon 1.24-4 Β· GPL-2.0-only
- ubuntu jammy: pilon 1.24-1 Β· GPL-2.0-only
- ubuntu noble: pilon 1.24-3 Β· GPL-2.0-only
- ubuntu questing: pilon 1.24-4
- ubuntu resolute: pilon 1.24-4build1 Β· GPL-2.0-only
- ubuntu stonking: pilon 1.24-4build1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms