|
|
@@ -60,7 +60,8 @@ impl DNAString {
|
|
|
}
|
|
|
return res;
|
|
|
} else {
|
|
|
- return vec!(self.clone());
|
|
|
+ // return vec!(self.clone());
|
|
|
+ return vec![DNAString::new_empty()];
|
|
|
}
|
|
|
}
|
|
|
pub fn compressed_k_mers(&self, k: usize) -> Vec<CompressedString> {
|
|
|
@@ -390,6 +391,22 @@ fn compare_with_tolerance(
|
|
|
mod tests {
|
|
|
use super::*;
|
|
|
|
|
|
+ #[test]
|
|
|
+ fn kmers() {
|
|
|
+ let seq_a = "ATTTCACATCTGTAATACTCTGTCTCCTTGTTATAATTTCATTTACTAGTTT";
|
|
|
+ let sequence_a = DNAString::new(seq_a.as_bytes().to_vec());
|
|
|
+ let kmers = sequence_a.k_mers(50);
|
|
|
+
|
|
|
+ assert_eq!(seq_a.len() - 50 + 1, kmers.len());
|
|
|
+
|
|
|
+ let seq_a = "ATTTCACATCTGTAATACTCTGTCTCCTTGTTATAATTTCATTTACTAGTTT";
|
|
|
+ let sequence_a = DNAString::new(seq_a.as_bytes().to_vec());
|
|
|
+ let kmers = sequence_a.k_mers(60);
|
|
|
+
|
|
|
+ println!("{}", kmers.len());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
#[test]
|
|
|
fn left() {
|
|
|
let seq_a = "ATTTCACATCTGTAATACTCTGTCTCCTTGTTATAATTTCATTTACTAGTTATAATTTATAATGCAAACTGGATTGCAGCCCCAGTGCCAGGACTCAAATTATCCCAGAAATATAGGAAAAAGATCAACTCACGGGGCTCCACGAAGAGTT";
|