Ejemplo n.º 1
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.º 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
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)
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)