GMAPL(1)
GMAPL(1) β the glow-up edition π
okay bestie, buckle UP, because this is gmapl from the User Commands section, and it's a whole entire mood. It's the Large Genome Mapping and Alignment Program. Yes, capital L, capital G, capital M, capital A, capital P, capital L energy. Let's get into it π§
β¨ NAME β¨
gmapl β Large Genome Mapping and Alignment Program πΊοΈ
β¨ SYNOPSIS β¨
gmap [OPTIONS...] <FASTA files...>, or cat <FASTA files...> | gmap
[OPTIONS...]
Like, you can either hand it your FASTA files directly, or you can cat them and pipe them straight into gmap's little stdin mouth. both are valid, both are iconic π«Ά
β¨ OPTIONS β¨
π Input options (must include -d or -g) π
ngl this is the "you literally cannot skip this part" section. pick -d or -g, no cap.
-D,--dir=directoryβ where your genome directory lives. the default (as specified by--with-gmapdbto the configure program) is/var/cache/gmap-d,--db=STRINGβ your genome database. and here's a cute trick: if the argument is'?'(with the quotes, bestie, the quotes matter), this command lists all the available databases for you. free window shopping β¨-k,--kmer=INTβ the kmer size to use in the genome database (allowed values:16or less). if you don't specify it, the program will find the highest available kmer size in the genome database all by itself. self-sufficient king π--sampling=INTβ the sampling to use in the genome database. if not specified, the program will find the smallest available sampling value in the genome database within the selected k-mer size-g,--gseg=filenameβ user-supplied genomic segments. heads up: if multiple segments are provided, then every query sequence is aligned against every genomic segment-1,--selfalignβ align one sequence against itself in FASTA format via stdin. (useful for getting protein translation of a nucleotide sequence β cute, right?)-2,--pairalignβ align two sequences in FASTA format via stdin, first one being genomic and second one being cDNA--cmdline=STRING,STRINGβ align these two sequences provided on the command line, first one being genomic and second one being cDNA--align-fraction=FLOATβ process only the given fraction of reads, selected at random. and if--align-fractionand--partare given,--align-fractiontakes precedence (it's the main character, sorry--part)-q,--part=INT/INTβ process only the i-th out of every n sequences, e.g.,0/100or99/100(useful for distributing jobs to a computer farm). spreading the workload, we love a delegator π--input-buffer-size=INTβ size of input buffer (program reads this many sequences at a time for efficiency) (default1000)
π₯ Computation options π₯
this is where the math girlies live. stay with me.
-B,--batch=INTβ batch mode (default =2)
Mode Positions Genome
0 mmap mmap
1 mmap & preload mmap
(default) 2 mmap & preload mmap & preload
3 allocate mmap & preload
4 allocate allocate
5 allocate allocate (same as 4)
Note: For a single sequence, all data structures use mmap. If mmap not available and allocate not chosen, then will use fileio (very slow). π very slow is a warning, bestie.
--use-shared-memory=INTβ if1, then allocated memory is shared among all processes on this node. if0(default), then each process has private allocated memory--nosplicingβ turns off splicing (useful for aligning genomic sequences onto a genome)--max-deletionlength=INTβ max length for a deletion (default30). above this size, a genomic gap will be considered an intron rather than a deletion. if the genomic gap is less than--max-deletionlengthand greater than--min-intronlength, a known splice site or splice site probabilities of0.80on both sides will be reported as an intron--min-intronlength=INTβ min length for one internal intron (default9). below this size, a genomic gap will be considered a deletion rather than an intron. if the genomic gap is less than--max-deletionlengthand greater than--min-intronlength, a known splice site or splice site probabilities of0.80on both sides will be reported as an intron--max-intronlength-middle=INTβ max length for one internal intron (default500000). note: for backward compatibility, the-Kor--intronlengthflag will set both--max-intronlength-middleand--max-intronlength-ends. also see--split-large-intronsbelow--max-intronlength-ends=INTβ max length for first or last intron (default10000). note: for backward compatibility, the-Kor--intronlengthflag will set both--max-intronlength-middleand--max-intronlength-ends--split-large-intronsβ sometimes GMAP will exceed the value for--max-intronlength-middle, if it finds a good single alignment. however, you can force GMAP to split such alignments by using this flag. respectfully forcing the issue π--end-trimming-score=INTβ trim ends if the alignment score is below this value, where a match scores+1and a mismatch scores-3. the value should be0(default) or negative. a negative allows some mismatches at the ends of the alignment--trim-end-exons=INTβ trim end exons with fewer than the given number of matches (in nt, default12)-w,--localsplicedist=INTβ max length for known splice sites at ends of sequence (default2000000)-L,--totallength=INTβ max total intron length (default2400000)-x,--chimera-margin=INTβ amount of unaligned sequence that triggers search for the remaining sequence (default30). enables alignment of chimeric reads, and may help with some non-chimeric reads. to turn off, set to zero--no-chimerasβ turns off finding of chimeras. same effect as--chimera-margin=0-t,--nthreads=INTβ number of worker threads. go parallel, bestie π-c,--chrsubset=stringβ limit search to given chromosome--strand=STRINGβ genome strand to try aligning to (plus,minus, orbothdefault)-z,--direction=STRINGβ cDNA direction (sense_force,antisense_force,sense_filter,antisense_filter, orauto(default))--canonical-mode=INTβ reward for canonical and semi-canonical introns.0=low reward,1=high reward (default),2=low reward for high-identity sequences and high reward otherwise--cross-speciesβ use a more sensitive search for canonical splicing, which helps especially for cross-species alignments and other difficult cases--allow-close-indels=INTβ allow an insertion and deletion close to each other (0=no,1=yes (default),2=only for high-quality alignments)--microexon-spliceprob=FLOATβ allow microexons only if one of the splice site probabilities is greater than this value (default0.95)--indel-openβ in dynamic programming, opening penalty for indel--indel-extendβ in dynamic programming, extension penalty for indel. values for--indel-openand--indel-extendshould be in[-127,-1]. if value is <-127, then will use-127instead. if--indel-openand--indel-extendare not specified, values are chosen adaptively, based on the differences between the query and reference--cmetdir=STRINGβ directory for methylcytosine index files (created usingcmetindex) (default is location of genome index files specified using-D,-V, and-d)--atoidir=STRINGβ directory for A-to-I RNA editing index files (created usingatoiindex) (default is location of genome index files specified using-D,-V, and-d)--mode=STRINGβ alignment mode:standard(default),cmet-stranded,cmet-nonstranded,atoi-stranded,atoi-nonstranded,ttoc-stranded, orttoc-nonstranded. non-standard modes requires you to have previously run thecmetindexoratoiindexprograms (which also cover thettocmodes) on the genome. so like, do your homework first π-p,--prunelevelβ pruning level:0=no pruning (default),1=poor seqs,2=repetitive seqs,3=poor and repetitive
π Output types π
pick your aesthetic, bestie.
-S,--summaryβ show summary of alignments only-A,--alignβ show alignments-3,--continuousβ show alignment in three continuous lines-4,--continuous-by-exonβ show alignment in three lines per exon-E,--exons=STRINGβ print exons ("cdna"or"genomic"). will also print introns with"cdna+introns"or"genomic+introns"-P,--protein_dnaβ print protein sequence (cDNA)-Q,--protein_genβ print protein sequence (genomic)-f,--format=INTβ other format for output (also note the-Aand-Soptions and other options listed under Output types):mask_introns,mask_utr_introns,psl(or1) = PSL (BLAT) format,gff3_gene(or2) = GFF3 gene format,gff3_match_cdna(or3) = GFF3 cDNA_match format,gff3_match_est(or4) = GFF3 EST_match format,splicesites(or6) = splicesites output (for GSNAP splicing file),introns= introns output (for GSNAP splicing file),map_exons(or7) = IIT FASTA exon map format,map_ranges(or8) = IIT FASTA range map format,coords(or9) = coords in table format,sampe= SAM format (setting paired_read bit in flag),samse= SAM format (without setting paired_read bit),bedpe= indels and gaps in BEDPE format
πΈ Output options πΈ
the finishing touches β¨
-n,--npaths=INTβ maximum number of paths to show (default5). if set to1, GMAP will not report chimeric alignments, since those imply two paths. if you want a single alignment plus chimeric alignments, then set this to be0--suboptimal-score=FLOATβ report only paths whose score is within this value of the best path.
if specified between 0.0 and 1.0, then treated as a fraction of the score of the best alignment (matches minus penalties for mismatches and indels). otherwise, treated as an integer number to be subtracted from the score of the best alignment. default value is 0.50.
-O,--orderedβ print output in same order as input (relevant only if there is more than one worker thread)-5,--md5β print MD5 checksum for each query sequence-o,--chimera-overlapβ overlap to show, if any, at chimera breakpoint--failsonlyβ print only failed alignments, those with no results. sad girl hours π--nofailsβ exclude printing of failed alignments-V,--snpsdir=STRINGβ directory for SNPs index files (created usingsnpindex) (default is location of genome index files specified using-Dand-d)-v,--use-snps=STRINGβ use database containing known SNPs (in<STRING>.iit, built previously usingsnpindex) for tolerance to SNPs--split-output=STRINGβ the basename for multi-file output, and bestie it's separate for each ofnomapping,uniq,mult, (andchimera, if--chimera-marginis selected). So like, one base name, many little files, slay.--failed-input=STRINGβ alignments that completely failed? Send them to this file in input FASTA or FASTQ format. And if you also passed--split-output, this file gets made in addition to the output in the.nomappingfile. Two files, no drama.--append-outputβ when--split-outputor--failedinputis in play, this flag appends to the files that already exist instead of doing the default thing, which is creating brand new ones. Default = fresh files.--output-buffer-size=INTβ buffer size for the output thread, measured in queries (default1000). When the number of results waiting to print goes over this, the worker threads literally just wait until the backlog clears. It's giving traffic jam energy.--translation-code=INTβ the genetic code used for translating codons into amino acids and computing CDS. Integer value (default=1) corresponds to an available code athttp://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi. Go look it up, it's right there.--alt-start-codonsβ also use the alternate initiation codons shown on that Web site above. By default, without this option, onlyATGcounts as an initiation codon. Just ATG, periodt.-F,--fulllengthβ assume a full-length protein, starting with Met. π-a,--cdsstart=INTβ translate codons starting from the given nucleotide (1-based).-T,--truncateβ truncate the alignment around the full-length protein, Met to Stop. And heads up: it implies the-Fflag. Implied, not optional.-Y,--tolerantβ translates cDNA with corrections for frameshifts. Forgiving queen. π«Ά
π Options for GFF3 output π
--gff3-add-separators=INTβ whether to add a###separator after each query sequence. Values:0(no),1(yes, default).--gff3-swap-phase=INTβ whether to swap phase (0=>0,1=>2,2=>1) ingff3_geneformat. Some analysis programs literally need this, but ngl it deviates from the GFF3 specification. Values:0(no, default),1(yes).--gff3-fasta-annotation=INTβ whether to pull annotation from the FASTA header into the GFF3 output. Values:0(default): do not include1: wrap all annotation asAnnot="<header>"2: includekey=valuepairs, replacing brackets with quotation marks, and replacing spaces betweenkey=valuepairs with semicolons
--gff3-cds=STRINGβ whether to use cDNA or genomic translation for the CDS coordinates. Values:cdna(default),genomic.
β¨ Options for SAM output β¨
--no-sam-headersβ do not print headers that begin with'@'.--sam-use-0Mβ insert0Min the CIGAR between adjacent insertions and deletions. Picard requires this, but it can cause errors in other tools. Pick your fighter.--sam-extended-cigarβ use extended CIGAR format (usingXand=symbols instead ofM, to indicate matches and mismatches, respectively. Yes that's how the original reads, bestie, I'm not editing it. π--sam-flippedβ flip the query and genomic positions in the SAM output. Potentially useful with the-gflag when short reads are picked as query sequences and longer reads are picked as genomic sequences. Role reversal, iconic.--force-xs-dirβ for RNA-Seq alignments, this disallowsXS:A:?when the sense direction is unclear, and replaces this value arbitrarily withXS:A:+. May be useful for some programs, such as Cufflinks, that cannot handleXS:A:?. However, if you use this flag, the reported value ofXS:A:+in these cases will not be meaningful. > Not meaningful, fr fr. Don't read into it.--md-lowercase-snpβ in the MD string, when known SNPs are given by the-vflag, prints difference nucleotides as lower-case when they differ from the reference but match a known alternate allele. Cute lowercase energy for the legit ones only.--action-if-cigar-errorβ the action to take if there's a disagreement between CIGAR length and sequence length. Allowed values:ignore,warning(default),noprint,abort. And note: thenoprintoption does not print the CIGAR string at all if there is an error, so it may break a SAM parser. You've been warned.--read-group-id=STRINGβ value to put into the read-group id (RG-ID) field.--read-group-name=STRINGβ value to put into the read-group name (RG-SM) field.--read-group-library=STRINGβ value to put into the read-group library (RG-LB) field.--read-group-platform=STRINGβ value to put into the read-group library (RG-PL) field.
πΈ Options for quality scores πΈ
--quality-protocol=STRINGβ protocol for input quality scores. Allowed values:illumina(ASCII 64-126) (equivalent to-J 64 -j -31)sanger(ASCII 33-126) (equivalent to-J 33 -j 0)
Default is sanger (no quality print shift). SAM output files should have quality scores in sanger protocol. Or you can specify the print shift with this flag:
-j,--quality-print-shift=INTβ shift FASTQ quality scores by this amount in output (default is0for sanger protocol; to change Illumina input to Sanger output, select-31). Math, but make it fashion. π
π¦ External map file options π¦
- *
-M,--mapdir=directory* β map directory. - *
-m,--map=iitfile* β map file. And if the argument is'?'(with the quotes), this lists the available map files. Free menu, bestie. -e,--mapexonsβ map each exon separately.-b,--mapbothβ report hits from both strands of the genome. Both. Greedy in the best way.-u,--flanking=INTβ show flanking hits (default0).--print-commentβ show the comment line for each hit.
π Alignment output options π
--nolengthsβ no intron lengths in the alignment.--nomarginβ no left margin in GMAP standard output (with the-Aflag).-I,--invertmode=INTβ mode for alignments to the genomic (-) strand:0= Don't invert the cDNA (default)1= Invert cDNA and print genomic (-) strand2= Invert cDNA and print genomic (+) strand
-i,--introngap=INTβ nucleotides to show on each end of the intron (default3).-l,--wraplength=INTβ wrap length for the alignment (default50).
β Filtering output options β
--min-trimmed-coverage=FLOATβ do not print alignments with trimmed coverage less than this value (default=0.0, which means no filtering). Note that chimeric alignments will be output regardless of this filter. > Chimeras don't care about your filter. π¦--min-identity=FLOATβ do not print alignments with identity less than this value (default=0.0, which means no filtering). Note that chimeric alignments will be output regardless of this filter. Same deal, same chimeras.
π Help options π
--checkβ check compiler assumptions.--versionβ show version.--helpβ show this help message.
Other tools of GMAP suite are located in /usr/lib/gmap. Go explore, they're all in there.
And that's a wrap on GMAPL(1), bestie. This lovely page comes from source/version gmapl 2025-07-31+ds-1, dated October 2025 β go off, documentation π
π¦ where this page comes from
- ubuntu resolute: gmap 2025-07-31+ds-1 Β· Apache-2.0
- ubuntu stonking: gmap 2025-07-31+ds-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms