mirror of
https://github.com/pcvolkmer/fastq-tools.git
synced 2025-09-13 13:12:52 +00:00
test: illumina generated casava 1.8+ header format used at CCC MF
This commit is contained in:
66
src/fastq.rs
66
src/fastq.rs
@@ -252,7 +252,7 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn should_return_header_string() {
|
fn should_return_casava18_header_string() {
|
||||||
let given = "@EAS139:136:FC706VJ:2:2104:15343:197393 1:Y:18:ATCACG";
|
let given = "@EAS139:136:FC706VJ:2:2104:15343:197393 1:Y:18:ATCACG";
|
||||||
let actual = given.parse::<Header>();
|
let actual = given.parse::<Header>();
|
||||||
|
|
||||||
@@ -263,21 +263,47 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn should_return_scrambled_sequence_string_seed1() {
|
fn should_return_other_parsed_casava18_header() {
|
||||||
let given = "GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT";
|
let given = "@EAS139:136:FC706VJ:2:2104:15343:197393 1:Y:18:NGAAGCAA+NATGCTGA";
|
||||||
let actual = scramble_sequence(given, 1);
|
|
||||||
let expected = "CGATCTGGCGCGCAGCGCCGGAGCGAGCAGAGCGTAGATGCATCCGCGCGGCGCGCCGTT";
|
|
||||||
|
|
||||||
assert_eq!(expected, actual);
|
if let Ok(Header::Casava18(actual)) = given.parse::<Header>() {
|
||||||
|
assert_eq!(actual.instrument_name, "EAS139");
|
||||||
|
assert_eq!(actual.run_id, 136);
|
||||||
|
assert_eq!(actual.flowcell_id, "FC706VJ");
|
||||||
|
assert_eq!(actual.flowcell_lane, 2);
|
||||||
|
assert_eq!(actual.tile_number, 2104);
|
||||||
|
assert_eq!(actual.x, 15343);
|
||||||
|
assert_eq!(actual.y, 197393);
|
||||||
|
assert_eq!(actual.pair_member, Pair::PairedEnd);
|
||||||
|
assert_eq!(actual.filtered, Filtered::Y);
|
||||||
|
assert_eq!(actual.control_bits, 18);
|
||||||
|
assert_eq!(actual.index_sequence, "NGAAGCAA+NATGCTGA");
|
||||||
|
} else {
|
||||||
|
panic!("Failed to parse FASTQ header");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn should_return_scrambled_sequence_string_seed42() {
|
fn should_return_other_casava18_header_string() {
|
||||||
let given = "GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT";
|
let given = "@EAS139:136:FC706VJ:2:2104:15343:197393 1:Y:18:NGAAGCAA+NATGCTGA";
|
||||||
let actual = scramble_sequence(given, 42);
|
let actual = given.parse::<Header>();
|
||||||
let expected = "GTTTCTGGTTCGCAGCGCTCTCGCTCGCATCTTCTATCTGCTTCTTCGCCGCGCGCTTTA";
|
|
||||||
|
|
||||||
assert_eq!(expected, actual);
|
assert!(actual.is_ok());
|
||||||
|
|
||||||
|
let actual = actual.unwrap();
|
||||||
|
assert_eq!(given, actual.to_string());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn should_return_other_scrambled_casava18_header_string() {
|
||||||
|
let given = "@EAS139:136:FC706VJ:2:2104:15343:197393 1:Y:18:NGAAGCAA+NATGCTGA";
|
||||||
|
let actual = given.parse::<Header>();
|
||||||
|
let expected = "@TEST73:273:CQEAACM:8:503:15353:197403 1:Y:18:NCGGCGCA+NGACGCCG";
|
||||||
|
|
||||||
|
assert!(actual.is_ok());
|
||||||
|
|
||||||
|
let actual = actual.unwrap().scramble();
|
||||||
|
assert_eq!(expected, actual.to_string().as_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -308,4 +334,22 @@ mod tests {
|
|||||||
let actual = actual.unwrap();
|
let actual = actual.unwrap();
|
||||||
assert_eq!(given, actual.to_string());
|
assert_eq!(given, actual.to_string());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn should_return_scrambled_sequence_string_seed1() {
|
||||||
|
let given = "GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT";
|
||||||
|
let actual = scramble_sequence(given, 1);
|
||||||
|
let expected = "CGATCTGGCGCGCAGCGCCGGAGCGAGCAGAGCGTAGATGCATCCGCGCGGCGCGCCGTT";
|
||||||
|
|
||||||
|
assert_eq!(expected, actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn should_return_scrambled_sequence_string_seed42() {
|
||||||
|
let given = "GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT";
|
||||||
|
let actual = scramble_sequence(given, 42);
|
||||||
|
let expected = "GTTTCTGGTTCGCAGCGCTCTCGCTCGCATCTTCTATCTGCTTCTTCGCCGCGCGCTTTA";
|
||||||
|
|
||||||
|
assert_eq!(expected, actual);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user