Skip to content

Commit 37a5879

Browse files
authored
Merge pull request #32 from vrbouza/3di_victordev
Fixing distances instead of similarity index and also query mode bug
2 parents 82eaf78 + 270e9ee commit 37a5879

File tree

5 files changed

+15
-14
lines changed

5 files changed

+15
-14
lines changed

.github/configs/grcov.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ branch: false
22
ignore-not-existing: true
33
llvm: true
44
output-type: lcov
5-
output-file: ./lcov.info
5+
output-file: ./lcov.info

.github/workflows/codecov.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,4 @@ jobs:
4242
token: ${{ secrets.CODECOV_TOKEN }}
4343
files: lcov.info
4444
fail_ci_if_error: true
45-
verbose: true
45+
verbose: true

src/lib.rs

+6-5
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ pub fn main() -> Result<(), Error> {
223223
references.get_sketch_slice(j, k),
224224
references.sketch_size,
225225
);
226-
dist = if *ani { ani_pois(dist, k_f32) } else { dist };
226+
dist = if *ani { ani_pois(dist, k_f32) } else { 1.0_f32 - dist };
227227
dist_slice[dist_idx] = dist;
228228
} else {
229229
let dist =
@@ -275,7 +275,7 @@ pub fn main() -> Result<(), Error> {
275275
references.sketch_size,
276276
);
277277
dist =
278-
if *ani { ani_pois(dist, k_f32) } else { dist };
278+
if *ani { ani_pois(dist, k_f32) } else { 1.0_f32 - dist };
279279
let dist_item = SparseJaccard(j, dist);
280280
if heap.len() < nn
281281
|| dist_item < *heap.peek().unwrap()
@@ -333,6 +333,7 @@ pub fn main() -> Result<(), Error> {
333333
let mut distances =
334334
DistanceMatrix::new(&references, Some(&query_db), dist_type);
335335
let par_chunk = CHUNK_SIZE * distances.n_dist_cols();
336+
let nq = query_db.number_samples_loaded();
336337
distances
337338
.dists_mut()
338339
.par_chunks_mut(par_chunk)
@@ -341,15 +342,15 @@ pub fn main() -> Result<(), Error> {
341342
.for_each(|(chunk_idx, dist_slice)| {
342343
// Get first i, j index for the chunk
343344
let start_dist_idx = chunk_idx * CHUNK_SIZE;
344-
let (mut i, mut j) = calc_query_indices(start_dist_idx, n);
345+
let (mut i, mut j) = calc_query_indices(start_dist_idx, nq);
345346
for dist_idx in 0..CHUNK_SIZE {
346347
if let Some(k) = k_idx {
347348
let mut dist = jaccard_dist(
348349
references.get_sketch_slice(i, k),
349350
query_db.get_sketch_slice(j, k),
350351
references.sketch_size,
351352
);
352-
dist = if *ani { ani_pois(dist, k_f32) } else { dist };
353+
dist = if *ani { ani_pois(dist, k_f32) } else { 1.0_f32 - dist };
353354
dist_slice[dist_idx] = dist;
354355
} else {
355356
let dist = core_acc_dist(&references, &query_db, i, j);
@@ -359,7 +360,7 @@ pub fn main() -> Result<(), Error> {
359360

360361
// Move to next index
361362
j += 1;
362-
if j >= n {
363+
if j >= nq {
363364
i += 1;
364365
j = 0;
365366
// End of all dists reached (final chunk)

src/multisketch.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ impl MultiSketch {
205205
let mut removed_samples = Vec::new();
206206

207207
for sketch in &self.sketch_metadata {
208-
208+
209209
if !genome_ids_to_remove.contains(&(*sketch.name()).to_string()) {
210210
new_sketch_metadata.push(sketch.clone());
211211

@@ -219,7 +219,7 @@ impl MultiSketch {
219219
let missing: Vec<&&str> = set2.difference(&set1).collect();
220220
if !missing.is_empty() {
221221
bail!("The following samples have not been found in the database: {:?}", missing);
222-
}
222+
}
223223

224224
self.sketch_metadata = new_sketch_metadata;
225225
self.save_metadata(output_file_name)?;
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
short_sequence_dists_5: 0.753806
22
short_sequence_jaccard_dists_5: 0.7538061
3-
short_sequence_dists_3: 1
4-
short_sequence_jaccard_dists_3: 1
5-
whole_genome_block_removed: 0.9982973
6-
multiple_genomes: [0.59244794, 0.0, 0.0, 0.0, 0.0, 0.6295072]
7-
multiple_genomes_10000: [0.59244794, 0.0, 0.0, 0.0, 0.0, 0.6295072]
3+
short_sequence_dists_3: 0
4+
short_sequence_jaccard_dists_3: 0
5+
whole_genome_block_removed: 0.0017027
6+
multiple_genomes: [0.40755, 1.0, 1.0, 1.0, 1.0, 0.37049]
7+
multiple_genomes_10000: [0.40755, 1.0, 1.0, 1.0, 1.0, 0.37049]

0 commit comments

Comments
 (0)