Skip to content

Commit ed217c2

Browse files
Merge branch 'master' of github.com:rust-bio/rust-htslib
2 parents 083b4af + 4d99455 commit ed217c2

File tree

5 files changed

+12
-9
lines changed

5 files changed

+12
-9
lines changed

src/bam/header.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// except according to those terms.
55

66
use crate::bam::HeaderView;
7+
use lazy_static::lazy_static;
78
use linear_map::LinearMap;
89
use regex::Regex;
910
use std::collections::HashMap;
@@ -65,15 +66,17 @@ impl Header {
6566
pub fn to_hashmap(&self) -> HashMap<String, Vec<LinearMap<String, String>>> {
6667
let mut header_map = HashMap::default();
6768

68-
let rec_type_re = Regex::new(r"@([A-Z][A-Z])").unwrap();
69-
let tag_re = Regex::new(r"([A-Za-z][A-Za-z0-9]):([ -~]+)").unwrap();
69+
lazy_static! {
70+
static ref REC_TYPE_RE: Regex = Regex::new(r"@([A-Z][A-Z])").unwrap();
71+
static ref TAG_RE: Regex = Regex::new(r"([A-Za-z][A-Za-z0-9]):([ -~]+)").unwrap();
72+
}
7073

7174
let header_string = String::from_utf8(self.to_bytes()).unwrap();
7275

7376
for line in header_string.split('\n').filter(|x| !x.is_empty()) {
7477
let parts: Vec<_> = line.split('\t').filter(|x| !x.is_empty()).collect();
7578
// assert!(rec_type_re.is_match(parts[0]));
76-
let record_type = rec_type_re
79+
let record_type = REC_TYPE_RE
7780
.captures(parts[0])
7881
.unwrap()
7982
.get(1)
@@ -82,7 +85,7 @@ impl Header {
8285
.to_owned();
8386
let mut field = LinearMap::default();
8487
for part in parts.iter().skip(1) {
85-
let cap = tag_re.captures(part).unwrap();
88+
let cap = TAG_RE.captures(part).unwrap();
8689
let tag = cap.get(1).unwrap().as_str().to_owned();
8790
let value = cap.get(2).unwrap().as_str().to_owned();
8891
field.insert(tag, value);

src/bam/record.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ use std::str;
1414
use std::str::FromStr;
1515
use std::u32;
1616

17+
use lazy_static::lazy_static;
1718
use regex::Regex;
1819

1920
use crate::bam::errors::Result;

src/bcf/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -748,7 +748,7 @@ mod tests {
748748

749749
assert_eq!(record.rid().expect("Error reading rid."), 0);
750750
assert_eq!(record.pos(), 10021 + i as i64);
751-
assert!((record.qual() - 0f32).abs() < f32::EPSILON);
751+
assert!((record.qual() - 0f32).abs() < std::f32::EPSILON);
752752
assert!(
753753
(record
754754
.info(b"MQ0F")
@@ -757,7 +757,7 @@ mod tests {
757757
.expect("Missing tag")[0]
758758
- 1.0)
759759
.abs()
760-
< f32::EPSILON
760+
< std::f32::EPSILON
761761
);
762762
if i == 59 {
763763
assert!(
@@ -768,7 +768,7 @@ mod tests {
768768
.expect("Missing tag")[0]
769769
- -0.379885)
770770
.abs()
771-
< f32::EPSILON
771+
< std::f32::EPSILON
772772
);
773773
}
774774
// the artificial "not observed" allele is present in each record.

src/bcf/record.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ use std::str;
1515

1616
use bio_types::genome;
1717
use ieee754::Ieee754;
18+
use lazy_static::lazy_static;
1819

1920
use crate::bcf::errors::Result;
2021
use crate::bcf::header::{HeaderView, Id};

src/lib.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,6 @@
6767
6868
#[macro_use]
6969
extern crate custom_derive;
70-
#[macro_use]
71-
extern crate lazy_static;
7270
extern crate libc;
7371
#[macro_use]
7472
extern crate newtype_derive;

0 commit comments

Comments
 (0)