Class GeneArgService
java.lang.Object
ubic.gemma.rest.util.args.AbstractEntityArgService<Gene, GeneService>
ubic.gemma.rest.util.args.GeneArgService
- All Implemented Interfaces:
EntityArgService<Gene, GeneService>
-
Field Summary
Fields inherited from class AbstractEntityArgService
service -
Constructor Summary
ConstructorsConstructorDescriptionGeneArgService(GeneService service, GeneOntologyService geneOntologyService, CompositeSequenceService compositeSequenceService) -
Method Summary
Modifier and TypeMethodDescriptiongetEntitiesWithTaxon(GeneArg<?> genes, Taxon taxon) Obtain genes from a specific taxon.getEntitiesWithTaxon(GeneArrayArg genes, Taxon taxon) Obtain genes from a specific taxon.getEntity(AbstractEntityArg<?, Gene, GeneService> entityArg) Retrieve the entity represented by this argument.getEntityWithTaxon(GeneArg<?> entityArg, Taxon taxon) Obtain a gene from a specific taxon.getGeneGoTerms(GeneArg<?> arg) Returns GO terms for the gene that this GeneArg represents.getGeneGoTermsInTaxon(GeneArg<?> geneArg, Taxon taxon) Obtain GO terms for the gene in the given taxon.getGeneLocation(GeneArg<?> geneArg) Returns all known locations of the gene(s) that this GeneArg represents.getGeneLocationInTaxon(GeneArg<?> arg, Taxon taxon) Returns all known locations of the gene that this GeneArg represents.getGeneProbes(GeneArg<?> geneArg, int offset, int limit) Obtain probes for the gene across all platforms.getGeneProbesByCursor(GeneArg<?> geneArg, Cursor cursor, int limit) Cursor-mode counterpart togetGeneProbes(GeneArg, int, int): keyset pagination over the probes (composite sequences) mapped to a single gene across all platforms — seeCURSOR_PAGINATION_STEP1_PLAN.mdstep 1m.getGeneProbesInTaxon(GeneArg<?> geneArg, Taxon taxon, int offset, int limit) Obtain probes for the gene in the given taxon across all platforms.getGeneProbesInTaxonByCursor(GeneArg<?> geneArg, Taxon taxon, Cursor cursor, int limit) Cursor-mode counterpart togetGeneProbesInTaxon(GeneArg, Taxon, int, int): keyset pagination over the probes (composite sequences) mapped to a single gene in the given taxon across all platforms — seeCURSOR_PAGINATION_STEP1_PLAN.mdstep 1n.getGenes(int offset, int limit) getGenesByCursor(Cursor cursor, int limit) Cursor-mode counterpart togetGenes(int, int): keyset pagination over genes, always sorted by ascendingid(the primary key, indexed and unique).getGenesInTaxon(Taxon taxon, int offset, int limit) getGenesInTaxon(GeneArrayArg arg, Taxon taxon) getGenesInTaxonByCursor(Taxon taxon, Cursor cursor, int limit) Cursor-mode counterpart togetGenesInTaxon(Taxon, int, int): keyset pagination over the genes belonging to a single taxon, always sorted by ascendingid(the primary key, indexed and unique) — seeCURSOR_PAGINATION_STEP1_PLAN.mdstep 1g.Methods inherited from class AbstractEntityArgService
checkEntity, entityArgValueOf, getArgsByPropertyName, getElementClass, getEntities, getEntities, getFilterableProperties, getFilterablePropertyAllowedValues, getFilterablePropertyConfigAttributes, getFilterablePropertyDescription, getFilterablePropertyResolvableAllowedValuesLabels, getFilterablePropertyType, getFilters, getFilters, getFilters, getSort, isFilterablePropertyDeprecated, isFilterablePropertyUsingSubquery
-
Constructor Details
-
GeneArgService
@Autowired public GeneArgService(GeneService service, GeneOntologyService geneOntologyService, CompositeSequenceService compositeSequenceService)
-
-
Method Details
-
getEntity
@NonNull public Gene getEntity(AbstractEntityArg<?, Gene, GeneService> entityArg) throws jakarta.ws.rs.NotFoundException, jakarta.ws.rs.BadRequestException Retrieve the entity represented by this argument.- Specified by:
getEntityin interfaceEntityArgService<Gene, GeneService>- Overrides:
getEntityin classAbstractEntityArgService<Gene, GeneService>- Throws:
jakarta.ws.rs.BadRequestException- if more than one gene match the supplied gene argumentjakarta.ws.rs.NotFoundException- if the entity does not exist
-
getEntityWithTaxon
-
getEntitiesWithTaxon
-
getEntitiesWithTaxon
Obtain genes from a specific taxon. -
getGenes
-
getGenesByCursor
Cursor-mode counterpart togetGenes(int, int): keyset pagination over genes, always sorted by ascendingid(the primary key, indexed and unique). -
getGenesInTaxon
-
getGenesInTaxonByCursor
public CursorPage<GeneValueObject> getGenesInTaxonByCursor(Taxon taxon, @Nullable Cursor cursor, int limit) Cursor-mode counterpart togetGenesInTaxon(Taxon, int, int): keyset pagination over the genes belonging to a single taxon, always sorted by ascendingid(the primary key, indexed and unique) — seeCURSOR_PAGINATION_STEP1_PLAN.mdstep 1g. The path-derivedtaxon.id = ?constraint is preserved (composed into theFiltersbefore the DAO call) so the cursor-mode result is restricted to the same taxon that the offset-mode result would be. The cursor DAO currently restricts cursors to single-component id sorts (recce sec. 3.4 — to be lifted in phase B once the index audit is complete). -
getGenesInTaxon
- Returns:
- a collection of Gene value objects..
-
getGeneLocation
Returns all known locations of the gene(s) that this GeneArg represents.- Returns:
- collection of physical location objects.
-
getGeneLocationInTaxon
Returns all known locations of the gene that this GeneArg represents.- Parameters:
taxon- the taxon to limit the search to. Can be null.- Returns:
- collection of physical location objects.
-
getGeneGoTerms
Returns GO terms for the gene that this GeneArg represents. -
getGeneGoTermsInTaxon
Obtain GO terms for the gene in the given taxon. -
getGeneProbes
Obtain probes for the gene across all platforms. -
getGeneProbesByCursor
public CursorPage<CompositeSequenceValueObject> getGeneProbesByCursor(GeneArg<?> geneArg, @Nullable Cursor cursor, int limit) Cursor-mode counterpart togetGeneProbes(GeneArg, int, int): keyset pagination over the probes (composite sequences) mapped to a single gene across all platforms — seeCURSOR_PAGINATION_STEP1_PLAN.mdstep 1m. Always sorted by ascendingcs.id(the primary key, indexed and unique) because the cursor DAO restricts cursors to single-component id sorts until the index audit lands.Resolves the gene from the
GeneArg(matching the offset callgetEntity(geneArg)ingetGeneProbes(GeneArg, int, int)) before delegating to the service.useGene2Csis held attrueto match the offset variant. -
getGeneProbesInTaxon
public Slice<CompositeSequenceValueObject> getGeneProbesInTaxon(GeneArg<?> geneArg, Taxon taxon, int offset, int limit) Obtain probes for the gene in the given taxon across all platforms. -
getGeneProbesInTaxonByCursor
public CursorPage<CompositeSequenceValueObject> getGeneProbesInTaxonByCursor(GeneArg<?> geneArg, Taxon taxon, @Nullable Cursor cursor, int limit) Cursor-mode counterpart togetGeneProbesInTaxon(GeneArg, Taxon, int, int): keyset pagination over the probes (composite sequences) mapped to a single gene in the given taxon across all platforms — seeCURSOR_PAGINATION_STEP1_PLAN.mdstep 1n. Always sorted by ascendingcs.id(the primary key, indexed and unique) because the cursor DAO restricts cursors to single-component id sorts until the index audit lands.Resolves the gene via
getEntityWithTaxon(GeneArg, Taxon)(matching the offset call ingetGeneProbesInTaxon(GeneArg, Taxon, int, int)) so the path-derived taxon scope is enforced at gene-resolution time — identical scope to the offset variant. The resolvedGeneis then passed toCompositeSequenceService.loadValueObjectsForGeneByCursor(Gene, Cursor, int, boolean)which performs the actual keyset walk over the gene→probe join (step 1m DAO).useGene2Csis held attrueto match the offset variant.
-