PATMAN(1)
π PATMAN(1) β the patman manual, bestie edition π
okay so you found your way to the patman man page and honestly? iconic. this is a User Manual situation, and the whole thing lives under the name PatMaN. buckle up, we're searching for approximate patterns in DNA libraries and it's gonna be a whole vibe π§¬β¨
β¨ NAME β¨
PatMaN β search for approximate patterns in DNA libraries π¦
πΈ SYNOPSIS πΈ
patman [ option | file ... ]
π DESCRIPTION π
So PatMaN goes looking for (small) patterns inside (huge) DNA databases, and it's totally chill with a few mismatches and, if you want, some gaps too. π«Ά
Patterns and databases get read from one or more fasta(5) files that you list as non-option arguments β and which is which depends on whether -D or -P was the last one to show up before them, iykyk β and then they get matched against each other.
The output of PatMaN is a table with one line per match, and the fields are tab-separated:
- name of database sequence,
- name of pattern,
- position of first matched base in database sequence, the sequence's beginning has position 1,
- position of last matched base in database sequence,
- strand (
+for literal match,-for reverse complement), - edit distance (number of mismatches plus number of gaps).
π OPTIONS π
-V,--versionβ print the version number and dip. bye π-e num,--edits numβ let there be up to num mismatches and/or gaps per match.-g num,--gaps numβ allow up to num gaps per match. heads up bestie: gaps count as mismatches too, so you should always set-eat least as high as-g. and letting lots of gaps happen can cost you a considerable amount of compute. π-D,--databasesβ treat the files that follow as database. databases have to be infasta(5)format. you can give multiple database files, and-means standard input β they get read in turn. ποΈ-P,--patternsβ treat the files that follow as patterns. pattern files have to be infasta(5)format too. multiple pattern files are allowed,-means standard input, and they are all read before we even touch the databases. π-o file,--output fileβ send the output to file. the file name-makes output go to stdout, which is also the default.-a,--ambicodesβ turn on interpretation of ambiguity codes in patterns. what happens is any pattern with ambiguity codes gets expanded into multiple patterns, and those can match independently. compare the Unknown Nucleotides bit below. π-s,--singlestrandβ turn off reverse-complement matching. normallyPatMaNtries to match patterns both literally and after reverse-complementing them; with this set, only straight-forward matches get considered. β¨-p num,--prefetch numβ prefetch num pointers in advance. this can boost performance ifPatMaNwas compiled for a processor architecture that supports prefetching. the optimum value for your particular setup has to be figured out empirically, but the default should be reasonably good. π§-l len,--min-length lenβ only consider patterns that are at least len long. use this when your pattern collection has short sequences and you don't want a ton of possible matches reported for them. π-x num,--chop3 numβ cut num bases off the 3' end of each pattern. use this for patterns with damaged, edited, etc. 3' ends that should be ignored. the chopped bases are neither matched nor included in the reported match regions. π-X num,--chop5 numβ cut num bases off the 5' end of each pattern. use this for patterns with damaged, edited, etc. 5' ends that should be ignored. the chopped bases are neither matched nor included in the reported match regions. π-A,--adenine-hackβ let adenine be ignored in patterns. this is basically equivalent to not counting gaps in the database, as long as it was an A that got gapped. using-Acan be computationally extremely expensive, in both memory and time. π-q,--quietβ suppress warnings (about unrecognized characters in input sequences, or missing input files). even without-q, at most one such warning is given per run. π€«-v,--verboseβ prints extra progress information to stderr.-d flags,--debug flagsβ sets debugging flags to flags. flags may be the logical OR of any of the values below, and each of them makes some output appear on stderr. some of the values may only work ifPatMaNhas been compiled in debug mode. the default value is1. π₯- print warnings. equivalent to not setting
-q. - print progress information. equivalent to setting
-v. - dump the suffix trie of the patterns. only available in debug build.
- count number of visited nodes and print that number in each iteration. only available in debug build.
- print total number of nodes fetched from memory after completing all databases.
- output database sequence while it is being matched.
- print warnings. equivalent to not setting
π NOTES π
π Non-Option Arguments
Non-option arguments (bare filenames) are treated as either database or pattern files, depending on whether the -D or -P option was the last one that occurred before the filename. if neither -D nor -P was given, file names get treated as pattern files. if no database was given, it's read from standard input instead. standard input can be explicitly given as either a database or a pattern file by using the filename -.
a warning is given if standard input is selected implicitly as database, and an error message is given if no pattern files have been named at all. π«Ά
π³οΈ Gapped Matching
Allowing gaps often causes overlapping matches of single patterns at almost the same position. PatMaN makes no attempt to filter these redundant matches. also note that allowing many gaps β and especially allowing an arbitrary amount of gaps through the -A hack β can slow down PatMaN considerably and cause it to produce enormous amounts of output. the use of some sorty of post-processor to filter these is highly recommended. π
β Unknown Nucleotides
Unknown nucleotides are most often encoded by the letter N. if the --ambicodes option is not given, Ns in patterns are interpreted as unknown nucleotides and can never match without penalty. if --ambicodes is given, Ns in patterns are expanded just like the other amibuguity codes, and effectively work as wildcards. unknown nucleotides can still be encoded by an X and will never match anything.
the database is treated differently: anything other than A, C, G, T and U, including ambiguity codes, is treated as unknown and can never match without penalty. π
ποΈ FILES ποΈ
/etc/poptβ the system wide configuration file forpopt(3).PatMaNidentifies itself aspatmanto popt.~/.poptβ per user configuration file forpopt(3).
π BUGS π
None known. (bestie is literally flawless, no cap π)
π AUTHOR π
Kay Pruefer <pruefer@eva.mpg.de> Udo Stenzel <udo_stenzel@eva.mpg.de>
π SEE ALSO π
popt(3), fasta(5)
and that's the whole page, bestie β this was the Applications manual, dated JANUARY 2008, and it ate. periodt. πβ¨π
π¦ where this page comes from
- debian bookworm: patman 1.2.2+dfsg-8+b1 Β· GPL-2.0-or-later
- debian trixie: patman 1.2.2+dfsg-8+b1 Β· GPL-2.0-or-later
- ubuntu jammy: patman 1.2.2+dfsg-8 Β· GPL-2.0-or-later
- ubuntu noble: patman 1.2.2+dfsg-8 Β· GPL-2.0-or-later
- ubuntu resolute: patman 1.2.2+dfsg-8build1 Β· GPL-2.0-or-later
- ubuntu stonking: patman 1.2.2+dfsg-8build1 Β· GPL-2.0-or-later
- (C) 2007 Kay Pruefer, Udo Stenzel
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms