def load_manifest(self, file_name, version=None): '''Read a keyed collection of path specifications. Parameters ---------- file_name : string path to the manifest file Returns ------- Manifest ''' if file_name is not None: if not os.path.exists(file_name): # make the directory if it doesn't exist already dirname = os.path.dirname(file_name) if dirname: Manifest.safe_mkdir(dirname) self.build_manifest(file_name) try: self.manifest = Manifest( ju.read(file_name)['manifest'], os.path.dirname(file_name), version=version) except ManifestVersionError as e: raise ManifestVersionError(("Your manifest file (%s) is out of date" + " (version '%s' vs '%s'). Please remove this file" + " and it will be regenerated for you the next" " time you instantiate this class.") % (file_name, e.found_version, e.version), e.version, e.found_version) else: self.manifest = None
def load_manifest(self, file_name): '''Read a keyed collection of path specifications. Parameters ---------- file_name : string path to the manifest file Returns ------- Manifest ''' if file_name is not None: if not os.path.exists(file_name): # make the directory if it doesn't exist already dirname = os.path.dirname(file_name) if dirname: Manifest.safe_mkdir(dirname) self.build_manifest(file_name) self.manifest = Manifest( ju.read(file_name)['manifest'], os.path.dirname(file_name)) else: self.manifest = None
def main(): parser = argparse.ArgumentParser() parser.add_argument('cells_csv', help='CSV containing cell metadata') parser.add_argument('connections_h5', help='HDF5 file containing cell connectivity') parser.add_argument('network_vtk_file', help='.vtk output file') parser.add_argument('--manifest') parser.add_argument('--morphology_vtk_file') args = parser.parse_args() # read in the cell CSV with open(args.cells_csv, 'r') as f: r = csv.DictReader(f) cells = list(r) # read in the connections from the H5 file h5u = Hdf5Util() connections = h5u.read(args.connections_h5) # write out the results write_network_vtk(args.network_vtk_file, cells, connections) if args.manifest: config = ju.read(args.manifest) manifest = Manifest(config['manifest'], relative_base_dir=os.path.dirname(args.manifest)) write_morphology_vtk(args.morphology_vtk_file, cells, manifest)
def load_manifest(self, file_name, version=None): '''Read a keyed collection of path specifications. Parameters ---------- file_name : string path to the manifest file Returns ------- Manifest ''' if file_name is not None: if not os.path.exists(file_name): # make the directory if it doesn't exist already dirname = os.path.dirname(file_name) if dirname: Manifest.safe_mkdir(dirname) self.build_manifest(file_name) try: self.manifest = Manifest( ju.read(file_name)['manifest'], os.path.dirname(file_name), version=version) except ManifestVersionError as e: if e.outdated is True: intro = "is out of date" elif e.outdated is False: intro = "was made with a newer version of the AllenSDK" elif e.outdated is None: intro = "version did not match the expected version" ref_url = "https://github.com/alleninstitute/allensdk/wiki" raise ManifestVersionError(("Your manifest file (%s) %s" + " (its version is '%s', but" + " version '%s' is expected). " + " Please remove this file" + " and it will be regenerated for" + " you the next time you" + " instantiate this class." + " WARNING: There may be new data" + " files available that replace" + " the ones you already have" + " downloaded. Read the notes" + " for this release for more" + " details on what has changed" + " (%s).") % (file_name, intro, e.found_version, e.version, ref_url), e.version, e.found_version) self.manifest_path = file_name else: self.manifest = None
def to_manifest(self, manifest_path=None): b = self.build_manifest(manifest_path) m = Manifest(config=b.path_info) if manifest_path != None: b.write_json_file(manifest_path, overwrite=True) return m
def load_manifest(self, file_name, version=None): '''Read a keyed collection of path specifications. Parameters ---------- file_name : string path to the manifest file Returns ------- Manifest ''' if file_name is not None: if not os.path.exists(file_name): # make the directory if it doesn't exist already dirname = os.path.dirname(file_name) if dirname: Manifest.safe_mkdir(dirname) self.build_manifest(file_name) try: self.manifest = Manifest(ju.read(file_name)['manifest'], os.path.dirname(file_name), version=version) except ManifestVersionError as e: if e.outdated is True: intro = "is out of date" elif e.outdated is False: intro = "was made with a newer version of the AllenSDK" elif e.outdated is None: intro = "version did not match the expected version" raise ManifestVersionError(( "Your manifest file (%s) %s" + " (its version is '%s', but version '%s' is expected). Please remove this file" + " and it will be regenerated for you the next" " time you instantiate this class.") % (file_name, intro, e.found_version, e.version), e.version, e.found_version) self.manifest_path = file_name else: self.manifest = None
def __init__(self): self.data = {} self.reserved_data = [] self.manifest = Manifest()
def to_manifest(self, manifest_path=None): b = ManifestBuilder() b.add_path('BASEDIR', os.path.realpath(os.curdir)) b.add_path('WORKDIR', os.path.realpath(os.curdir)) b.add_path('MORPHOLOGY', self.morphology_path(), typename='file') b.add_path('CODE_DIR', 'templates') b.add_path('MODFILE_DIR', 'modfiles') for modfile in self.mod_file_entries(): b.add_path('MOD_FILE_%s' % (os.path.splitext(modfile['filename'])[0]), os.path.join(modfile['storage_directory'], modfile['filename']), typename='file', format='MODFILE') b.add_path('neuronal_model_run_data', self.lims_path, typename='file') b.add_path('stimulus_path', self.stimulus_path(), typename='file', format='NWB') b.add_path('manifest', os.path.join(os.path.realpath(os.curdir), manifest_path), typename='file') neuronal_model_run_id = self.lims_data['id'] nwb_file_name, extension = \ os.path.splitext(os.path.basename(self.stimulus_path())) b.add_path('output_path', '%d_virtual_experiment%s' % (neuronal_model_run_id, extension), typename='file', parent_key='WORKDIR', format='NWB') b.add_path('fit_parameters', self.fit_parameters_path()) b.add_section( 'biophys', { "biophys": [{ "model_file": [manifest_path, self.fit_parameters_path()], "model_type": self.model_type() }] }) b.add_section( 'stimulus_conf', { "runs": [{ "neuronal_model_run_id": neuronal_model_run_id, "sweeps": self.sweep_numbers(), "sweeps_by_type": self.sweep_numbers_by_type() }] }) b.add_section( 'hoc_conf', {"neuron": [{ "hoc": ["stdgui.hoc", "import3d.hoc", "cell.hoc"] }]}) m = Manifest(config=b.path_info) if manifest_path != None: b.write_json_file(manifest_path, overwrite=True) return m
def get_manifest(self): return Manifest(self.path_info)