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)
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)
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 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'))