Ejemplo n.º 1
0
def main(filenames, input_format='json', outfile="~/out.txt"):
  """
  Parse PCBA assay descriptions.

  Parameters
  ----------
  filenames : list
      Filenames containing assay descriptions.
  input_format : str, optional (default 'json')
      Input file format.
  """
  for filename in filenames:
    if input_format == 'json':
      handler = PcbaPandasHandler()
      handler.add_dataset(filename)
    else:
      raise NotImplementedError(
          'Unrecognized input format "{}"'.format(input_format))
  handler.write(out_file)
Ejemplo n.º 2
0
class TestPcbaPandasHandler(unittest.TestCase):
  """
  Tests for PcbaPandasHandler.
  """
  def setUp(self):
    self.handler = PcbaPandasHandler()
    self.data_dir = os.path.split(os.path.realpath(__file__))[0]
    self.parser = PcbaJsonParser(
      os.path.join(self.data_dir, 'data/aid1.json'))

  def test_add_dataset(self):
    """
    Test for adding datasets.
    """
    self.handler.add_dataset(
        os.path.join(self.data_dir, "data/aid1.json"))
    row = self.handler.get_dataset(0)
    num_rows = len(self.handler.df)
    assert num_rows == 1
    assert row.get("comment") == self.parser.get_comment()
    assert row.get("name") == self.parser.get_name()
    assert row.get("aid") == self.parser.get_aid()

  def test_to_csv(self):
    """
    Test for witing to csv
    """
    # Open and close a tempfile without deleting it. (On some systems
    # cannot open tempfiles if they are already open, so need to close
    # to use elsewhere in test)
    f = tempfile.NamedTemporaryFile(delete=False)
    f.close()
    try:
      self.handler.add_dataset(
          os.path.join(self.data_dir, "data/aid1.json"))
      self.handler.to_csv(f.name)
      with open(f.name, "rb") as csvfile:
        reader = csv.DictReader(csvfile)
        #for row in reader:
        row = reader.next()
        assert row["comment"] == self.parser.get_comment()
        assert row["name"] == self.parser.get_name()
        assert int(row["aid"]) == self.parser.get_aid()
    finally:
      # Delete tempfile
      os.remove(f.name)
Ejemplo n.º 3
0
class TestPcbaPandasHandler(unittest.TestCase):
    """
  Tests for PcbaPandasHandler.
  """
    def setUp(self):
        self.handler = PcbaPandasHandler()
        self.data_dir = os.path.split(os.path.realpath(__file__))[0]
        self.parser = PcbaJsonParser(
            os.path.join(self.data_dir, 'data/aid1.json'))

    def test_add_dataset(self):
        """
    Test for adding datasets.
    """
        self.handler.add_dataset(os.path.join(self.data_dir, "data/aid1.json"))
        row = self.handler.get_dataset(0)
        num_rows = len(self.handler.df)
        assert num_rows == 1
        assert row.get("comment") == self.parser.get_comment()
        assert row.get("name") == self.parser.get_name()
        assert row.get("aid") == self.parser.get_aid()

    def test_to_csv(self):
        """
    Test for witing to csv
    """
        # Open and close a tempfile without deleting it. (On some systems
        # cannot open tempfiles if they are already open, so need to close
        # to use elsewhere in test)
        f = tempfile.NamedTemporaryFile(delete=False)
        f.close()
        try:
            self.handler.add_dataset(
                os.path.join(self.data_dir, "data/aid1.json"))
            self.handler.to_csv(f.name)
            with open(f.name, "rb") as csvfile:
                reader = csv.DictReader(csvfile)
                #for row in reader:
                row = reader.next()
                assert row["comment"] == self.parser.get_comment()
                assert row["name"] == self.parser.get_name()
                assert int(row["aid"]) == self.parser.get_aid()
        finally:
            # Delete tempfile
            os.remove(f.name)
def main(filenames, input_format='json', outfile="~/out.txt"):
    """
  Parse PCBA assay descriptions.

  Parameters
  ----------
  filenames : list
      Filenames containing assay descriptions.
  input_format : str, optional (default 'json')
      Input file format.
  """
    for filename in filenames:
        if input_format == 'json':
            handler = PcbaPandasHandler()
            handler.add_dataset(filename)
        else:
            raise NotImplementedError(
                'Unrecognized input format "{}"'.format(input_format))
    handler.write(out_file)
Ejemplo n.º 5
0
 def setUp(self):
   self.handler = PcbaPandasHandler()
   self.data_dir = os.path.split(os.path.realpath(__file__))[0]
   self.parser = PcbaJsonParser(
     os.path.join(self.data_dir, 'data/aid1.json'))
Ejemplo n.º 6
0
 def setUp(self):
   self.handler = PcbaPandasHandler()
   self.data_dir = os.path.split(os.path.realpath(__file__))[0]
   self.parser = PcbaJsonParser(
     os.path.join(self.data_dir, 'data/aid1.json'))