INNER CODE UNIT · Rust
bench_scan_aa_core_trace
soedinglab/metaeuk · lib/mmseqs/lib/block-aligner/benches/rand_scan.rs:78
fn bench_scan_aa_core_trace<const K: usize>(b: &mut Bencher, len: usize) {
let mut rng = StdRng::seed_from_u64(1234);
let r = black_box(rand_str(len, &AMINO_ACIDS, &mut rng));
let q = black_box(rand_mutate(&r, K, &AMINO_ACIDS, &mut rng));
let r = PaddedBytes::from_bytes::<AAMatrix>(&r, 2048);
let q = PaddedBytes::from_bytes::<AAMatrix>(&q, 2048);
let bench_gaps = Gaps { open: -11, extend: -1 };
b.iter(|| {
let mut a = Block::<true, false>::new(q.len(), r.len(), 2048);
a.align(&q, &r, &BLOSUM62, bench_gaps, 32..=2048, 0);
//a.res()
let mut cigar = Cigar::new(q.len(), r.len());
a.trace().cigar(q.len(), r.len(), &mut cigar);
(a.res(), cigar)
});
}