diff --git a/src/annotate/seqvars/csq.rs b/src/annotate/seqvars/csq.rs index 1df50ded..d1eb2ee3 100644 --- a/src/annotate/seqvars/csq.rs +++ b/src/annotate/seqvars/csq.rs @@ -677,12 +677,12 @@ impl ConsequencePredictor { }, consequences, putative_impact, - gene_symbol: tx.gene_symbol, - gene_id: tx.gene_id, + gene_symbol: tx.gene_symbol.clone(), + gene_id: tx.gene_id.clone(), feature_type: FeatureType::SoTerm { term: SoFeature::Transcript, }, - feature_id: tx.id, + feature_id: tx.id.clone(), feature_biotype, rank, hgvs_t, diff --git a/src/annotate/seqvars/provider.rs b/src/annotate/seqvars/provider.rs index 831b06f8..e01a9f84 100644 --- a/src/annotate/seqvars/provider.rs +++ b/src/annotate/seqvars/provider.rs @@ -454,7 +454,7 @@ impl Provider { /// # Returns /// /// The `Transcript` for the given accession, or None if the accession was not found. - pub fn get_tx(&self, tx_id: &str) -> Option { + pub fn get_tx(&self, tx_id: &str) -> Option<&Transcript> { self.tx_map.get(tx_id).and_then(|idx| { let tx = &self .tx_seq_db @@ -465,7 +465,7 @@ impl Provider { if let Some(true) = tx.filtered { None } else { - Some(tx.clone()) + Some(tx) } }) } diff --git a/src/server/run/actix_server/gene_txs.rs b/src/server/run/actix_server/gene_txs.rs index 66b2fd34..efb8e20c 100644 --- a/src/server/run/actix_server/gene_txs.rs +++ b/src/server/run/actix_server/gene_txs.rs @@ -66,6 +66,7 @@ fn genes_tx_impl( transcripts: tx_acs[first..last] .iter() .filter_map(|tx_ac| provider.get_tx(tx_ac)) + .cloned() .collect::>(), next_page_token: if last < tx_acs.len() { Some(tx_acs[last].clone())