use paf::{PafRecord, Result, Tag, Type, Writer};
use std::collections::HashMap;
fn main() -> Result<()> {
let mut writer = Writer::from_path("example.paf")?;
let mut optional_fields1 = HashMap::new();
optional_fields1.insert("tp".to_string(), Tag::tp(Type::Char('P')));
let record1 = PafRecord::new(
"query1".to_owned(),
1000,
100,
500,
'+',
"target1".to_owned(),
1500,
200,
600,
300,
400,
60,
optional_fields1,
);
let mut optional_fields2 = HashMap::new();
optional_fields2.insert("s1".to_string(), Tag::s1(Type::Int(99)));
optional_fields2.insert("cm".to_string(), Tag::cm(Type::Int(42)));
let record2 = PafRecord::new(
"query2".to_owned(),
2000,
150,
900,
'-',
"target2".to_owned(),
2500,
300,
1000,
400,
800,
70,
optional_fields2,
);
writer.write_record(&record1)?;
writer.write_record(&record2)?;
Ok(())
}