pub struct Info { /* private fields */ }
Expand description
A VCF header information record (INFO
).
Implementations
sourceimpl Info
impl Info
sourcepub fn try_from_record_file_format(
record: Record,
file_format: FileFormat
) -> Result<Self, TryFromRecordError>
pub fn try_from_record_file_format(
record: Record,
file_format: FileFormat
) -> Result<Self, TryFromRecordError>
Converts a generic VCF header record to a VCF header info record.
Examples
use noodles_vcf::{
header::{info::Type, record::{Key, Value}, FileFormat, Info, Number, Record},
record::info,
};
let record = Record::new(
Key::Info,
Value::Struct(vec![
(String::from("ID"), String::from("NS")),
(String::from("Number"), String::from("1")),
(String::from("Type"), String::from("Integer")),
(
String::from("Description"),
String::from("Number of samples with data"),
),
]),
);
assert_eq!(
Info::try_from_record_file_format(record, FileFormat::new(4, 3)),
Ok(Info::new(
info::field::Key::SamplesWithDataCount,
Number::Count(1),
Type::Integer,
String::from("Number of samples with data"),
))
);
sourcepub fn new(id: Key, number: Number, ty: Type, description: String) -> Self
pub fn new(id: Key, number: Number, ty: Type, description: String) -> Self
Creates a VCF header information record.
Examples
use noodles_vcf::{
header::{info::Type, Info, Number},
record::info::field::Key,
};
let info = Info::new(
Key::SamplesWithDataCount,
Number::Count(1),
Type::Integer,
String::from("Number of samples with data"),
);
sourcepub fn id(&self) -> &Key
pub fn id(&self) -> &Key
Returns the information field key.
Examples
use noodles_vcf::{header::Info, record::info::field::Key};
let info = Info::from(Key::SamplesWithDataCount);
assert_eq!(info.id(), &Key::SamplesWithDataCount);
sourcepub fn number(&self) -> Number
pub fn number(&self) -> Number
Returns the cardinality of the information field value.
Examples
use noodles_vcf::{header::{Info, Number}, record::info::field::Key};
let info = Info::from(Key::SamplesWithDataCount);
assert_eq!(info.number(), Number::Count(1));
sourcepub fn ty(&self) -> Type
pub fn ty(&self) -> Type
Returns the type of the information field value.
Examples
use noodles_vcf::{header::{info::Type, Info}, record::info::field::Key};
let info = Info::from(Key::SamplesWithDataCount);
assert_eq!(info.ty(), Type::Integer);
sourcepub fn description(&self) -> &str
pub fn description(&self) -> &str
Returns the description of the information field.
Examples
use noodles_vcf::{header::Info, record::info::field::Key};
let info = Info::from(Key::SamplesWithDataCount);
assert_eq!(info.description(), "Number of samples with data");
sourcepub fn idx(&self) -> Option<usize>
pub fn idx(&self) -> Option<usize>
Returns the index of the ID in the dictionary of strings.
This is typically used in BCF.
Examples
use noodles_vcf::{header::Info, record::info::field::Key};
let info = Info::from(Key::SamplesWithDataCount);
assert!(info.idx().is_none());
sourcepub fn fields(&self) -> &IndexMap<String, String>
pub fn fields(&self) -> &IndexMap<String, String>
Returns the extra fields in the record.
This includes fields other than ID
, Number
, Type
, Description
, and IDX
.
Examples
use noodles_vcf::{header::Info, record::info::field::Key};
let info = Info::from(Key::SamplesWithDataCount);
assert!(info.fields().is_empty());
Trait Implementations
impl Eq for Info
impl StructuralEq for Info
impl StructuralPartialEq for Info
Auto Trait Implementations
impl RefUnwindSafe for Info
impl Send for Info
impl Sync for Info
impl Unpin for Info
impl UnwindSafe for Info
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcepub fn equivalent(&self, key: &K) -> bool
pub fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more