def test_msa_from_lines__empty_name(): MSA.from_lines([">", "ACG", ">seq1", "TGAN"])
def test_msa_from_lines__mismatched_lengths(): MSA.from_lines([">seq1", "ACG", ">seq2", "TGAN"])
def test_msa_from_lines__duplicate_names(): MSA.from_lines([">seq1", "ACG", ">seq1", "TGA"])
def test_msa_from_lines__two_entries_with_meta(): lines = [">seq1", "ACG", ">seq2 Second meta", "TGA"] expected = MSA([FASTA("seq1", None, "ACG"), FASTA("seq2", "Second meta", "TGA")]) result = MSA.from_lines(lines) assert_equal(result, expected)
def test_msa_from_lines__single_entry_with_meta(): lines = [">seq1 Meta info", "ACG"] expected = MSA([FASTA("seq1", "Meta info", "ACG")]) result = MSA.from_lines(lines) assert_equal(result, expected)
def test_msa_from_lines__single_entry(): lines = [">seq1", "ACG"] result = MSA([FASTA("seq1", None, "ACG")]) assert_equal(MSA.from_lines(lines), result)