|
@@ -461,7 +461,7 @@ pub fn write_fasta(fasta_path: &str, d: &Vec<(String, String)>) {
|
|
|
|
|
|
|
|
pub fn create_bam(ref_path: &str, reads_path: &str, bam_path: &str) -> Result<()> {
|
|
pub fn create_bam(ref_path: &str, reads_path: &str, bam_path: &str) -> Result<()> {
|
|
|
let rg_id = uuid::Uuid::new_v4();
|
|
let rg_id = uuid::Uuid::new_v4();
|
|
|
- let mm2 = Command::new("minimap2")
|
|
|
|
|
|
|
+ let mut mm2 = Command::new("minimap2")
|
|
|
.arg("-t")
|
|
.arg("-t")
|
|
|
.arg("128")
|
|
.arg("128")
|
|
|
.arg("-ax")
|
|
.arg("-ax")
|
|
@@ -472,35 +472,38 @@ pub fn create_bam(ref_path: &str, reads_path: &str, bam_path: &str) -> Result<()
|
|
|
))
|
|
))
|
|
|
.arg(ref_path)
|
|
.arg(ref_path)
|
|
|
.arg(reads_path)
|
|
.arg(reads_path)
|
|
|
- .stdout(Stdio::piped())
|
|
|
|
|
- .spawn()
|
|
|
|
|
- .expect("Minimap2 failed to start");
|
|
|
|
|
-
|
|
|
|
|
- let view = Command::new("sambamba")
|
|
|
|
|
- .arg("view")
|
|
|
|
|
- .arg("-h")
|
|
|
|
|
- .arg("-S")
|
|
|
|
|
- .arg("-t")
|
|
|
|
|
- .arg("20")
|
|
|
|
|
- .arg("--format=bam")
|
|
|
|
|
- .arg("/dev/stdin")
|
|
|
|
|
- .stdin(Stdio::from(mm2.stdout.unwrap()))
|
|
|
|
|
- .stdout(Stdio::piped())
|
|
|
|
|
- .spawn()
|
|
|
|
|
- .expect("Sambamba view failed to start");
|
|
|
|
|
-
|
|
|
|
|
- let mut sort = Command::new("sambamba")
|
|
|
|
|
- .arg("sort")
|
|
|
|
|
- .arg("-t")
|
|
|
|
|
- .arg("20")
|
|
|
|
|
- .arg("/dev/stdin")
|
|
|
|
|
- .arg("-o")
|
|
|
|
|
|
|
+ .arg(" | sambamba view -h -S --format=bam /dev/stdin | sambamba sort /dev/stdin -o")
|
|
|
.arg(bam_path)
|
|
.arg(bam_path)
|
|
|
- .stdin(Stdio::from(view.stdout.unwrap()))
|
|
|
|
|
|
|
+ // .stdout(Stdio::piped())
|
|
|
.spawn()
|
|
.spawn()
|
|
|
- .expect("Sambamba sort failed to start");
|
|
|
|
|
-
|
|
|
|
|
- sort.wait().unwrap();
|
|
|
|
|
|
|
+ .expect("Minimap2 failed to start");
|
|
|
|
|
+ mm2.wait();
|
|
|
|
|
+
|
|
|
|
|
+ // let view = Command::new("sambamba")
|
|
|
|
|
+ // .arg("view")
|
|
|
|
|
+ // .arg("-h")
|
|
|
|
|
+ // .arg("-S")
|
|
|
|
|
+ // .arg("-t")
|
|
|
|
|
+ // .arg("20")
|
|
|
|
|
+ // .arg("--format=bam")
|
|
|
|
|
+ // .arg("/dev/stdin")
|
|
|
|
|
+ // .stdin(Stdio::from(mm2.stdout.unwrap()))
|
|
|
|
|
+ // .stdout(Stdio::piped())
|
|
|
|
|
+ // .spawn()
|
|
|
|
|
+ // .expect("Sambamba view failed to start");
|
|
|
|
|
+ //
|
|
|
|
|
+ // let mut sort = Command::new("sambamba")
|
|
|
|
|
+ // .arg("sort")
|
|
|
|
|
+ // .arg("-t")
|
|
|
|
|
+ // .arg("20")
|
|
|
|
|
+ // .arg("/dev/stdin")
|
|
|
|
|
+ // .arg("-o")
|
|
|
|
|
+ // .arg(bam_path)
|
|
|
|
|
+ // .stdin(Stdio::from(view.stdout.unwrap()))
|
|
|
|
|
+ // .spawn()
|
|
|
|
|
+ // .expect("Sambamba sort failed to start");
|
|
|
|
|
+
|
|
|
|
|
+ // sort.wait().unwrap();
|
|
|
Ok(())
|
|
Ok(())
|
|
|
}
|
|
}
|
|
|
|
|
|