Source code for pyhiv.align.famsa

from pyfamsa import Aligner, Sequence


[docs] def pyfamsa_align(test_seq, ref_seq): """ Aligns a test sequence to a reference sequence using the pyfamsa library. Parameters ---------- test_seq : SeqRecord The test sequence to align. Should be a Biopython SeqRecord object containing the test sequence ID and sequence. ref_seq : SeqRecord The reference sequence to align against. Should be a Biopython SeqRecord object containing the reference sequence ID and sequence. Returns ------- tuple test_aligned : str The aligned test sequence. ref_aligned : str The aligned reference sequence. """ sequences = [ Sequence(ref_seq.id.encode(), str(ref_seq.seq).encode()), Sequence(test_seq.id.encode(), str(test_seq.seq).encode()) ] aligner = Aligner() alignment = aligner.align(sequences) test_aligned = alignment[1].sequence.decode() ref_aligned = alignment[0].sequence.decode() return test_aligned, ref_aligned