|
@@ -529,12 +529,10 @@ pub fn scan_contig(
|
|
|
|
|
|
|
|
let fb_positions: [Option<u32>; 2] =
|
|
let fb_positions: [Option<u32>; 2] =
|
|
|
if let Some(inv) = fb_inv_from_record(rec, &header, min_mapq, Some(150), Some(200)) {
|
|
if let Some(inv) = fb_inv_from_record(rec, &header, min_mapq, Some(150), Some(200)) {
|
|
|
- let a_end_minus_1 = (inv.aln_a_end > 0
|
|
|
|
|
- && (inv.aln_a_end - 1) < contig_len as i64)
|
|
|
|
|
|
|
+ let a_end_minus_1 = (inv.aln_a_end > 0 && (inv.aln_a_end - 1) < contig_len as i64)
|
|
|
.then_some((inv.aln_a_end - 1) as u32);
|
|
.then_some((inv.aln_a_end - 1) as u32);
|
|
|
|
|
|
|
|
- let b_start = (inv.aln_b_start >= 0
|
|
|
|
|
- && inv.aln_b_start < contig_len as i64)
|
|
|
|
|
|
|
+ let b_start = (inv.aln_b_start >= 0 && inv.aln_b_start < contig_len as i64)
|
|
|
.then_some(inv.aln_b_start as u32);
|
|
.then_some(inv.aln_b_start as u32);
|
|
|
|
|
|
|
|
[a_end_minus_1, b_start]
|
|
[a_end_minus_1, b_start]
|
|
@@ -542,7 +540,6 @@ pub fn scan_contig(
|
|
|
[None, None]
|
|
[None, None]
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-
|
|
|
|
|
// "last wins" representative per qname (same as HashMap overwrite behavior)
|
|
// "last wins" representative per qname (same as HashMap overwrite behavior)
|
|
|
let qname = rec.qname().to_vec();
|
|
let qname = rec.qname().to_vec();
|
|
|
|
|
|
|
@@ -567,7 +564,6 @@ pub fn scan_contig(
|
|
|
if is_lowq {
|
|
if is_lowq {
|
|
|
b.lowq[i] += 1;
|
|
b.lowq[i] += 1;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
for pos in fb_positions.into_iter().flatten() {
|
|
for pos in fb_positions.into_iter().flatten() {
|
|
@@ -698,6 +694,7 @@ pub fn par_whole_scan(id: &str, time_point: &str, config: &Config) -> anyhow::Re
|
|
|
let header = bam::Header::from_template(reader.header());
|
|
let header = bam::Header::from_template(reader.header());
|
|
|
let contigs: Vec<(String, u32)> = get_genome_sizes(&header)?
|
|
let contigs: Vec<(String, u32)> = get_genome_sizes(&header)?
|
|
|
.into_iter()
|
|
.into_iter()
|
|
|
|
|
+ .filter(|(ctg, _)| ctg != "chrM")
|
|
|
.map(|(ctg, len)| {
|
|
.map(|(ctg, len)| {
|
|
|
u32::try_from(len)
|
|
u32::try_from(len)
|
|
|
.map(|l| (ctg.clone(), l))
|
|
.map(|l| (ctg.clone(), l))
|