a b/tests/test_interaction.py
1
from openomics.database.interaction import LncRNA2Target, STRING, MiRTarBase
2
3
from .test_multiomics import *
4
5
# FIXME: URL is broken. Can't find a link to this database.
6
# @pytest.fixture
7
# def generate_LncRNA2Target():
8
#     return LncRNA2Target(path="http://123.59.132.21/lncrna2target/data/", version="low_throughput")
9
10
11
# def test_import_LncRNA2Target(generate_LncRNA2Target):
12
#     """
13
#     Args:
14
#         generate_LncRNA2Target:
15
#     """
16
#     assert generate_LncRNA2Target.data_path is not None
17
18
19
@pytest.fixture
20
def generate_STRING():
21
    string = STRING(edge_attr=["weight"], index_col=0)
22
    string.data = string.data.sample(frac=0.01)
23
    return string
24
25
26
@pytest.fixture
27
def generate_MiRTarBase():
28
    return MiRTarBase(
29
        path="/data/datasets/Bioinformatics_ExternalData/miRTarBase/",  # Hard-coded
30
        strip_mirna_name=True,
31
        filters={"Species (Target Gene)": "Homo sapiens"})
32
33
34
# Test disabled since obtaining MiRTarBase via ftp is unreachable
35
# def test_import_MiRTarBase(generate_MiRTarBase):
36
#     """
37
#     Args:
38
#         generate_MiRTarBase:
39
#     """
40
#     assert generate_MiRTarBase.data_path is not None
41
42
43
44
45
def test_import_STRING(generate_STRING):
46
    """
47
    Args:
48
        generate_STRING:
49
    """
50
    assert generate_STRING.data_path is not None
51
52
53
def test_annotate_STRING(generate_TCGA_LUAD, generate_STRING):
54
    """
55
    Args:
56
        generate_TCGA_LUAD:
57
        generate_STRING:
58
    """
59
    generate_TCGA_LUAD.Protein.annotate_sequences(generate_STRING, on="protein_name")
60
    assert not generate_TCGA_LUAD.Protein.annotations["sequence"].empty
61
62
63
# def test_get_interactions_lnc2target(generate_LncRNA2Target):
64
#     assert generate_LncRNA2Target.get_interactions() is not None