/
prefetch.py
86 lines (80 loc) · 2.46 KB
/
prefetch.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
"""search a signature against dbs, find all overlaps"""
from sourmash.cli.utils import (
add_ksize_arg,
add_moltype_args,
add_picklist_args,
add_scaled_arg,
add_pattern_args,
)
def subparser(subparsers):
subparser = subparsers.add_parser("prefetch")
subparser.add_argument("query", help="query signature")
subparser.add_argument(
"databases",
nargs="*",
help="one or more databases to search",
)
subparser.add_argument(
"--db-from-file",
default=None,
help="list of paths containing signatures to search",
)
subparser.add_argument(
"--linear",
action="store_true",
help="force linear traversal of indexes to minimize loading time and memory use",
)
subparser.add_argument(
"--no-linear",
dest="linear",
action="store_false",
)
subparser.add_argument(
"-q", "--quiet", action="store_true", help="suppress non-error output"
)
subparser.add_argument("-d", "--debug", action="store_true")
subparser.add_argument(
"-o",
"--output",
metavar="FILE",
help="output CSV containing matches to this file",
)
subparser.add_argument(
"--save-matches",
metavar="FILE",
help="save all matching signatures from the databases to the "
"specified file or directory",
)
subparser.add_argument(
"--threshold-bp",
metavar="REAL",
type=float,
default=5e4,
help="reporting threshold (in bp) for estimated overlap with remaining query hashes (default=50kb)",
)
subparser.add_argument(
"--save-unmatched-hashes",
metavar="FILE",
help="output unmatched query hashes as a signature to the " "specified file",
)
subparser.add_argument(
"--save-matching-hashes",
metavar="FILE",
help="output matching query hashes as a signature to the " "specified file",
)
subparser.add_argument(
"--md5", default=None, help="select the signature with this md5 as query"
)
subparser.add_argument(
"--estimate-ani-ci",
action="store_true",
help="also output confidence intervals for ANI estimates",
)
add_ksize_arg(subparser)
add_moltype_args(subparser)
add_picklist_args(subparser)
add_pattern_args(subparser)
add_scaled_arg(subparser, 0)
def main(args):
import sourmash
return sourmash.commands.prefetch(args)