diff --git a/README.md b/README.md index ee92fab..ae439f7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,9 @@ -# Open Genes Python API +# Open Genes API + +[![API CI](https://github.com/open-genes/open-genes-api/actions/workflows/api.yml/badge.svg?branch=master)](https://github.com/open-genes/open-genes-api/actions/workflows/api.yml) +[![CodeQL](https://github.com/open-genes/open-genes-api/actions/workflows/codeql-analysis.yml/badge.svg?branch=master)](https://github.com/open-genes/open-genes-api/actions/workflows/codeql-analysis.yml) + +Open Genes API is based on [FastAPI](https://fastapi.tiangolo.com/) framework and provides data for genes and experiments in Open Genes database. ## Architecture @@ -17,6 +22,8 @@ ## Development + + ### Build local development image ``` diff --git a/api/db/dao.py b/api/db/dao.py index 3e93ab6..f7752ae 100644 --- a/api/db/dao.py +++ b/api/db/dao.py @@ -580,6 +580,7 @@ def get_symbols(self): class ResearchesDAO(BaseDAO): + def increase_lifespan_search(self, input): IncreaseLifespanSearched.__fields__['geneAliases'].outer_type_ = str diff --git a/api/models/gene.py b/api/models/gene.py index d14a51b..94e7f04 100644 --- a/api/models/gene.py +++ b/api/models/gene.py @@ -158,7 +158,6 @@ class GeneCommon(BaseModel): LEFT JOIN gene_to_ontology ON gene.id = gene_to_ontology.gene_id LEFT JOIN gene_ontology_to_aging_mechanism_visible ON gene_to_ontology.gene_ontology_id = gene_ontology_to_aging_mechanism_visible.gene_ontology_id INNER JOIN aging_mechanism ON gene_ontology_to_aging_mechanism_visible.aging_mechanism_id = aging_mechanism.id AND aging_mechanism.name_en != '' -GROUP BY aging_mechanism.id """, ) ] diff --git a/api/models/researches.py b/api/models/researches.py index cbcc903..f716c07 100644 --- a/api/models/researches.py +++ b/api/models/researches.py @@ -600,11 +600,17 @@ class IncreaseLifespanSearchInput(PaginationInput, LanguageInput, SortInput): lambda value: value.split(',') + [len(value.split(','))], ], 'bySpecies': [ - lambda value: '(select count(distinct model_organism_id) from lifespan_experiment where lifespan_experiment.gene_id=gene.id and model_organism_id in (' + lambda value: 'model_organism.id in (' + ','.join(['%s' for v in value.split(',')]) - + '))=%s', - lambda value: value.split(',') + [len(value.split(','))], + + ')', + lambda value: value.split(','), ], + # 'bySpecies': [ + # lambda value: '(select count(distinct model_organism_id) from lifespan_experiment where lifespan_experiment.gene_id=gene.id and model_organism_id in (' + # + ','.join(['%s' for v in value.split(',')]) + # + '))=%s', + # lambda value: value.split(',') + [len(value.split(','))], + 'byOrigin': [ lambda value: '(select count(*) from phylum where gene.phylum_id=phylum.id and phylum.name_phylo in (' + ','.join(['%s' for v in value.split(',')]) @@ -662,6 +668,7 @@ class IncreaseLifespanSearched(IncreaseLifespan): left join statistical_significance as ssmean on ssmean.id = general_lifespan_experiment.lifespan_mean_change_stat_sign_id left join statistical_significance as ssmedian on ssmedian.id = general_lifespan_experiment.lifespan_median_change_stat_sign_id left join statistical_significance as ssmax on ssmax.id = general_lifespan_experiment.lifespan_max_change_stat_sign_id +left join model_organism on model_organism.id = general_lifespan_experiment.model_organism_id @FILTERING@ @PAGING@ """