Skip to content

Commit 5d1d289

Browse files
mstoclaude
andcommitted
refactor(bam): rename Template::build() to new()
Follow Rust conventions for the primary constructor method. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 6bf215e commit 5d1d289

1 file changed

Lines changed: 30 additions & 30 deletions

File tree

src/bam/mod.rs

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ pub struct Template {
7070
}
7171

7272
impl Template {
73-
/// Builds a `Template` from a collection of records sharing the same query name.
73+
/// Creates a `Template` from a collection of records sharing the same query name.
7474
///
7575
/// Records are classified based on their FLAG bits:
7676
/// - Primary records (neither secondary nor supplementary) are stored in `r1` or `r2`
@@ -95,9 +95,9 @@ impl Template {
9595
/// use rust_htslib::bam::Record;
9696
///
9797
/// let records: Vec<Record> = vec![/* records with same qname */];
98-
/// let template = Template::build(records)?;
98+
/// let template = Template::new(records)?;
9999
/// ```
100-
pub fn build(recs: impl IntoIterator<Item = Record>) -> Result<Self, TemplateError> {
100+
pub fn new(recs: impl IntoIterator<Item = Record>) -> Result<Self, TemplateError> {
101101
let mut template = Template::default();
102102
let mut expected_name: Option<Vec<u8>> = None;
103103

@@ -163,7 +163,7 @@ impl Template {
163163
/// ```ignore
164164
/// use fgoxide::bam::Template;
165165
///
166-
/// let template = Template::build(records)?;
166+
/// let template = Template::new(records)?;
167167
/// if let Some(name) = template.name() {
168168
/// println!("Template name: {}", String::from_utf8_lossy(name));
169169
/// }
@@ -187,7 +187,7 @@ impl Template {
187187
/// ```ignore
188188
/// use fgoxide::bam::Template;
189189
///
190-
/// let template = Template::build(records)?;
190+
/// let template = Template::new(records)?;
191191
/// for record in template.all_recs() {
192192
/// println!("Record: {:?}", record.qname());
193193
/// }
@@ -212,7 +212,7 @@ impl Template {
212212
/// ```ignore
213213
/// use fgoxide::bam::Template;
214214
///
215-
/// let template = Template::build(records)?;
215+
/// let template = Template::new(records)?;
216216
/// for primary in template.primary_recs() {
217217
/// println!("Primary record: {:?}", primary.qname());
218218
/// }
@@ -245,11 +245,11 @@ mod tests {
245245
use super::*;
246246

247247
#[test]
248-
fn test_build_paired_end_primaries() {
248+
fn test_new_paired_end_primaries() {
249249
let r1 = make_record(b"read1", PAIRED | FIRST_IN_PAIR);
250250
let r2 = make_record(b"read1", PAIRED | LAST_IN_PAIR);
251251

252-
let template = Template::build(vec![r1, r2]).unwrap();
252+
let template = Template::new(vec![r1, r2]).unwrap();
253253

254254
assert!(template.r1.is_some());
255255
assert!(template.r2.is_some());
@@ -266,7 +266,7 @@ mod tests {
266266
let r1 = make_record(b"my_read", PAIRED | FIRST_IN_PAIR);
267267
let r2 = make_record(b"my_read", PAIRED | LAST_IN_PAIR);
268268

269-
let template = Template::build(vec![r1, r2]).unwrap();
269+
let template = Template::new(vec![r1, r2]).unwrap();
270270

271271
assert_eq!(template.name(), Some(b"my_read".as_slice()));
272272
}
@@ -276,7 +276,7 @@ mod tests {
276276
let r1 = make_record(b"read1", PAIRED | FIRST_IN_PAIR);
277277
let r2 = make_record(b"read1", PAIRED | LAST_IN_PAIR);
278278

279-
let template = Template::build(vec![r1, r2]).unwrap();
279+
let template = Template::new(vec![r1, r2]).unwrap();
280280

281281
let all: Vec<_> = template.all_recs().collect();
282282
assert_eq!(all.len(), 2);
@@ -287,7 +287,7 @@ mod tests {
287287
let r1 = make_record(b"read1", PAIRED | FIRST_IN_PAIR);
288288
let r2 = make_record(b"read1", PAIRED | LAST_IN_PAIR);
289289

290-
let template = Template::build(vec![r1, r2]).unwrap();
290+
let template = Template::new(vec![r1, r2]).unwrap();
291291

292292
let primaries: Vec<_> = template.primary_recs().collect();
293293
assert_eq!(primaries.len(), 2);
@@ -297,7 +297,7 @@ mod tests {
297297
fn test_r1_only() {
298298
let r1 = make_record(b"read1", PAIRED | FIRST_IN_PAIR);
299299

300-
let template = Template::build(vec![r1]).unwrap();
300+
let template = Template::new(vec![r1]).unwrap();
301301

302302
assert!(template.r1.is_some());
303303
assert!(template.r2.is_none());
@@ -308,7 +308,7 @@ mod tests {
308308
fn test_r2_only() {
309309
let r2 = make_record(b"read1", PAIRED | LAST_IN_PAIR);
310310

311-
let template = Template::build(vec![r2]).unwrap();
311+
let template = Template::new(vec![r2]).unwrap();
312312

313313
assert!(template.r1.is_none());
314314
assert!(template.r2.is_some());
@@ -324,7 +324,7 @@ mod tests {
324324
// Unpaired reads (no PAIRED flag) should go to r1
325325
let rec = make_record(b"fragment", 0);
326326

327-
let template = Template::build(vec![rec]).unwrap();
327+
let template = Template::new(vec![rec]).unwrap();
328328

329329
assert!(template.r1.is_some());
330330
assert!(template.r2.is_none());
@@ -335,7 +335,7 @@ mod tests {
335335
fn test_unpaired_read_iterators() {
336336
let rec = make_record(b"fragment", 0);
337337

338-
let template = Template::build(vec![rec]).unwrap();
338+
let template = Template::new(vec![rec]).unwrap();
339339

340340
assert_eq!(template.all_recs().count(), 1);
341341
assert_eq!(template.primary_recs().count(), 1);
@@ -350,7 +350,7 @@ mod tests {
350350
let primary = make_record(b"read1", PAIRED | FIRST_IN_PAIR);
351351
let secondary = make_record(b"read1", PAIRED | FIRST_IN_PAIR | SECONDARY);
352352

353-
let template = Template::build(vec![primary, secondary]).unwrap();
353+
let template = Template::new(vec![primary, secondary]).unwrap();
354354

355355
assert!(template.r1.is_some());
356356
assert_eq!(template.r1_secondaries.len(), 1);
@@ -362,7 +362,7 @@ mod tests {
362362
let primary = make_record(b"read1", PAIRED | LAST_IN_PAIR);
363363
let secondary = make_record(b"read1", PAIRED | LAST_IN_PAIR | SECONDARY);
364364

365-
let template = Template::build(vec![primary, secondary]).unwrap();
365+
let template = Template::new(vec![primary, secondary]).unwrap();
366366

367367
assert!(template.r2.is_some());
368368
assert_eq!(template.r2_secondaries.len(), 1);
@@ -374,7 +374,7 @@ mod tests {
374374
let primary = make_record(b"read1", PAIRED | FIRST_IN_PAIR);
375375
let supplementary = make_record(b"read1", PAIRED | FIRST_IN_PAIR | SUPPLEMENTARY);
376376

377-
let template = Template::build(vec![primary, supplementary]).unwrap();
377+
let template = Template::new(vec![primary, supplementary]).unwrap();
378378

379379
assert!(template.r1.is_some());
380380
assert!(template.r1_secondaries.is_empty());
@@ -386,7 +386,7 @@ mod tests {
386386
let primary = make_record(b"read1", PAIRED | LAST_IN_PAIR);
387387
let supplementary = make_record(b"read1", PAIRED | LAST_IN_PAIR | SUPPLEMENTARY);
388388

389-
let template = Template::build(vec![primary, supplementary]).unwrap();
389+
let template = Template::new(vec![primary, supplementary]).unwrap();
390390

391391
assert!(template.r2.is_some());
392392
assert!(template.r2_secondaries.is_empty());
@@ -400,7 +400,7 @@ mod tests {
400400
let primary = make_record(b"read1", PAIRED | FIRST_IN_PAIR);
401401
let both = make_record(b"read1", PAIRED | FIRST_IN_PAIR | SECONDARY | SUPPLEMENTARY);
402402

403-
let template = Template::build(vec![primary, both]).unwrap();
403+
let template = Template::new(vec![primary, both]).unwrap();
404404

405405
assert!(template.r1.is_some());
406406
assert_eq!(template.r1_secondaries.len(), 1);
@@ -418,7 +418,7 @@ mod tests {
418418
let r2_supp1 = make_record(b"read1", PAIRED | LAST_IN_PAIR | SUPPLEMENTARY);
419419
let r2_supp2 = make_record(b"read1", PAIRED | LAST_IN_PAIR | SUPPLEMENTARY);
420420

421-
let template = Template::build(vec![
421+
let template = Template::new(vec![
422422
r1_primary, r2_primary, r1_sec1, r1_sec2, r2_sec1, r1_supp1, r2_supp1, r2_supp2,
423423
])
424424
.unwrap();
@@ -438,7 +438,7 @@ mod tests {
438438
let r1_sec = make_record(b"read1", PAIRED | FIRST_IN_PAIR | SECONDARY);
439439
let r2_supp = make_record(b"read1", PAIRED | LAST_IN_PAIR | SUPPLEMENTARY);
440440

441-
let template = Template::build(vec![r1_primary, r2_primary, r1_sec, r2_supp]).unwrap();
441+
let template = Template::new(vec![r1_primary, r2_primary, r1_sec, r2_supp]).unwrap();
442442

443443
assert_eq!(template.all_recs().count(), 4);
444444
assert_eq!(template.primary_recs().count(), 2);
@@ -453,7 +453,7 @@ mod tests {
453453
let r1 = make_record(b"read1", PAIRED | FIRST_IN_PAIR);
454454
let r2 = make_record(b"read2", PAIRED | LAST_IN_PAIR);
455455

456-
let result = Template::build(vec![r1, r2]);
456+
let result = Template::new(vec![r1, r2]);
457457

458458
assert_eq!(
459459
result.unwrap_err(),
@@ -469,7 +469,7 @@ mod tests {
469469
let r1a = make_record(b"read1", PAIRED | FIRST_IN_PAIR);
470470
let r1b = make_record(b"read1", PAIRED | FIRST_IN_PAIR);
471471

472-
let result = Template::build(vec![r1a, r1b]);
472+
let result = Template::new(vec![r1a, r1b]);
473473

474474
assert_eq!(
475475
result.unwrap_err(),
@@ -482,7 +482,7 @@ mod tests {
482482
let r2a = make_record(b"read1", PAIRED | LAST_IN_PAIR);
483483
let r2b = make_record(b"read1", PAIRED | LAST_IN_PAIR);
484484

485-
let result = Template::build(vec![r2a, r2b]);
485+
let result = Template::new(vec![r2a, r2b]);
486486

487487
assert_eq!(
488488
result.unwrap_err(),
@@ -496,7 +496,7 @@ mod tests {
496496
let r1 = make_record(b"read1", 0);
497497
let r2 = make_record(b"read1", 0);
498498

499-
let result = Template::build(vec![r1, r2]);
499+
let result = Template::new(vec![r1, r2]);
500500

501501
assert_eq!(
502502
result.unwrap_err(),
@@ -510,7 +510,7 @@ mod tests {
510510

511511
#[test]
512512
fn test_empty_template() {
513-
let template = Template::build(vec![]).unwrap();
513+
let template = Template::new(vec![]).unwrap();
514514

515515
assert!(template.r1.is_none());
516516
assert!(template.r2.is_none());
@@ -528,7 +528,7 @@ mod tests {
528528
// Template with only secondary alignments (no primaries)
529529
let sec = make_record(b"read1", PAIRED | FIRST_IN_PAIR | SECONDARY);
530530

531-
let template = Template::build(vec![sec]).unwrap();
531+
let template = Template::new(vec![sec]).unwrap();
532532

533533
assert!(template.r1.is_none());
534534
assert_eq!(template.name(), Some(b"read1".as_slice()));
@@ -539,7 +539,7 @@ mod tests {
539539
// Template with only supplementary alignments (no primaries)
540540
let supp = make_record(b"read1", PAIRED | FIRST_IN_PAIR | SUPPLEMENTARY);
541541

542-
let template = Template::build(vec![supp]).unwrap();
542+
let template = Template::new(vec![supp]).unwrap();
543543

544544
assert!(template.r1.is_none());
545545
assert_eq!(template.name(), Some(b"read1".as_slice()));
@@ -568,7 +568,7 @@ mod tests {
568568
let r2_supp = make_record(b"read1", PAIRED | LAST_IN_PAIR | SUPPLEMENTARY);
569569

570570
let template =
571-
Template::build(vec![r1_primary, r2_primary, r1_sec, r2_sec, r1_supp, r2_supp])
571+
Template::new(vec![r1_primary, r2_primary, r1_sec, r2_sec, r1_supp, r2_supp])
572572
.unwrap();
573573

574574
let recs: Vec<_> = template.all_recs().collect();

0 commit comments

Comments
 (0)