From 3c3ca9a85fde2aaef941b8453528bd86be7d36e5 Mon Sep 17 00:00:00 2001 From: Mark Watts Date: Sat, 30 Jun 2018 20:28:26 -0500 Subject: [PATCH] Adding a stub for sci-RNA-seq data translation (#324) --- PyOpenWorm/data_trans/sci_rna_seq.py | 24 ++++++++++++++++++++++++ PyOpenWorm/datasource.py | 10 +++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 PyOpenWorm/data_trans/sci_rna_seq.py diff --git a/PyOpenWorm/data_trans/sci_rna_seq.py b/PyOpenWorm/data_trans/sci_rna_seq.py new file mode 100644 index 000000000..245967dee --- /dev/null +++ b/PyOpenWorm/data_trans/sci_rna_seq.py @@ -0,0 +1,24 @@ +#!/home/ubuntu/env/bin/python + +from rpy2.robjects.packages import importr +from rpy2.robjects import r as R +from PyOpenWorm.datasource import DataTranslator, DataSource, Informational + + +class SCIRNASeqDataSource(DataSource): + data_url = Informational('Data URL') + + +class SCIRNASeqTranslator(DataTranslator): + + def translate(self, ds): + url = ds.data_url().pop() + base = importr('base') + utils = importr('utils') + utils.download_file(url, destfile="data_source.RData") + base.load("data_source.RData") + cds = R('cds') + print(cds) + + +__yarom_mapped_classes__ = (SCIRNASeqTranslator, SCIRNASeqDataSource) diff --git a/PyOpenWorm/datasource.py b/PyOpenWorm/datasource.py index 2f90309f5..160d716b0 100644 --- a/PyOpenWorm/datasource.py +++ b/PyOpenWorm/datasource.py @@ -16,7 +16,7 @@ def __init__(self, name=None, display_name=None, description=None, property_name=None, also=()): self.name = name self._property_name = property_name - self.display_name = name if display_name is None else display_name + self._display_name = display_name self.default_value = default_value self.description = description self._value = value @@ -35,6 +35,14 @@ def __init__(self, name=None, display_name=None, description=None, self.cls = None + @property + def display_name(self): + return self._display_name if self._display_name is not None else self.name + + @display_name.setter + def display_name(self, val): + self._display_name = val + @property def property_name(self): return self.name if self._property_name is None else self._property_name