|
|
@@ -456,16 +456,54 @@ mod tests {
|
|
|
fn test_local_assembly() -> anyhow::Result<()> {
|
|
|
init();
|
|
|
|
|
|
- let id = "CML2518";
|
|
|
- let abl_locus = ("chr9", 142_958_315, 142_958_913);
|
|
|
- let bcr_locus = ("chr22", 23_713_734, 23_714_329);
|
|
|
+ // CHAHA
|
|
|
+ // let id = "CHAHA";
|
|
|
+ // let reads: Vec<Vec<u8>> = vec![
|
|
|
+ // "80d3882e-3eba-4dad-a35a-058f2d2de701",
|
|
|
+ // "20d5dbfd-9545-4008-b4ba-8b7945c5ac98",
|
|
|
+ // "621d3c51-dee5-4b43-9763-ed373dbf3bbd",
|
|
|
+ // "67f962a3-63e9-4f29-831d-963a30abe0dd",
|
|
|
+ // "4893348b-917d-4df3-9f8f-c9e33e2a30e9",
|
|
|
+ // "d249d6cb-f55e-47b7-a08d-7d21fbe5793a",
|
|
|
+ // "63ccecb8-28cc-4f0e-93b2-712ff3fae469",
|
|
|
+ // ]
|
|
|
+ // .into_iter()
|
|
|
+ // .map(|e| e.to_string().as_bytes().to_vec())
|
|
|
+ // .collect();
|
|
|
+ // let locus = ("chr4", 146857960, 146858960);
|
|
|
+
|
|
|
+ let id = "DUMCO";
|
|
|
+ let reads: Vec<Vec<u8>> = vec![
|
|
|
+ "1ca90c3f-0ef6-4d8d-82ee-11ff20697362",
|
|
|
+ "6bb25dce-0002-444d-842f-85b7f4d1bb5d",
|
|
|
+ "b542a247-ec2f-447e-b41c-4e01b6fd137e",
|
|
|
+ "4fae3a60-9232-4bb9-a4de-c52aad994002",
|
|
|
+ "3b9b3ba1-af8d-4398-8aba-10f97efbe85d", // not sure
|
|
|
+ ]
|
|
|
+ .into_iter()
|
|
|
+ .map(|e| e.to_string().as_bytes().to_vec())
|
|
|
+ .collect();
|
|
|
+ let locus = ("chr11", 118502440, 118503440);
|
|
|
+
|
|
|
+ let id = "DUMCO";
|
|
|
+ let reads: Vec<Vec<u8>> = vec![
|
|
|
+ "ae6e4942-1d78-4b99-b259-8aea8a5fb2bb",
|
|
|
+ "8fb37629-4646-4b0d-b558-5a454bfae659",
|
|
|
+ "4fae3a60-9232-4bb9-a4de-c52aad994002",
|
|
|
+ "27d217b2-509c-450f-8edd-e0d09c93a5c0",
|
|
|
+ "930f9466-6a9f-44ba-9cfa-a18090236961",
|
|
|
+ ]
|
|
|
+ .into_iter()
|
|
|
+ .map(|e| e.to_string().as_bytes().to_vec())
|
|
|
+ .collect();
|
|
|
+ let locus = ("chr7", 47667964, 47668964);
|
|
|
|
|
|
let config = Config::default();
|
|
|
|
|
|
let bam_path = PathBuf::from(config.tumoral_bam(id));
|
|
|
let work_dir = PathBuf::from(format!(
|
|
|
- "{}/{id}/{}/asm_wtdbg2_22",
|
|
|
- config.result_dir, config.tumoral_name
|
|
|
+ "{}/{id}/{}/asm_wtdbg2_{}_{}_{}",
|
|
|
+ config.result_dir, config.tumoral_name, locus.0, locus.1, locus.2
|
|
|
));
|
|
|
if work_dir.exists() {
|
|
|
std::fs::remove_dir_all(&work_dir)?;
|
|
|
@@ -473,14 +511,17 @@ mod tests {
|
|
|
std::fs::create_dir_all(&work_dir)?;
|
|
|
|
|
|
let assembly_config = LocalAssemblyConfig {
|
|
|
- min_records: 10,
|
|
|
+ min_records: 3,
|
|
|
case_id: id.to_string(),
|
|
|
config: config.clone(),
|
|
|
};
|
|
|
|
|
|
// Fetch initial primary records from locus
|
|
|
// let records = fetch_primary_records(&bam_path, Some(abl_locus), None)?;
|
|
|
- let records = fetch_primary_records(&bam_path, Some(bcr_locus), None)?;
|
|
|
+ let mut records = fetch_primary_records(&bam_path, Some(locus), None)?;
|
|
|
+
|
|
|
+ info!("Fetched {} primary records from locus", records.len());
|
|
|
+ records.retain(|r| reads.contains(&r.qname().to_vec()));
|
|
|
|
|
|
info!("Fetched {} primary records from locus", records.len());
|
|
|
|