diff --git a/noodles-fasta/CHANGELOG.md b/noodles-fasta/CHANGELOG.md index 3454cf7f0..ba4eddd74 100644 --- a/noodles-fasta/CHANGELOG.md +++ b/noodles-fasta/CHANGELOG.md @@ -8,6 +8,8 @@ * fasta/fai/record: Implement `Clone`. + * fasta/sequence: Add `Record` trait. + ### Changed * fasta/fai/index: Add wrapper (`Index`). diff --git a/noodles-fasta/src/lib.rs b/noodles-fasta/src/lib.rs index a73364a5e..182533ae0 100644 --- a/noodles-fasta/src/lib.rs +++ b/noodles-fasta/src/lib.rs @@ -54,6 +54,7 @@ pub mod fai; pub mod io; pub mod record; pub mod repository; +pub mod sequence; #[deprecated( since = "0.39.0", diff --git a/noodles-fasta/src/sequence.rs b/noodles-fasta/src/sequence.rs new file mode 100644 index 000000000..d47c38976 --- /dev/null +++ b/noodles-fasta/src/sequence.rs @@ -0,0 +1,5 @@ +//! Sequence format. + +pub mod record; + +pub use self::record::Record; diff --git a/noodles-fasta/src/sequence/record.rs b/noodles-fasta/src/sequence/record.rs new file mode 100644 index 000000000..f38578a75 --- /dev/null +++ b/noodles-fasta/src/sequence/record.rs @@ -0,0 +1,16 @@ +//! Sequence record. + +/// A sequence record. +pub trait Record { + /// Returns the name. + fn name(&self) -> &[u8]; + + /// Returns the description. + fn description(&self) -> Option<&[u8]>; + + /// Returns the sequence. + fn sequence(&self) -> &[u8]; + + /// Returns the quality scores. + fn quality_scores(&self) -> &[u8]; +}