miga-base 1.1.3.0 → 1.1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/miga/version.rb +2 -2
- data/utils/FastAAI/FastAAI +14 -4
- data/utils/distance/commands.rb +5 -2
- data/utils/distance/database.rb +2 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d9d8a12b9eaa48b63df43b871f3cc7da598997f3d208cde9fcf31f2d605d66c
|
4
|
+
data.tar.gz: 72d58adbbbea43886e1e60a608f3f7e0da542c26b3b29ecf202a3b34b9f8ac35
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cc2c81a38d915c7bb13d53853e0be3c822a0ba7703d2e97cf16615ac4d8f8b4fc3203bc83b76584b48ddd7f13787545d5327d9dd5cd846bbc1be1db868b120a4
|
7
|
+
data.tar.gz: 8cf8bd65e94e6bb551143ebb4fbb4ca37a74e58f777011e3c2c5823f7c9b6a242de63ddda1c496d9c91df01f2471446989267828b69e0de7fd024d3e84d70afa
|
data/lib/miga/version.rb
CHANGED
@@ -12,7 +12,7 @@ module MiGA
|
|
12
12
|
# - String indicating release status:
|
13
13
|
# - rc* release candidate, not released as gem
|
14
14
|
# - [0-9]+ stable release, released as gem
|
15
|
-
VERSION = [1.1, 3,
|
15
|
+
VERSION = [1.1, 3, 1].freeze
|
16
16
|
|
17
17
|
##
|
18
18
|
# Nickname for the current major.minor version.
|
@@ -20,7 +20,7 @@ module MiGA
|
|
20
20
|
|
21
21
|
##
|
22
22
|
# Date of the current gem relese.
|
23
|
-
VERSION_DATE = Date.new(2021, 11,
|
23
|
+
VERSION_DATE = Date.new(2021, 11, 24)
|
24
24
|
|
25
25
|
##
|
26
26
|
# References of MiGA
|
data/utils/FastAAI/FastAAI
CHANGED
@@ -2702,6 +2702,8 @@ def merge_db_opts():
|
|
2702
2702
|
|
2703
2703
|
parser.add_argument('-d', '--donors', dest = 'donors', default = None, help = 'Comma-separated string of paths to one or more donor databases. The genomes FROM the donors will be added TO the recipient and the donors will be unaltered')
|
2704
2704
|
|
2705
|
+
parser.add_argument('--donor_file', dest = 'donor_file', default = None, help = 'Alternative way to supply donors. A file containing paths to the donor databases, 1 per line')
|
2706
|
+
|
2705
2707
|
parser.add_argument('-r', '--recipient', dest = 'recipient', default = None, help = 'Path to the recipient database. Any genomes FROM the donor database not already in the recipient will be added to this database.')
|
2706
2708
|
|
2707
2709
|
parser.add_argument('--verbose', dest = 'verbose', action='store_true', help = 'Print minor updates to console. Major updates are printed regardless.')
|
@@ -2720,16 +2722,23 @@ def merge_db_thread_starter(rev_index, per_db_accs):
|
|
2720
2722
|
|
2721
2723
|
|
2722
2724
|
|
2723
|
-
def merge_db(recipient, donors, verbose, threads):
|
2725
|
+
def merge_db(recipient, donors, donor_file, verbose, threads):
|
2724
2726
|
#Prettier on the CLI
|
2725
|
-
|
2727
|
+
|
2728
|
+
if donor_file is not None:
|
2729
|
+
fh = agnostic_reader(donor_file)
|
2730
|
+
donors = [line.strip() for line in fh]
|
2731
|
+
fh.close()
|
2732
|
+
|
2726
2733
|
if donors is None or recipient is None:
|
2727
2734
|
print("Either donor or target not given. FastAAI is exiting.")
|
2728
2735
|
return None
|
2729
2736
|
|
2730
2737
|
print("")
|
2731
2738
|
|
2732
|
-
|
2739
|
+
if donor_file is None:
|
2740
|
+
donors = donors.split(",")
|
2741
|
+
|
2733
2742
|
valid_donors = []
|
2734
2743
|
for d in donors:
|
2735
2744
|
if os.path.exists(d):
|
@@ -3454,10 +3463,11 @@ def main():
|
|
3454
3463
|
|
3455
3464
|
recipient = opts.recipient
|
3456
3465
|
donors = opts.donors
|
3466
|
+
donor_file = opts.donor_file
|
3457
3467
|
verbose = opts.verbose
|
3458
3468
|
threads = opts.threads
|
3459
3469
|
|
3460
|
-
merge_db(recipient, donors, verbose, threads)
|
3470
|
+
merge_db(recipient, donors, donor_file, verbose, threads)
|
3461
3471
|
|
3462
3472
|
#################### Query files vs DB ########################
|
3463
3473
|
|
data/utils/distance/commands.rb
CHANGED
@@ -151,8 +151,11 @@ module MiGA::DistanceRunner::Commands
|
|
151
151
|
donors << tgt_idx if tgt_idx
|
152
152
|
end
|
153
153
|
return nil if donors.empty?
|
154
|
+
|
155
|
+
# Build target database
|
156
|
+
File.open(f0 = tmp_file, 'w') { |fh| donors.each { |i| fh.puts i } }
|
154
157
|
run_cmd <<~CMD
|
155
|
-
FastAAI merge_db --
|
158
|
+
FastAAI merge_db --donor_file "#{f0}" \
|
156
159
|
--recipient "#{f1 = tmp_file}" --threads #{opts[:thr]}
|
157
160
|
CMD
|
158
161
|
|
@@ -166,7 +169,7 @@ module MiGA::DistanceRunner::Commands
|
|
166
169
|
# Save values in the databases
|
167
170
|
haai_data = {}
|
168
171
|
aai_data = {}
|
169
|
-
# Ugly workaround to the insistence of FastAAI to
|
172
|
+
# Ugly workaround to the insistence of FastAAI not to provide the files
|
170
173
|
# I ask for ;-)
|
171
174
|
qry_results = File.basename(qry_idx, '.faix') + '_results.txt'
|
172
175
|
out_file = File.join(f2, 'results', qry_results)
|
data/utils/distance/database.rb
CHANGED
@@ -127,6 +127,7 @@ module MiGA::DistanceRunner::Database
|
|
127
127
|
db = tmp_dbs[metric]
|
128
128
|
table = metric == :haai ? :aai : metric
|
129
129
|
SQLite3::Database.new(db) do |conn|
|
130
|
+
conn.execute('BEGIN TRANSACTION')
|
130
131
|
data.each do |k, v|
|
131
132
|
sql = <<~SQL
|
132
133
|
insert into #{table} (
|
@@ -135,6 +136,7 @@ module MiGA::DistanceRunner::Database
|
|
135
136
|
SQL
|
136
137
|
conn.execute(sql, [dataset.name, k] + v)
|
137
138
|
end
|
139
|
+
conn.execute('COMMIT')
|
138
140
|
end
|
139
141
|
checkpoint(metric)
|
140
142
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: miga-base
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.3.
|
4
|
+
version: 1.1.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luis M. Rodriguez-R
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-11-
|
11
|
+
date: 2021-11-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: daemons
|