Diff of /tests/test_multiomics.py [000000] .. [548210]

Switch to side-by-side view

--- a
+++ b/tests/test_multiomics.py
@@ -0,0 +1,153 @@
+"""Tests for `openomics` package."""
+
+from openomics import MessengerRNA, MicroRNA, LncRNA, Protein, SomaticMutation
+from openomics import MultiOmics
+from .test_clinical import *
+
+cohort_folder_path = "tests/data/TCGA_LUAD/"
+
+
+@pytest.fixture
+def generate_TCGA_LUAD_MessengerRNA():
+    data = MessengerRNA(
+        data=os.path.join(cohort_folder_path, "LUAD__geneExp.txt"),
+        transpose=True,
+        usecols="GeneSymbol|TCGA",
+        gene_index="GeneSymbol",
+        gene_level="gene_name",
+    )
+    data.drop_genes(data.expressions.columns[50:])
+    data.drop_samples(data.expressions.index[:100])
+    return data
+
+
+@pytest.fixture
+def generate_TCGA_LUAD_MessengerRNA_dask():
+    data = MessengerRNA(
+        data=os.path.join(cohort_folder_path, "LUAD__geneExp.txt"),
+        transpose=True,
+        usecols="GeneSymbol|TCGA",
+        gene_index="GeneSymbol",
+        gene_level="gene_name",
+        npartitions=4,
+    )
+    data.drop_genes(data.expressions.columns[50:])
+    data.init_annotations()
+    return data
+
+
+@pytest.fixture
+def generate_TCGA_LUAD_MicroRNA():
+    data = MicroRNA(
+        data=os.path.join(cohort_folder_path, "LUAD__miRNAExp__RPM.txt"),
+        transpose=True,
+        usecols="GeneSymbol|TCGA",
+        gene_index="GeneSymbol",
+        gene_level="gene_name",
+    )
+    data.drop_genes(data.expressions.columns[50:])
+    data.drop_samples(data.expressions.index[:100])
+    return data
+
+
+@pytest.fixture
+def generate_TCGA_LUAD_LncRNA():
+    data = LncRNA(
+        data=os.path.join(cohort_folder_path, "TCGA-rnaexpr.tsv"),
+        transpose=True,
+        usecols="Gene_ID|TCGA",
+        gene_index="Gene_ID",
+        gene_level="gene_id",
+    )
+    data.drop_genes(data.expressions.columns[50:])
+    data.drop_samples(data.expressions.index[:100])
+    return data
+
+
+@pytest.fixture
+def generate_TCGA_LUAD_SomaticMutation():
+    data = SomaticMutation(
+        data=os.path.join(cohort_folder_path,
+                          "LUAD__somaticMutation_geneLevel.txt"),
+        transpose=True,
+        usecols="GeneSymbol|TCGA",
+        gene_index="gene_name",
+    )
+    data.drop_genes(data.expressions.columns[50:])
+    data.drop_samples(data.expressions.index[:100])
+    return data
+
+
+@pytest.fixture
+def generate_TCGA_LUAD_Protein():
+    data = Protein(
+        data=os.path.join(cohort_folder_path, "protein_RPPA.txt"),
+        transpose=True,
+        usecols="GeneSymbol|TCGA",
+        gene_index="GeneSymbol",
+        gene_level="protein_name",
+    )
+    data.drop_genes(data.expressions.columns[50:])
+    data.drop_samples(data.expressions.index[:100])
+    return data
+
+
+def test_import_MessengerRNA_Dask(generate_TCGA_LUAD_MessengerRNA_dask):
+    """
+    Args:
+        generate_TCGA_LUAD_MessengerRNA_dask:
+    """
+    assert generate_TCGA_LUAD_MessengerRNA_dask.expressions is not None
+
+
+def test_import_expression_table_size(generate_TCGA_LUAD_MessengerRNA, generate_TCGA_clinical):
+    """
+    Args:
+        generate_TCGA_LUAD_MessengerRNA:
+    """
+    cohort_name = "LUAD"
+    luad_data = MultiOmics(cohort_name)
+    luad_data.add_clinical_data(generate_TCGA_clinical)
+    luad_data.add_omic(generate_TCGA_LUAD_MessengerRNA)
+    luad_data.build_samples()
+    print(luad_data.data.keys())
+    assert (luad_data.data[MessengerRNA.name()].shape ==
+            generate_TCGA_LUAD_MessengerRNA.expressions.shape)
+
+
+@pytest.fixture
+def generate_TCGA_LUAD(
+    generate_TCGA_clinical,
+    generate_TCGA_LUAD_MessengerRNA,
+    generate_TCGA_LUAD_MicroRNA,
+    generate_TCGA_LUAD_LncRNA,
+    generate_TCGA_LUAD_Protein,
+):
+    """
+    Args:
+        generate_TCGA_LUAD_MessengerRNA:
+        generate_TCGA_LUAD_MicroRNA:
+        generate_TCGA_LUAD_LncRNA:
+        generate_TCGA_LUAD_Protein:
+    """
+    cohort_name = "LUAD"
+    luad_data = MultiOmics(cohort_name)
+    luad_data.add_clinical_data(generate_TCGA_clinical)
+    luad_data.add_omic(generate_TCGA_LUAD_MessengerRNA)
+    luad_data.add_omic(generate_TCGA_LUAD_MicroRNA)
+    luad_data.add_omic(generate_TCGA_LUAD_LncRNA)
+    luad_data.add_omic(generate_TCGA_LUAD_Protein)
+    return luad_data
+
+
+def test_TCGA_LUAD_multiomics_transcriptomics(generate_TCGA_LUAD):
+    """
+    Args:
+        generate_TCGA_LUAD:
+    """
+    assert all(elem in generate_TCGA_LUAD.get_omics_list() for elem in [
+        MessengerRNA.name(),
+        MicroRNA.name(),
+        LncRNA.name(),
+        Protein.name(),
+    ])