class MAFRecord(Message): sample_id = StringField(1) patient_id = StringField(2) aliquot_id = StringField(3) hugo_symbol = StringField(4) uniprot_aapos = IntegerField(5, variant=Variant.INT32) uniprot_id = StringField(6) variant_classification = StringField(7) cohort = IntegerField(8, repeated=True) class MAFRecordList(Message): items = MessageField(MAFRecord, 1, repeated=True) cohort_set = MessageField(PlotDataCohortInfo, 2, repeated=True) SeqPeekDataEndpointsAPI = endpoints_api(name='seqpeek_data_api', version='v1', description='Endpoints used by the seqpeek visualization in the web application.') def maf_array_to_record(maf_array): data_points = [] for item in maf_array: data_points.append(MAFRecord(**item)) return data_points @SeqPeekDataEndpointsAPI.api_class(resource_name='data_endpoints') class SeqPeekDataAccessAPI(remote.Service): def create_response(self, maf_with_cohorts):
num_patients_wo_y = IntegerField(7, required=True) num_samples_wo_y = IntegerField(8, required=True) class PlotDataResponse(Message): types = MessageField(PlotDataTypes, 1, required=True) labels = MessageField(PlotDataFeatureLabels, 2, required=True) items = MessageField(PlotDataPoint, 3, repeated=True) cohort_set = MessageField(PlotDataCohortInfo, 4, repeated=True) counts = MessageField(PlotDatapointCount, 5) pairwise_result = MessageField(PairwiseResults, 6, required=False) xUnits = StringField(7, required=False) yUnits = StringField(8, required=False) FeatureDataEndpointsAPI = endpoints_api(name='feature_data_api', version='v1', description='Endpoints for feature data used by the web application.') @FeatureDataEndpointsAPI.api_class(resource_name='feature_data_endpoints') class FeatureDataEndpoints(remote.Service): def get_counts(self, data): total_num_patients = [] total_num_samples = [] num_samples_w_xy = [] num_patients_w_xy = [] num_samples_wo_x = [] num_samples_wo_y = [] num_patients_wo_x = [] num_patients_wo_y = [] result = {}
elif datatype == METH_FEATURE_TYPE: return METHSearcher() elif datatype == CNVR_FEATURE_TYPE: return CNVRSearcher() elif datatype == RPPA_FEATURE_TYPE: return RPPASearcher() elif datatype == MIRN_FEATURE_TYPE: return MIRNSearcher() elif datatype == GNAB_FEATURE_TYPE: return GNABSearcher() #TODO build a full search on all features #elif datatype == ALL: # return FullSearcher() raise InvalidDataTypeException("Invalid datatype '{datatype}'".format(datatype=datatype)) FeatureAccessEndpointsAPI = endpoints_api(name='feature_type_api', version='v1', description='Endpoints used by the web application to return features.') @FeatureAccessEndpointsAPI.api_class(resource_name='feature_type_endpoints') class FeatureAccessEndpoints(remote.Service): @endpoints_method(FeatureTypeSearchRequest, FeatureTypeList, path='feature_search', http_method='GET', name='feature_access.FeatureSearch') def feature_search(self, request): """ Used by the web application.""" try: datatype = request.datatype searcher = FeatureDefinitionSearcherFactory.build_from_datatype(datatype) parameters = {} for message in request.all_fields(): field_name = message.name if field_name != 'datatype': value = request.get_assigned_value(field_name) if value is not None: