for object_key, object in collection.objects.iteritems(): try: if object.sample_key == orig_sample_key: object.sample_key = new_sample_key count += 1 except AttributeError: pass return count def rename_sample_key(config,mockdb,orig_sample_key,new_sample_key): collection_clses = child_classes(Sample,config=config) + [Sample] for cls in collection_clses: collection = mockdb[cls.__name__] for object_key, object in collection.objects.iteritems(): if object.key == orig_sample_key: object.key = new_sample_key return 1 if __name__ == '__main__': #Handle arguments parser = argparse.ArgumentParser(description='Puts the project-summary.csv info into the bcbio database') parser.add_argument('sample_key', type=str, help='The sample name as it currently is in the database') parser.add_argument('new_key', type=str, help='The sample name to which the sample_key will be renamed') args = parser.parse_args() config = ConfigParser.ConfigParser() config.read('/home/sequencing/src/pipeline_project/pipeline/config/qc_on_ihg.cfg') mockdb = initiate_mockdb(config) rename_all_sample_keys(mockdb,args.sample_key,args.new_key) rename_sample_key(config,mockdb,args.sample_key,args.new_key) save_mockdb(config,mockdb)
configs.update({'system':system_config}) config_instance = MyConfigParser() configs.update({"seq_run":config_instance}) config_instance.read(system_config.get('Pipeline',"seq_run")) pipelines = system_config.get('Pipeline','opts').split(',') pipeline_config = {} for pipeline_name in pipelines: config_instance = MyConfigParser() pipeline_config.update({pipeline_name:config_instance}) pipeline_config[pipeline_name].read(system_config.get('Pipeline',pipeline_name)) #Initialize and load mockdb if system_config.get("Logging","debug") is "True": print "Initializing mockdb" mockdb=initiate_mockdb(system_config) #Grab storage devices to keep track of storage storage_devices = initiate_storage_devices(system_config) if system_config.get("Logging","debug") is "True": print "Add waiting storage" for pipeline_name in pipeline_config.keys(): add_waiting_storage(pipeline_config[pipeline_name],storage_devices,mockdb,pipeline_name) #Maintain sequencing run through new directory identification if system_config.get("Logging","debug") is "True": print "Analyzing sequencing dir" maintain_sequencing_run_objects(system_config,mockdb) if system_config.get("Logging","debug") is "True": print "Continuing sequencing runs " continue_seq_run(configs,storage_devices,mockdb)
from mockdb.initiate_mockdb import initiate_mockdb print initiate_mockdb().keys()