Ejemplo n.º 1
0
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"
Ejemplo n.º 2
0
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"
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
def test_2_mer():
    assert minimal(protein(min_size=2)) == "AA"
Ejemplo n.º 5
0
def test_2_mer_3_letter_abbrv():
    seq = minimal(protein(single_letter_protein=False, min_size=2))
    assert len(seq) == 6
    assert seq == "AlaAla"
Ejemplo n.º 6
0
def test_smallest_non_empty_example():
    assert minimal(protein(min_size=1)) == "A"
Ejemplo n.º 7
0
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"
Ejemplo n.º 8
0
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"
Ejemplo n.º 9
0
def test_smallest_example_3_letter_abbrv():
    assert minimal(protein(single_letter_protein=False)) == ""
Ejemplo n.º 10
0
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"
Ejemplo n.º 11
0
def test_smallest_example():
    assert minimal(protein()) == ""
Ejemplo n.º 12
0
def test_uppercase_only_3_letter_abbrv():
    seq = minimal(
        protein(single_letter_protein=False, uppercase_only=True, min_size=1))
    assert seq == "ALA"
Ejemplo n.º 13
0
def test_uppercase_only():
    seq = minimal(
        protein(single_letter_protein=True, uppercase_only=True, min_size=1))
    assert seq == "A"
Ejemplo n.º 14
0
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():
Ejemplo n.º 15
0
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
Ejemplo n.º 16
0
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)