Module: MiGA::Cli::Action::Download::Gtdb
- Includes:
- Base
- Included in:
- GtdbGet
- Defined in:
- lib/miga/cli/action/download/gtdb.rb
Overview
Helper module including download functions for the gtdb_get action
Instance Method Summary
collapse
Methods included from Base
#cli_filters, #cli_save_actions, #discard_excluded, #download_entries, #finalize_tasks, #generic_perform, #impose_limit, #load_tasks, #save_entry, #unlink_entries
Instance Method Details
#cli_name_modifiers(opt) ⇒ Object
17
18
19
20
21
22
|
# File 'lib/miga/cli/action/download/gtdb.rb', line 17
def cli_name_modifiers(opt)
opt.on(
'--no-version-name',
'Do not add sequence version to the dataset name'
) { |v| cli[:add_version] = v }
end
|
#cli_task_flags(opt) ⇒ Object
10
11
12
13
14
15
|
# File 'lib/miga/cli/action/download/gtdb.rb', line 10
def cli_task_flags(opt)
cli.opt_flag(
opt, 'reference',
'Download only reference genomes. By default: download all'
)
end
|
#remote_list ⇒ Object
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/miga/cli/action/download/gtdb.rb', line 32
def remote_list
cli.say 'Downloading genome list'
= ['sp_reps_only=' + cli[:reference].to_s]
json = MiGA::RemoteDataset.download(
:gtdb, :taxon, cli[:taxon], :genomes, nil,
)
doc = MiGA::Json.parse(json, contents: true)
Hash[
doc.map do |acc|
[
remote_row_name(acc),
{
ids: [acc], db: :assembly, universe: :gtdb,
md: { type: :genome, gtdb_assembly: acc }
}
]
end
]
end
|
#remote_row_name(asm) ⇒ Object
53
54
55
56
57
|
# File 'lib/miga/cli/action/download/gtdb.rb', line 53
def remote_row_name(asm)
acc = asm.to_s
acc.gsub!(/\.\d+\Z/, '') unless cli[:add_version]
acc.miga_name
end
|
#sanitize_cli ⇒ Object
24
25
26
27
28
29
30
|
# File 'lib/miga/cli/action/download/gtdb.rb', line 24
def sanitize_cli
cli.ensure_par(taxon: '-T')
unless cli[:taxon] =~ /^[a-z]__\S+$/
raise 'Taxon (-T) must be in GTDB format: s__Macondimonas_diazotrophica'
end
cli[:save_every] = 1 if cli[:dry]
end
|