Expand description
§Utilities for alignment manipulation and summary statistics
SEGUL provides fast and memory efficient utilities for alignment manipulation and summary statistics.
§Features:
- Alignment concatenation
- Alignment conversion
- Alignment filtering
- Alignment partition conversion
- Alignment splitting
- Alignment summary statistics
- Unalign alignments
- Contiguous sequence summary statistics
- Raw read summary statistics
- Sample distribution mapping
- Sequence extraction
- Sequence filtering
- Sequence ID renaming
- Sequence removal
- Sequence translation
- Sequence unique ID parsing
§Example
§Convert fasta to philip alignment
use std::path::Path;
use tempdir::TempDir;
use segul::helper::types::{DataType, Header, InputFmt, OutputFmt, SeqMatrix};
use segul::helper::sequence::SeqParser;
use segul::writer::sequences::SeqWriter;
let input = Path::new("tests/files/simple.fas");
let input_fmt = InputFmt::Fasta;
let datatype = DataType::Dna;
// Replace binding with your output directory, for example:
// let output_path = Path::new("output").join("my_output_alignment");
let binding = TempDir::new("temp").unwrap();
let output_path = binding.path().join("my_output_alignment");
let output_fmt = OutputFmt::Phylip;
let (sequence_matrix, header) = SeqParser::new(input, &datatype).parse(&input_fmt);
let mut writer = SeqWriter::new(&output_path, &sequence_matrix, &header);
writer.write_sequence(&output_fmt).unwrap()