def get(self, gene_ensembl_id):
        '''
        Get gene expression value
        '''
        parser = reqparse.RequestParser()
        arguments = {
            'project_name': str,
            'subproject_name': str,
            'loader': str,
            'show_gene_ensembl': bool,
            'show_clinical_data_id': bool,
            'show_samples_data_id': bool,
            'show_phenotype_data_id': bool
        }

        parser = add_argument(parser, arguments)
        app.logger.info('获取%s数据' % gene_ensembl_id)
        args = parser.parse_args()
        project_name = args.project_name
        subproject_name = args.subproject_name
        del args['project_name']
        del args['subproject_name']
        error, message, expr_info = get_expr_by_project(
            project_name, subproject_name, gene_ensembl_id, GeneExpr, **args)
        if not expr_info:
            expr_info = {}
        expr_info['gene_ensembl_id'] = gene_ensembl_id
        expr_info['api_uri'] = url('api.gene',
                                   absolute=True,
                                   gene_ensembl_id=gene_ensembl_id,
                                   project_name=project_name)
        expr_info['message'] = message
        expr_info = call_loader(args.get('loader'), json_obj=expr_info)
        app.logger.info("expr_info: %s" % expr_info)
        return jsonify(expr_info)
    def get(self, expr_info_id=None, query_condition_md5=None):
        parser = reqparse.RequestParser()
        arguments = {'loader': str}
        parser = add_argument(parser, arguments)
        args = parser.parse_args()
        if expr_info_id:
            error, message, expr_info = get_exprtemp_info(id=expr_info_id)
        else:
            error, message, expr_info = get_exprtemp_info(
                query_condition_md5=query_condition_md5)
        app.logger.debug("expr_info<ExprTemp>: %s" % expr_info.source_type_lst)

        if error:
            app.logger.debug("error: %s" % error)
            expr_info = {}
        error_code = '0'
        message = 'success'
        template_str = render_template(exprtemp_info_j2_file,
                                       expr_value=expr_info,
                                       show_id=True,
                                       error_code=error_code,
                                       message=message)
        app.logger.debug("Jinja2 Template: %s" % template_str)
        expr_info = json.loads(
            template_str.strip("'<>() ").replace('\'', '\"'))
        app.logger.debug("loader: %s" % args.get('loader'))
        expr_info = call_loader(args.get('loader'), json_obj=expr_info)
        app.logger.debug("expr_info: %s" % expr_info)
        return jsonify(expr_info)
 def get(self, gene_ensembl_id):
     parser = reqparse.RequestParser()
     arguments = {
         'project_name': str,
         'subproject_name': str,
         'loader': str,
         'show_transcript_ensembl': bool,
         'show_clinical_data_id': bool,
         'show_samples_data_id': bool,
         'show_phenotype_data_id': bool
     }
     parser = add_argument(parser, arguments)
     args = parser.parse_args()
     args['gene_ensembl_id'] = gene_ensembl_id
     if gene_ensembl_id and args.get('project_name'):
         error, message, mutation_info = get_mutation_by_project(**args)
         if error:
             app.logger.debug("error: %s" % message)
             return {"message": message}, 404
         mutation_info['message'] = message
         mutation_info = call_loader(args.get('loader'),
                                     json_obj=mutation_info)
         app.logger.debug("mutation_info: %s" % mutation_info)
         return jsonify(mutation_info)
     else:
         return {"message": 'No ensembl id'}, 400
    def get(self, project_name):
        '''
        Get project information
        '''
        # 定义argument
        parser = reqparse.RequestParser()
        arguments = {
            'project_name': str,
            'loader': str,
            'show_src_project': bool,
            'show_analysis_program': bool
        }

        parser = add_argument(parser, arguments)
        app.logger.info('获取%s数据' % project_name)
        args = parser.parse_args()
        del args['project_name']

        error, message, project_info = get_project_info(project_name, **args)
        project_info['project_name'] = project_name
        project_info['api_uri'] = url('api.project',
                                      absolute=True,
                                      project_name=project_name)
        project_info['message'] = message
        if error and not message:
            project_info['message'] = ''
        project_info = call_loader(args.get('loader'), json_obj=project_info)
        app.logger.info("project_info: %s" % project_info)
        return jsonify(project_info)
 def get(self):
     parser = reqparse.RequestParser()
     app.logger.info('获取测试数据')
     args = parser.parse_args()
     welcome_page = {
         "name": "YJC",
         "version": '1.0',
         "tagline": "You Know, for Gene Data"
     }
     welcome_page = call_loader(args.get('loader'), json_obj=welcome_page)
     app.logger.info(welcome_page)
     return jsonify(welcome_page)