From a190c460555ef8205ab0c732e91a72a066b53a29 Mon Sep 17 00:00:00 2001 From: wdecoster Date: Wed, 14 Feb 2024 00:40:45 +0100 Subject: [PATCH] fix issue with creating karyotype from remote file, passing Header object --- Cargo.lock | 2 +- Cargo.toml | 2 +- src/karyotype.rs | 6 ++---- src/main.rs | 2 +- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 753d4c2..b66cadb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -473,7 +473,7 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "cramino" -version = "0.14.1" +version = "0.14.2" dependencies = [ "arrow", "chrono", diff --git a/Cargo.toml b/Cargo.toml index b59b568..a1126b2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cramino" -version = "0.14.1" +version = "0.14.2" edition = "2021" authors = ["Wouter De Coster decosterwouter@gmail.com"] license = "MIT" diff --git a/src/karyotype.rs b/src/karyotype.rs index c150ed6..b77b95e 100644 --- a/src/karyotype.rs +++ b/src/karyotype.rs @@ -1,9 +1,7 @@ -use rust_htslib::bam::{self, Read}; +use rust_htslib::bam; use std::collections::HashMap; -pub fn make_karyotype(tids: &Vec, bamp: String) { - let bam = bam::Reader::from_path(bamp).unwrap(); - let header = bam::Header::from_template(bam.header()); +pub fn make_karyotype(tids: &Vec, header: rust_htslib::bam::Header) { let head_view = bam::HeaderView::from_header(&header); let mut tidcount: HashMap = HashMap::new(); diff --git a/src/main.rs b/src/main.rs index d31e99a..562bdb7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -130,7 +130,7 @@ fn metrics_from_bam( None }; if args.karyotype { - karyotype::make_karyotype(metrics.tids.as_ref().unwrap(), bam.to_string()); + karyotype::make_karyotype(metrics.tids.as_ref().unwrap(), header); } let exon_counts = if let Some(mut exon_counts) = metrics.exons { exon_counts.sort_unstable();