Skip to content

Commit

Permalink
refactor: Apply clippy lints (#456)
Browse files Browse the repository at this point in the history
* Apply clippy lints

* Format

* Refactor types and structs
  • Loading branch information
fxwiegand committed Oct 6, 2021
1 parent 4e2be9e commit 43d198e
Show file tree
Hide file tree
Showing 21 changed files with 67 additions and 83 deletions.
16 changes: 8 additions & 8 deletions benches/approximate_matching.rs
Expand Up @@ -8,7 +8,7 @@ use bio::alignment::Alignment;
use bio::pattern_matching::myers::{long, Myers};
use bio::pattern_matching::ukkonen::*;

static TEXT: &'static [u8] = b"GATCACAGGTCTATCACCCTATTAACCACTCACGGGAGCTCTCCATGC\
static TEXT: &[u8] = b"GATCACAGGTCTATCACCCTATTAACCACTCACGGGAGCTCTCCATGC\
ATTTGGTATTTTCGTCTGGGGGGTATGCACGCGATAGCATTGCGAGACGCTGGAGCCGGAGCACCCTATGTCGCAGTAT\
CTGTCTTTGATTCCTGCCTCATCCTATTATTTATCGCACCTACGTTCAATATTACAGGCGAACATACTTACTAAAGTGT\
GTTAATTAATTAATGCTTGTAGGACATAATAATAACAATTGAATGTCTGCACAGCCACTTTCCACACAGACATCATAAC\
Expand Down Expand Up @@ -222,7 +222,7 @@ CATCACGATG";

// Pattern has same length as in pattern_matching.rs, but 2 differences to best match.
// With k = 5 there are 14 hits, with k = 6, there are 78 hits (most are overlapping)
static PATTERN: &'static [u8] = b"GCGCGTCCACACCGCTCG";
static PATTERN: &[u8] = b"GCGCGTCCACACCGCTCG";

static K: u8 = 6;
// used with assertions to ensure correct code and to prevent over-optimization
Expand Down Expand Up @@ -360,7 +360,7 @@ fn myers_path_reverse_64(b: &mut Bencher) {
b.iter(|| {
let mut n = 0;
let mut matches = myers.find_all(TEXT, K);
while let Some(_) = matches.next_path_reverse(&mut ops) {
while matches.next_path_reverse(&mut ops).is_some() {
n += 1;
}
assert_eq!(n, N_HITS);
Expand All @@ -374,7 +374,7 @@ fn myers_path_64(b: &mut Bencher) {
b.iter(|| {
let mut n = 0;
let mut matches = myers.find_all(TEXT, K);
while let Some(_) = matches.next_path(&mut ops) {
while matches.next_path(&mut ops).is_some() {
n += 1;
}
assert_eq!(n, N_HITS);
Expand All @@ -388,7 +388,7 @@ fn myers_path_long_64(b: &mut Bencher) {
b.iter(|| {
let mut n = 0;
let mut matches = myers.find_all(TEXT, K as usize);
while let Some(_) = matches.next_path(&mut ops) {
while matches.next_path(&mut ops).is_some() {
n += 1;
}
assert_eq!(n, N_HITS);
Expand All @@ -402,7 +402,7 @@ fn myers_path_long_8(b: &mut Bencher) {
b.iter(|| {
let mut n = 0;
let mut matches = myers.find_all(TEXT, K as usize);
while let Some(_) = matches.next_path(&mut ops) {
while matches.next_path(&mut ops).is_some() {
n += 1;
}
assert_eq!(n, N_HITS);
Expand All @@ -417,7 +417,7 @@ fn myers_path_long_128(b: &mut Bencher) {
b.iter(|| {
let mut n = 0;
let mut matches = myers.find_all(TEXT, K as usize);
while let Some(_) = matches.next_path(&mut ops) {
while matches.next_path(&mut ops).is_some() {
n += 1;
}
assert_eq!(n, N_HITS);
Expand Down Expand Up @@ -463,7 +463,7 @@ fn myers_no_alignment_64(b: &mut Bencher) {
b.iter(|| {
let mut n = 0;
let mut matches = myers.find_all(TEXT, K);
while let Some(_) = matches.next_end() {
while matches.next_end().is_some() {
n += 1;
}
assert_eq!(n, N_HITS);
Expand Down
8 changes: 4 additions & 4 deletions benches/distance.rs
Expand Up @@ -9,7 +9,7 @@ use bio::alignment::distance::*;
use std::u32;

// 5,000 random nucleotides, GC content = .55
static STR_1: &'static [u8] = b"ATCTAACTATTCCCTGTGCCTTATGGGGGCCTGCGCTATCTGCCTGT\
static STR_1: &[u8] = b"ATCTAACTATTCCCTGTGCCTTATGGGGGCCTGCGCTATCTGCCTGT\
CGAACCATAGGACTCGCGCCAGCGCGCAGGCTTGGATCGAGGTGAAATCTCCGGGGCCTAAGACCACGAGCGTCTGGCG\
TCTTGGCTAACCCCCCTACATGCTGTTATAGACAATCAGTGGAAACCCGGTGCCAGGGGGTGGAGTGACCTTAAGTCAG\
GGACGATATTAATCGGAAGGAGTATTCAACGCAATGAAGCCGCAGGGTTGGCGTGGGAATGGTGCTTCTGTCCAAGCAG\
Expand Down Expand Up @@ -74,7 +74,7 @@ TTTCCCTAGACACTCAACAGTAAGCGCCTTTTGTAGGCAGGGGCACCCCCTGTCAGTGGCTGCGCCAAAACGTCTTCGG\
ATCCCCTTGTCCAATCAAACTGACCGAATTCTTTCATTTAAGACCCTAATATGACATCATTAGTGACTAAATGCCACTC\
CCAAAATTCTGCCCAGAAGCGTTTAAGTTCGCCCCACTAAAGTTGTCTAAAACGA";
// 5,000 random nucleotides, GC content = .45
static STR_2: &'static [u8] = b"CTAAAGTGGCGAAATTTATGGTGTGTGACCCGTTATGCTCCATTTCG\
static STR_2: &[u8] = b"CTAAAGTGGCGAAATTTATGGTGTGTGACCCGTTATGCTCCATTTCG\
GTCAGTGGGTCATTGCTAGTAGTCGATTGCATTGTCATTCTCCGAGTGATTTAGCGTGACAGCCGCAGGGAACCCATAA\
AATGTAATCGTAGTCCATCTGATCGTACTTAGAAATGAAGGTCCCCTTTTACCCACGCACCTGTTTACTCGTCGTTTGC\
TTTTAAGAACCGCACGAACCACAGAGCATAAAGAGAACCTCTAGTTCCTTTACAAAGTACTGGTTCCCTTTTCAGCAAG\
Expand Down Expand Up @@ -139,7 +139,7 @@ TGTTAGATGGCTCGCTGAACTAATAGTTGTCCACAGAACGTCAAGATTAGAAAACGGTTGTAGCATTATCGGAGGTTCT\
CTAACTACTATCAATACCCGTGTCTTGACTCTGCTGCGGCTACCTATCGCCTGAAAACCAGTTGGTGTTAAGGGATGCT\
CTGTCCAGGACGCCACATGTAGTGAAACTTACATGTTCGTTGGGTTCACCCGACT";
// 5,000 random nucleotides, GC content = .0
static STR_3: &'static [u8] = b"AATTTAAAATAAAATTATTTTAAAAAATAAATTTTTATTATTTTTTT\
static STR_3: &[u8] = b"AATTTAAAATAAAATTATTTTAAAAAATAAATTTTTATTATTTTTTT\
TATAAATAATTTAATATATTAAAAATATAAAATTAATTTTTTTAATAATTATAAATTAAAAATTTAAAATATTATTTAA\
AATATAAATTTAATAATATATATTTTAATTATTTAATTATTTTTTATATTTTATAAAAATTTATATTATTTATTTATTA\
AATTATAAAATTTATATTAATATATAAATTTAAATTAAAATAAAATTTTTAAAATTTAAAATTATAAATATTTAATATT\
Expand Down Expand Up @@ -204,7 +204,7 @@ TTTATATTTAAAATATAAATAATAAATAATTATAAAAATTTTAATATTAAATATATTATTTTTTTATAAATAATATTTT\
AAATTATATTATTATTATATTATTTAAATATAATATTATTTTTATTATATTTATTTTAATAATTATTATTTTTATAATT\
TTTTTAAATATTTAATAATAAATATTTTTTATAAATAAAAATATTTTTTATTAAT";
// 5,000 random nucleotides, GC content = 1.
static STR_4: &'static [u8] = b"GGGGGGGGGGCGCGCGGCCCCCCGCCGGGGCGCCCCCGCGCGCGGCG\
static STR_4: &[u8] = b"GGGGGGGGGGCGCGCGGCCCCCCGCCGGGGCGCCCCCGCGCGCGGCG\
CGGCCGCGCGCCCCGCGGGGGCGGCGGGCGCGCCGGGCGCCCCGCGGGCGGCGGGGGCCCGGGCGGGGGGCGCGCGGCC\
GGGGGCCGGCGCGGGCGCGGGCCGCGGCGGCGCCGGCCCGGCCGCGGCCCGCGCGCCCCGGGCGGCGCGCCCGCCCCGG\
CCGGCCCCCGGCGGCCCGCGGGGCGGCCCGGCCGCCGGCGGCCGCCCGGCGGCCCCGGCCCCCCGCCGGCGCCGCGGCG\
Expand Down
2 changes: 1 addition & 1 deletion benches/fasta_buffer_size.rs
Expand Up @@ -55,7 +55,7 @@ mod fasta_buffer {

use super::*;

bench_func!(default, |tempfile| fasta::Reader::new(tempfile));
bench_func!(default, fasta::Reader::new);
bench_func!(wrapped_default, |tempfile| fasta::Reader::new(
io::BufReader::new(tempfile)
));
Expand Down
2 changes: 1 addition & 1 deletion benches/fmindex.rs
Expand Up @@ -33,7 +33,7 @@ fn search_index_seeds(b: &mut Bencher) {
});
}

static STR_1: &'static [u8] = b"ATCTAACTATTCCCTGTGCCTTATGGGGGCCTGCGCTATCTGCCTGT\
static STR_1: &[u8] = b"ATCTAACTATTCCCTGTGCCTTATGGGGGCCTGCGCTATCTGCCTGT\
CGAACCATAGGACTCGCGCCAGCGCGCAGGCTTGGATCGAGGTGAAATCTCCGGGGCCTAAGACCACGAGCGTCTGGCG\
TCTTGGCTAACCCCCCTACATGCTGTTATAGACAATCAGTGGAAACCCGGTGCCAGGGGGTGGAGTGACCTTAAGTCAG\
GGACGATATTAATCGGAAGGAGTATTCAACGCAATGAAGCCGCAGGGTTGGCGTGGGAATGGTGCTTCTGTCCAAGCAG\
Expand Down
2 changes: 1 addition & 1 deletion benches/orf.rs
Expand Up @@ -8,7 +8,7 @@ use bio::seq_analysis::gc::*;
use bio::seq_analysis::orf::Finder;

// 5,000 random nucleotides, GC content = .55
static STR_1: &'static [u8] = b"ATCTAACTATTCCCTGTGCCTTATGGGGGCCTGCGCTATCTGCCTGT\
static STR_1: &[u8] = b"ATCTAACTATTCCCTGTGCCTTATGGGGGCCTGCGCTATCTGCCTGT\
CGAACCATAGGACTCGCGCCAGCGCGCAGGCTTGGATCGAGGTGAAATCTCCGGGGCCTAAGACCACGAGCGTCTGGCG\
TCTTGGCTAACCCCCCTACATGCTGTTATAGACAATCAGTGGAAACCCGGTGCCAGGGGGTGGAGTGACCTTAAGTCAG\
GGACGATATTAATCGGAAGGAGTATTCAACGCAATGAAGCCGCAGGGTTGGCGTGGGAATGGTGCTTCTGTCCAAGCAG\
Expand Down
4 changes: 2 additions & 2 deletions benches/pairhmm.rs
Expand Up @@ -6,11 +6,11 @@ use bio::stats::pairhmm::*;
use bio::stats::{LogProb, Prob};
use test::Bencher;

static TEXT: &'static [u8] = b"GATCACAGGTCTATCACCCTATTAACCACTCACGGGAGCTCTCCATGC\
static TEXT: &[u8] = b"GATCACAGGTCTATCACCCTATTAACCACTCACGGGAGCTCTCCATGC\
ATTTGGTATTTTCGTCTGGGGGGTATGCACGCGATAGCATTGCGAGACGCTGGAGCCGGAGCACCCTATGTCGCAGTAT\
CTGTCTTTGATTCCTGCCTCATCCTATTATTTATCGCACCTACGTTCAATATTACAGGCGAACATACTTACTAAAGTGT";

static PATTERN: &'static [u8] = b"GGGTATGCACGCGATAGCATTGCGAGACGCTGGAGCCGGAGCACCCTATGTCGC";
static PATTERN: &[u8] = b"GGGTATGCACGCGATAGCATTGCGAGACGCTGGAGCCGGAGCACCCTATGTCGC";

// Single base insertion and deletion rates for R1 according to Schirmer et al.
// BMC Bioinformatics 2016, 10.1186/s12859-016-0976-y
Expand Down
4 changes: 2 additions & 2 deletions benches/pairwise.rs
Expand Up @@ -6,7 +6,7 @@ use bio::alignment::pairwise::*;
use test::Bencher;

// 5,000 random nucleotides, GC content = .55
static STR_1: &'static [u8] = b"ATCTAACTATTCCCTGTGCCTTATGGGGGCCTGCGCTATCTGCCTGT\
static STR_1: &[u8] = b"ATCTAACTATTCCCTGTGCCTTATGGGGGCCTGCGCTATCTGCCTGT\
CGAACCATAGGACTCGCGCCAGCGCGCAGGCTTGGATCGAGGTGAAATCTCCGGGGCCTAAGACCACGAGCGTCTGGCG\
TCTTGGCTAACCCCCCTACATGCTGTTATAGACAATCAGTGGAAACCCGGTGCCAGGGGGTGGAGTGACCTTAAGTCAG\
GGACGATATTAATCGGAAGGAGTATTCAACGCAATGAAGCCGCAGGGTTGGCGTGGGAATGGTGCTTCTGTCCAAGCAG\
Expand Down Expand Up @@ -72,7 +72,7 @@ ATCCCCTTGTCCAATCAAACTGACCGAATTCTTTCATTTAAGACCCTAATATGACATCATTAGTGACTAAATGCCACTC\
CCAAAATTCTGCCCAGAAGCGTTTAAGTTCGCCCCACTAAAGTTGTCTAAAACGA";

// 5,000 random nucleotides, GC content = .45
static STR_2: &'static [u8] = b"CTAAAGTGGCGAAATTTATGGTGTGTGACCCGTTATGCTCCATTTCG\
static STR_2: &[u8] = b"CTAAAGTGGCGAAATTTATGGTGTGTGACCCGTTATGCTCCATTTCG\
GTCAGTGGGTCATTGCTAGTAGTCGATTGCATTGTCATTCTCCGAGTGATTTAGCGTGACAGCCGCAGGGAACCCATAA\
AATGTAATCGTAGTCCATCTGATCGTACTTAGAAATGAAGGTCCCCTTTTACCCACGCACCTGTTTACTCGTCGTTTGC\
TTTTAAGAACCGCACGAACCACAGAGCATAAAGAGAACCTCTAGTTCCTTTACAAAGTACTGGTTCCCTTTTCAGCAAG\
Expand Down
4 changes: 2 additions & 2 deletions benches/pattern_matching.rs
Expand Up @@ -9,7 +9,7 @@ use bio::pattern_matching::kmp::KMP;
use bio::pattern_matching::shift_and::ShiftAnd;
use test::Bencher;

static TEXT: &'static [u8] = b"GATCACAGGTCTATCACCCTATTAACCACTCACGGGAGCTCTCCATGC\
static TEXT: &[u8] = b"GATCACAGGTCTATCACCCTATTAACCACTCACGGGAGCTCTCCATGC\
ATTTGGTATTTTCGTCTGGGGGGTATGCACGCGATAGCATTGCGAGACGCTGGAGCCGGAGCACCCTATGTCGCAGTAT\
CTGTCTTTGATTCCTGCCTCATCCTATTATTTATCGCACCTACGTTCAATATTACAGGCGAACATACTTACTAAAGTGT\
GTTAATTAATTAATGCTTGTAGGACATAATAATAACAATTGAATGTCTGCACAGCCACTTTCCACACAGACATCATAAC\
Expand Down Expand Up @@ -221,7 +221,7 @@ ACCATCCTCCGTGAAATCAATATCCCGCACAAGAGTGCTACTCTCCTCGCTCCGGGCCCATAACACTTGGGGGTAGCTA\
AAGTGAACTGTATCCGACATCTGGTTCCTACTTCAGGGTCATAAAGCCTAAATAGCCCACACGTTCCCCTTAAATAAGA\
CATCACGATG";

static PATTERN: &'static [u8] = b"GCGCGTACACACCGCCCG";
static PATTERN: &[u8] = b"GCGCGTACACACCGCCCG";

#[bench]
fn bench_shift_and(b: &mut Bencher) {
Expand Down
4 changes: 2 additions & 2 deletions src/alignment/pairwise/banded.rs
Expand Up @@ -305,7 +305,7 @@ impl<F: MatchFunc> Aligner<F> {
y: TextSlice<'_>,
matches: &[(u32, u32)],
) -> Alignment {
self.band = Band::create_with_matches(x, y, self.k, self.w, &self.scoring, &matches);
self.band = Band::create_with_matches(x, y, self.k, self.w, &self.scoring, matches);
self.compute_alignment(x, y)
}

Expand Down Expand Up @@ -1316,7 +1316,7 @@ impl Band {
scoring.gap_open,
scoring.gap_extend,
);
Band::create_from_match_path(x, y, k, w, scoring, &res.path, &matches)
Band::create_from_match_path(x, y, k, w, scoring, &res.path, matches)
}

fn create_from_match_path<F: MatchFunc>(
Expand Down
7 changes: 2 additions & 5 deletions src/alignment/sparse.rs
Expand Up @@ -302,10 +302,7 @@ pub fn sdpkpp_union_lcskpp_path(
.path
.binary_search(&sdpkpp_al.path[0])
.unwrap_or(0);
let post_lcskpp = match lcskpp_al
.path
.binary_search(&sdpkpp_al.path.last().unwrap())
{
let post_lcskpp = match lcskpp_al.path.binary_search(sdpkpp_al.path.last().unwrap()) {
Ok(ind) => ind + 1,
Err(_) => lcskpp_al.path.len(),
};
Expand Down Expand Up @@ -334,7 +331,7 @@ pub fn find_kmer_matches(seq1: &[u8], seq2: &[u8], k: usize) -> Vec<(u32, u32)>
let set = hash_kmers(seq1, k);
find_kmer_matches_seq1_hashed(&set, seq2, k)
} else {
let set = hash_kmers(&seq2, k);
let set = hash_kmers(seq2, k);
find_kmer_matches_seq2_hashed(seq1, &set, k)
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/data_structures/interval_tree/avl_interval_tree.rs
Expand Up @@ -117,7 +117,7 @@ pub struct EntryMut<'a, N: Ord + Clone, D> {
impl<'a, N: Ord + Clone + 'a, D: 'a> EntryMut<'a, N, D> {
/// Get a mutable reference to the data for this entry
pub fn data(&'a mut self) -> &'a mut D {
&mut self.data
self.data
}

/// Get a reference to the interval for this entry
Expand Down
9 changes: 3 additions & 6 deletions src/data_structures/qgram_index.rs
Expand Up @@ -176,18 +176,15 @@ impl QGramIndex {
}
Entry::Occupied(mut o) => {
let m = o.get_mut();
if m.pattern.stop - q + 1 == i {
m.pattern.stop = i + q;
m.text.stop = p + q;
} else {
if m.pattern.stop - q + 1 != i {
// discontinue match
matches.push(*m);
// start new match
m.pattern.start = i;
m.pattern.stop = i + q;
m.text.start = p;
m.text.stop = p + q;
}
m.pattern.stop = i + q;
m.text.stop = p + q;
}
}
}
Expand Down
16 changes: 8 additions & 8 deletions src/data_structures/suffix_array.rs
Expand Up @@ -266,7 +266,7 @@ pub fn suffix_array(text: &[u8]) -> RawSuffixArray {
let n = text.len();
let alphabet = Alphabet::new(text);
let sentinel_count = sentinel_count(text);
let mut sais = SAIS::new(n);
let mut sais = Sais::new(n);

match alphabet.len() + sentinel_count {
a if a <= std::u8::MAX as usize => {
Expand Down Expand Up @@ -440,7 +440,7 @@ fn transform_text<T: Integer + Unsigned + NumCast + Copy + Debug>(
}

/// SAIS implementation (see function `suffix_array` for description).
struct SAIS {
struct Sais {
pos: Vec<usize>,
lms_pos: Vec<usize>,
reduced_text_pos: Vec<usize>,
Expand All @@ -449,10 +449,10 @@ struct SAIS {
bucket_end: Vec<usize>,
}

impl SAIS {
impl Sais {
/// Create a new instance.
fn new(n: usize) -> Self {
SAIS {
Sais {
pos: Vec::with_capacity(n),
lms_pos: Vec::with_capacity(n),
reduced_text_pos: vec![0; n],
Expand Down Expand Up @@ -724,7 +724,7 @@ impl PosTypes {
#[cfg(test)]
mod tests {
use super::*;
use super::{transform_text, PosTypes, SAIS};
use super::{transform_text, PosTypes, Sais};
use crate::alphabets::{dna, Alphabet};
use crate::data_structures::bwt::{bwt, less};
use bv::{BitVec, BitsPush};
Expand Down Expand Up @@ -756,7 +756,7 @@ mod tests {
let text: Vec<u8> = transform_text(orig_text, &alphabet, 1);
let n = text.len();

let mut sais = SAIS::new(n);
let mut sais = Sais::new(n);
sais.init_bucket_start(&text);
assert_eq!(sais.bucket_start, vec![0, 1, 7, 13, 15]);
sais.init_bucket_end(&text);
Expand All @@ -770,7 +770,7 @@ mod tests {
let text: Vec<u8> = transform_text(orig_text, &alphabet, 1);
let n = text.len();

let mut sais = SAIS::new(n);
let mut sais = Sais::new(n);
let pos_types = PosTypes::new(&text);
sais.lms_pos = vec![21, 5, 14, 8, 11, 17, 1];
sais.calc_pos(&text, &pos_types);
Expand All @@ -787,7 +787,7 @@ mod tests {
let text: Vec<u8> = transform_text(orig_text, &alphabet, 1);
let n = text.len();

let mut sais = SAIS::new(n);
let mut sais = Sais::new(n);
let pos_types = PosTypes::new(&text);
sais.calc_lms_pos(&text, &pos_types);
}
Expand Down
19 changes: 9 additions & 10 deletions src/data_structures/wavelet_matrix.rs
Expand Up @@ -42,7 +42,7 @@ pub struct WaveletMatrix {
}

fn build_partlevel(
vals: &Vec<u8>,
vals: &[u8],
shift: u8,
next_zeros: &mut Vec<u8>,
next_ones: &mut Vec<u8>,
Expand All @@ -69,7 +69,7 @@ impl WaveletMatrix {
let width = text.len();
let height: usize = 3; // hardcoded for alphabet size <= 8 (ACGTN$)

let mut curr_zeros: Vec<u8> = text.to_vec().clone();
let mut curr_zeros: Vec<u8> = text.to_vec();
let mut curr_ones: Vec<u8> = Vec::new();

let mut zeros: Vec<u64> = Vec::new();
Expand Down Expand Up @@ -120,21 +120,20 @@ impl WaveletMatrix {
fn prank(&self, level: usize, p: u64, val: u8) -> u64 {
if p == 0 {
0
} else if val == 0 {
self.levels[level].rank_0(p - 1).unwrap()
} else {
if val == 0 {
self.levels[level].rank_0(p - 1).unwrap()
} else {
self.levels[level].rank_1(p - 1).unwrap()
}
self.levels[level].rank_1(p - 1).unwrap()
}
}

/// Compute the number of occurrences of symbol val in the original text up to position p (inclusive).
/// Complexity O(1).
pub fn rank(&self, val: u8, p: u64) -> u64 {
if self.check_overflow(p) {
panic!("Invalid p (it must be in range 0..wm_size-1");
}
assert!(
!self.check_overflow(p),
"Invalid p (it must be in range 0..wm_size-1"
);
let height = self.height as usize;
let mut spos = 0;
let mut epos = p + 1;
Expand Down
7 changes: 2 additions & 5 deletions src/io/fasta.rs
Expand Up @@ -914,10 +914,7 @@ impl Record {
/// assert_eq!(">read1 sampleid=foobar\nACGT\n", record.to_string())
/// ```
pub fn with_attrs(id: &str, desc: Option<&str>, seq: TextSlice<'_>) -> Self {
let desc = match desc {
Some(desc) => Some(desc.to_owned()),
_ => None,
};
let desc = desc.map(|desc| desc.to_owned());
Record {
id: id.to_owned(),
desc,
Expand Down Expand Up @@ -950,7 +947,7 @@ impl Record {
/// Return descriptions if present.
pub fn desc(&self) -> Option<&str> {
match self.desc.as_ref() {
Some(desc) => Some(&desc),
Some(desc) => Some(desc),
None => None,
}
}
Expand Down

0 comments on commit 43d198e

Please sign in to comment.