Skip to content

Commit 460394f

Browse files
committed
organizing. kind of,
1 parent 2997e95 commit 460394f

File tree

2 files changed

+44
-40
lines changed

2 files changed

+44
-40
lines changed

src/utils/data_ingest.rs

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -640,45 +640,6 @@ pub fn get_reference_lens(
640640
Ok(ref_len_map)
641641
}
642642

643-
// Function to process reference names and generate segments, segset, and segcolor
644-
pub fn return_seg_data(
645-
reference_names: Vec<String>,
646-
) -> (Vec<String>, Vec<String>, HashMap<String, &'static str>) {
647-
let mut segments: Vec<String> = reference_names.into_iter().collect();
648-
segments.sort();
649-
segments.dedup();
650-
651-
let color_palette = vec![
652-
"#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd", "#8c564b", "#e377c2", "#7f7f7f",
653-
"#bcbd22", "#17becf",
654-
];
655-
656-
let mut segset: Vec<String> = Vec::new();
657-
for segment in &segments {
658-
let parts: Vec<&str> = segment.split('_').collect();
659-
if parts.len() > 1 {
660-
segset.push(parts[1].to_string());
661-
} else {
662-
segset.push(segment.clone());
663-
}
664-
}
665-
666-
let segset: Vec<String> = segset
667-
.into_iter()
668-
.collect::<std::collections::HashSet<_>>()
669-
.into_iter()
670-
.collect();
671-
672-
let mut segcolor: HashMap<String, &str> = HashMap::new();
673-
for (i, seg) in segset.iter().enumerate() {
674-
if i < color_palette.len() {
675-
segcolor.insert(seg.clone(), color_palette[i]);
676-
}
677-
}
678-
679-
(segments, segset, segcolor)
680-
}
681-
682643
/////////////// Data reading functions for DAIS-ribosome ///////////////
683644
/// Read tab-delimited data a withouot including sample name
684645
pub fn process_txt<R, T>(reader: R, has_headers: bool) -> Result<Vec<T>, Box<dyn std::error::Error>>

src/utils/data_processing.rs

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@ use crate::utils::data_ingest;
22
use either::Either;
33
use glob::glob;
44
use serde::{self, Deserialize, Serialize, de::DeserializeOwned};
5-
use std::{collections::HashSet, error::Error};
5+
use std::{
6+
collections::{HashMap, HashSet},
7+
error::Error,
8+
};
69

710
use super::data_ingest::DaisSeqData;
811

@@ -26,6 +29,46 @@ pub fn append_with_comma(base: &mut String, new_entry: &str) {
2629
}
2730
}
2831

32+
// Function to process reference names and generate segments, segset, and segcolor
33+
pub fn return_seg_data(
34+
reference_names: Vec<String>,
35+
) -> (Vec<String>, Vec<String>, HashMap<String, &'static str>) {
36+
let mut segments: Vec<String> = reference_names.into_iter().collect();
37+
segments.sort();
38+
segments.dedup();
39+
40+
let color_palette = vec![
41+
"#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd", "#8c564b", "#e377c2", "#7f7f7f",
42+
"#bcbd22", "#17becf",
43+
];
44+
45+
let mut segset: Vec<String> = Vec::new();
46+
for segment in &segments {
47+
let parts: Vec<&str> = segment.split('_').collect();
48+
if parts.len() > 1 {
49+
segset.push(parts[1].to_string());
50+
} else {
51+
segset.push(segment.clone());
52+
}
53+
}
54+
55+
let segset: Vec<String> = segset
56+
.into_iter()
57+
.collect::<std::collections::HashSet<_>>()
58+
.into_iter()
59+
.collect();
60+
61+
let mut segcolor: HashMap<String, &str> = HashMap::new();
62+
for (i, seg) in segset.iter().enumerate() {
63+
if i < color_palette.len() {
64+
segcolor.insert(seg.clone(), color_palette[i]);
65+
}
66+
}
67+
68+
(segments, segset, segcolor)
69+
}
70+
71+
// Function to calculate the aa variants - this is specifically for flu right now
2972
pub fn compute_dais_variants(
3073
ref_seqs_data: &Vec<DaisSeqData>,
3174
sample_seqs_data: &Vec<DaisSeqData>,

0 commit comments

Comments
 (0)