|
|
@@ -573,7 +573,7 @@ impl NeoContig {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- pub fn get_hgvs(self, centromere_pos: Vec<(String, i64)>) -> Option<String> {
|
|
|
+ pub fn get_hgvs(&self, centromere_pos: Vec<(String, i64)>) -> Option<String> {
|
|
|
fn get_hgvs_part(aln: Sam, centro_pos: i64) -> String {
|
|
|
let mut part = "".to_string();
|
|
|
if aln.ref_pos < centro_pos {
|
|
|
@@ -606,12 +606,13 @@ impl NeoContig {
|
|
|
b_part = get_hgvs_part(self.alignments[1].clone(), *pos);
|
|
|
}
|
|
|
});
|
|
|
-
|
|
|
- let mut added_nt = self.alignments[0].sequence[
|
|
|
- self.alignments[0].query_range.end..(self.alignments[1].query_range.start - 1)
|
|
|
- ].to_string();
|
|
|
-
|
|
|
- if added_nt.len() > 0 { added_nt.push(';'); }
|
|
|
+ let mut added_nt = String::new();
|
|
|
+ if self.alignments[0].query_range.end < self.alignments[1].query_range.start {
|
|
|
+ added_nt = self.alignments[0].sequence[
|
|
|
+ self.alignments[0].query_range.end..(self.alignments[1].query_range.start - 1)
|
|
|
+ ].to_string();
|
|
|
+ added_nt.push(';');
|
|
|
+ }
|
|
|
|
|
|
res = Some(format!(
|
|
|
"{}:g.{}[{}{}:g.{}]",
|
|
|
@@ -624,6 +625,9 @@ impl NeoContig {
|
|
|
}
|
|
|
res
|
|
|
}
|
|
|
+ pub fn get_fasta(&self) -> String {
|
|
|
+ String::new()
|
|
|
+ }
|
|
|
}
|
|
|
pub struct Fasta {
|
|
|
fa: IndexedFasta
|