PavlidisLab / gemmapy

Apache License 2.0
6 stars 1 forks source link

Deal with platform annotations with missing gene identifiers #33

Open arteymix opened 3 months ago

arteymix commented 3 months ago

When no gene annotations are present on-disk, Gemma defaults to a simple format that lacks gene identifiers. This is breaking gemmapy.

.tox/py/lib/python3.12/site-packages/gemmapy/gemmapy_api.py:1460: in get_dataset_object
    expression = {k:get_exp(k) for k in unique_sets}
.tox/py/lib/python3.12/site-packages/gemmapy/gemmapy_api.py:1418: in get_exp
    exp = exp[~exp.GeneSymbol.str.contains("|",regex = False,na = True)]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self =         Probe  GBM: 40L  GBM: 96E  GBM: 46A15  GBM: 99A6  GBM: 64A5  GBM: 32A6  GBM: 4A10  GBM: 5A4  GBM: 52A28  ...  ...      0.514     0.487      0.725      0.624      0.181       0.411      0.201          0.081

[33600 rows x 39 columns]
name = 'GeneSymbol'

    @final
    def __getattr__(self, name: str):
        """
        After regular attribute access, try looking up the name
        This allows simpler access to columns for interactive use.
        """
        # Note: obj.x will always call obj.__getattribute__('x') prior to
        # calling obj.__getattr__('x').
        if (
            name not in self._internal_names_set
            and name not in self._metadata
            and name not in self._accessors
            and self._info_axis._can_hold_identifiers_and_holds_name(name)
        ):
            return self[name]
>       return object.__getattribute__(self, name)
E       AttributeError: 'DataFrame' object has no attribute 'GeneSymbol'

.tox/py/lib64/python3.12/site-packages/pandas/core/generic.py:6299: AttributeError
arteymix commented 3 months ago

I've added documentation in staging regarding this in https://github.com/PavlidisLab/Gemma/commit/dcd7292bc857d1c2f0e04f0da23cbb2231e19f94.