def _get_chiptype_json(request, chipType, plan): chipResource = ChipResource() chipResource_serialize_json = None if chipType: try: try: chip = chipResource.obj_get(name=chipType) except Chip.DoesNotExist: chip = chipResource.obj_get(name=chipType[:3]) chipResource_bundle = chipResource.build_bundle(obj=chip, request=request) chipResource_serialize_json = chipResource.serialize( None, chipResource.full_dehydrate(chipResource_bundle), 'application/json') except Chip.DoesNotExist: logger.error( "views._get_chiptype_json() Plan.pk=%d; name=%s has invalid chip type=%s" % (plan.id, plan.planName, chipType)) chipResource_bundle = None chipResource_serialize_json = json.dumps("INVALID") else: chipResource_bundle = None chipResource_serialize_json = json.dumps(None) return chipResource_serialize_json
def _get_chiptype_json(request, chipType): chipResource = ChipResource() chipResource_serialize_json = None if chipType: chip = chipResource.obj_get(name=chipType) chipResource_bundle = chipResource.build_bundle(obj=chip, request=request) chipResource_serialize_json = chipResource.serialize( None, chipResource.full_dehydrate(chipResource_bundle), 'application/json') else: chipResource_bundle = None chipResource_serialize_json = json.dumps(None) return chipResource_serialize_json
def _get_chiptype_json(request, chipType, plan): chipResource = ChipResource() chipResource_serialize_json = None if chipType: try: try: chip = chipResource.obj_get(name = chipType) except Chip.DoesNotExist: chip = chipResource.obj_get(name = chipType[:3]) chipResource_bundle = chipResource.build_bundle(obj=chip, request=request) chipResource_serialize_json = chipResource.serialize(None, chipResource.full_dehydrate(chipResource_bundle), 'application/json') except Chip.DoesNotExist: logger.error("views._get_chiptype_json() Plan.pk=%d; name=%s has invalid chip type=%s" %(plan.id, plan.planName, chipType)) chipResource_bundle = None chipResource_serialize_json = json.dumps("INVALID") else: chipResource_bundle = None chipResource_serialize_json = json.dumps(None) return chipResource_serialize_json
def _plan_template_helper(request, _id, isForTemplate, intent): data = _get_allApplProduct_data(isForTemplate) planTemplate = get_object_or_404(PlannedExperiment, pk=_id) runType = get_object_or_404(RunType, runType=planTemplate.runType) # add experiment attributes experiment = planTemplate.experiment exp_keys = [ ('autoAnalyze', 'autoAnalyze'), ('flows', 'flows'), ('notes', 'notes'), ('sequencekitname', 'sequencekitname'), ] for plankey, key in exp_keys: setattr(planTemplate, plankey, getattr(experiment, key, '')) chipResource = ChipResource() try: chip = chipResource.obj_get(name=experiment.chipType) if chip: setattr(planTemplate, "chipType", experiment.chipType) except Chip.DoesNotExist: try: chip = chipResource.obj_get(name=experiment.chipType[:3]) if chip: setattr(planTemplate, "chipType", experiment.chipType[:3]) except Chip.DoesNotExist: setattr(planTemplate, "chipType", experiment.chipType) setattr(planTemplate, "sample", experiment.get_sample()) setattr(planTemplate, "sampleDisplayedName", experiment.get_sampleDisplayedName()) setattr(planTemplate, "isIonChef", planTemplate.is_ionChef()) # add EAS attributes if experiment: eas = experiment.get_EAS() else: eas = None eas_keys = [('barcodedSamples', 'barcodedSamples'), ('barcodeId', 'barcodeKitName'), ('bedfile', 'targetRegionBedFile'), ('forward3primeadapter', 'threePrimeAdapter'), ('libraryKey', 'libraryKey'), ('librarykitname', 'libraryKitName'), ('regionfile', 'hotSpotRegionBedFile'), ('selectedPlugins', 'selectedPlugins')] for plankey, key in eas_keys: setattr(planTemplate, plankey, getattr(eas, key, '')) if eas: setattr(planTemplate, "library", eas.reference if eas.reference != "none" else '') else: setattr(planTemplate, "library", "") chipTypeDetails = None if planTemplate.chipType: chipTypeDetails = get_object_or_404(Chip, name=planTemplate.chipType) selectedProjectNames = [ selectedProject.name for selectedProject in list(planTemplate.projects.all()) ] logger.debug("views._plan_template_helper selectedProjectNames=%s" % selectedProjectNames) # mark plugins selected if any for plugin in data['plugins']: if plugin.name in planTemplate.selectedPlugins.keys(): plugin.selected = True plugin.userInput = json.dumps( planTemplate.selectedPlugins[plugin.name].get( 'userInput', None)) else: plugin.selected = False # mark uploaders selected if any for plugin in data['uploaders']: if plugin.name in planTemplate.selectedPlugins.keys(): plugin.selected = True ##in case we're copying old plans that have dict {} data type for userInput. new format is list of dict [{}] userInput = planTemplate.selectedPlugins[plugin.name].get( 'userInput', None) plugin.userInput = json.dumps(userInput) if (isinstance(userInput, dict)): plugin.userInput = json.dumps([userInput]) if 'IonReporter' in plugin.name: data['irConfigSaved'] = plugin.userInput data[ 'irConfigSaved_version'] = 1.0 if plugin.name == 'IonReporterUploader_V1_0' else plugin.version else: plugin.selected = False #planTemplateData contains what are available for selection #and what each application product's characteristics and default selection ctxd = { "intent": intent, "planTemplateData": data, "selectedApplProductData": "", "selectedPlanTemplate": planTemplate, "selectedRunType": runType, "selectedProjectNames": selectedProjectNames, "selectedChipTypeDetails": chipTypeDetails } context = RequestContext(request, ctxd) return context
def _plan_template_helper(request, _id, isForTemplate, intent): data = _get_allApplProduct_data(isForTemplate) planTemplate = get_object_or_404(PlannedExperiment, pk=_id) runType = get_object_or_404(RunType, runType=planTemplate.runType) # add experiment attributes experiment = planTemplate.experiment exp_keys = [ ('autoAnalyze', 'autoAnalyze'), ('flows', 'flows'), ('notes', 'notes'), ('sequencekitname', 'sequencekitname'), ] for plankey, key in exp_keys: setattr(planTemplate, plankey, getattr(experiment,key,'')) chipResource = ChipResource() try: chip = chipResource.obj_get(name = experiment.chipType) if chip: setattr(planTemplate, "chipType", experiment.chipType) except Chip.DoesNotExist: try: chip = chipResource.obj_get(name = experiment.chipType[:3]) if chip: setattr(planTemplate, "chipType", experiment.chipType[:3]) except Chip.DoesNotExist: setattr(planTemplate, "chipType", experiment.chipType) setattr(planTemplate, "sample", experiment.get_sample()) setattr(planTemplate, "sampleDisplayedName", experiment.get_sampleDisplayedName()) setattr(planTemplate, "isIonChef", planTemplate.is_ionChef()) # add EAS attributes if experiment: eas = experiment.get_EAS() else: eas = None eas_keys = [ ('barcodedSamples', 'barcodedSamples'), ('barcodeId', 'barcodeKitName'), ('bedfile', 'targetRegionBedFile'), ('forward3primeadapter', 'threePrimeAdapter'), ('libraryKey', 'libraryKey'), ('librarykitname', 'libraryKitName'), ('regionfile', 'hotSpotRegionBedFile'), ('selectedPlugins', 'selectedPlugins') ] for plankey, key in eas_keys: setattr(planTemplate, plankey, getattr(eas,key,'')) if eas: setattr(planTemplate, "library", eas.reference if eas.reference != "none" else '') else: setattr(planTemplate, "library", "") chipTypeDetails = None if planTemplate.chipType: chipTypeDetails = get_object_or_404(Chip, name=planTemplate.chipType) selectedProjectNames = [selectedProject.name for selectedProject in list(planTemplate.projects.all())] logger.debug("views._plan_template_helper selectedProjectNames=%s" % selectedProjectNames) # mark plugins selected if any for plugin in data['plugins']: if plugin.name in planTemplate.selectedPlugins.keys(): plugin.selected = True plugin.userInput = json.dumps(planTemplate.selectedPlugins[plugin.name].get('userInput',None)) else: plugin.selected = False # mark uploaders selected if any for plugin in data['uploaders']: if plugin.name in planTemplate.selectedPlugins.keys(): plugin.selected = True ##in case we're copying old plans that have dict {} data type for userInput. new format is list of dict [{}] userInput = planTemplate.selectedPlugins[plugin.name].get('userInput',None) plugin.userInput = json.dumps(userInput) if (isinstance(userInput, dict)): plugin.userInput = json.dumps([userInput]) if 'IonReporter' in plugin.name: data['irConfigSaved'] = plugin.userInput data['irConfigSaved_version'] = 1.0 if plugin.name == 'IonReporterUploader_V1_0' else plugin.version else: plugin.selected = False #planTemplateData contains what are available for selection #and what each application product's characteristics and default selection ctxd = { "intent": intent, "planTemplateData": data, "selectedApplProductData": "", "selectedPlanTemplate": planTemplate, "selectedRunType": runType, "selectedProjectNames": selectedProjectNames, "selectedChipTypeDetails": chipTypeDetails } context = RequestContext(request, ctxd) return context