diff --git a/rust/bioscript-formats/src/genotype/delimited/scan.rs b/rust/bioscript-formats/src/genotype/delimited/scan.rs index 2bbfbd2..1b41b82 100644 --- a/rust/bioscript-formats/src/genotype/delimited/scan.rs +++ b/rust/bioscript-formats/src/genotype/delimited/scan.rs @@ -190,12 +190,17 @@ pub(crate) fn scan_delimited_variants( for (idx, variant) in indexed { if results[idx].genotype.is_none() { - results[idx] = VariantObservation { - backend: backend.backend_name().to_owned(), - evidence: vec![format!( + let evidence = if variant.has_coordinates() { + format!( "no matching rsid or locus found for {}", describe_query(variant) - )], + ) + } else { + "no matching rsid found".to_owned() + }; + results[idx] = VariantObservation { + backend: backend.backend_name().to_owned(), + evidence: vec![evidence], ..VariantObservation::default() }; } diff --git a/rust/bioscript-runtime/tests/security.rs b/rust/bioscript-runtime/tests/security.rs index 63f0513..a0c65e5 100644 --- a/rust/bioscript-runtime/tests/security.rs +++ b/rust/bioscript-runtime/tests/security.rs @@ -546,11 +546,9 @@ if __name__ == "__main__": let output = fs::read_to_string(dir.join("outputs/batch.txt")).unwrap(); assert!(output.contains("CT"), "{output}"); assert!(output.contains("AG"), "{output}"); + assert!(output.contains("None"), "{output}"); assert!(output.contains("VariantObservation"), "{output}"); - assert!( - output.contains("no matching rsid or locus found"), - "{output}" - ); + assert!(output.contains("no matching"), "{output}"); let timings = runtime.timing_snapshot(); assert!( timings