def test_allow_extended_3_letter_abbrv(): seq = minimal( protein( single_letter_protein=False, allow_ambiguous=False, allow_extended=True, min_size=1, max_size=1, ), lambda x: x not in norm_AA.values(), ) assert seq == "Asx"
def test_allow_ambiguous(): seq = minimal( protein( single_letter_protein=True, allow_ambiguous=True, allow_extended=False, min_size=1, max_size=1, ), lambda x: x not in norm_AA.keys(), ) assert seq == "X"
def test_max_size_3_letter_abbrv(): seq = minimal(protein(single_letter_protein=False, max_size=10)) assert len(seq) <= 30 assert len(seq) % 3 == 0
def test_2_mer(): assert minimal(protein(min_size=2)) == "AA"
def test_2_mer_3_letter_abbrv(): seq = minimal(protein(single_letter_protein=False, min_size=2)) assert len(seq) == 6 assert seq == "AlaAla"
def test_smallest_non_empty_example(): assert minimal(protein(min_size=1)) == "A"
def test_smallest_non_empty_example_3_letter_abbrv(): seq = minimal(protein(single_letter_protein=False, min_size=1)) assert len(seq) == 3 assert seq == "Ala"
def test_not_uppercase_only_3_letter_abbrv(): seq = minimal( protein(single_letter_protein=False, uppercase_only=False, min_size=1), # lambda x: all(not c.isupper() for c in x) ) assert seq == "Ala"
def test_smallest_example_3_letter_abbrv(): assert minimal(protein(single_letter_protein=False)) == ""
def test_not_uppercase_only(): seq = minimal( protein(single_letter_protein=True, uppercase_only=False, min_size=1), lambda x: all(not c.isupper() for c in x), ) assert seq == "a"
def test_smallest_example(): assert minimal(protein()) == ""
def test_uppercase_only_3_letter_abbrv(): seq = minimal( protein(single_letter_protein=False, uppercase_only=True, min_size=1)) assert seq == "ALA"
def test_uppercase_only(): seq = minimal( protein(single_letter_protein=True, uppercase_only=True, min_size=1)) assert seq == "A"
from hypothesis import given from hypothesis_bio import protein from .minimal import minimal @given(protein()) def test_protein_type(seq): assert type(seq) == str def test_smallest_example(): assert minimal(protein()) == "" def test_smallest_example_3_letter_abbrv(): assert minimal(protein(single_letter_protein=False)) == "" def test_smallest_non_empty_example(): assert minimal(protein(min_size=1)) == "A" def test_smallest_non_empty_example_3_letter_abbrv(): seq = minimal(protein(single_letter_protein=False, min_size=1)) assert len(seq) == 3 assert seq == "Ala" def test_2_mer():
def test_fastq_entry_minimal_protein_source(): actual = minimal(fastq_entry(min_size=1, sequence_source=protein(min_size=1))) expected = "@\nA\n+\n0" assert actual == expected
import pytest from hypothesis import given, settings from hypothesis_bio import protein from bio_embeddings.embed import EmbedderInterface, name_to_embedder from tests.shared import check_embedding # We need to create each embedder once for all hypothesis tests # and destroy it before the next test so we don't run out of memory # https://stackoverflow.com/a/44568273/3549270 @pytest.fixture(scope="session") def cached_embedder(request) -> EmbedderInterface: return request.param() @pytest.mark.skipif( not os.environ.get("RUN_VERY_SLOW_TESTS"), reason="Hypothesis is the slowest of them all", ) @pytest.mark.parametrize("cached_embedder", name_to_embedder.values(), indirect=True) @settings(deadline=timedelta(seconds=10)) @given(sequence=protein(uppercase_only=True)) def test_foo(sequence, cached_embedder: EmbedderInterface): embedding = cached_embedder.embed(sequence) check_embedding(cached_embedder, embedding, sequence)