Package org.intermine.bio.web.logic
Class GenomicRegionSearchService
- java.lang.Object
-
- org.intermine.bio.web.logic.GenomicRegionSearchService
-
public class GenomicRegionSearchService extends java.lang.ObjectA class to provide genomic region search services in general.
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_REGION_INIT_BATCH_SIZEDefault batch size to be used for region search initialisation queries.
-
Constructor Summary
Constructors Constructor Description GenomicRegionSearchService()Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringcategorizeFeatureTypes(java.util.Set<java.lang.String> featureSet, GenomicRegion s)Get all feature types from a list of sequence featuresjava.lang.StringconvertResultMapToHTML(java.util.Map<GenomicRegion,java.util.List<java.util.List<java.lang.String>>> resultMap, java.util.Map<GenomicRegion,java.util.Map<java.lang.String,java.lang.Integer>> resultStat, java.util.List<GenomicRegion> genomicRegionList, int fromIdx, int toIdx, javax.servlet.http.HttpSession session)Convert result map to HTML string.java.util.Map<GenomicRegion,org.intermine.objectstore.query.Query>createQueryList()To prepare queries for genomic regionsjava.lang.StringgenerateCreateListHtml(java.util.Map<GenomicRegion,java.util.List<java.util.List<java.lang.String>>> resultMap)Generate a html string with all feature type for list creation.java.lang.StringgenerateJBrowseURL(GenomicRegion s)A wrapper of generateJBrowseURL(GenomicRegion s, ListfeatureTypes) java.lang.StringgenerateJBrowseURL(GenomicRegion s, java.util.List<java.lang.String> featureTypes)Generated a jbrowse urljava.util.Set<java.lang.Integer>getAllGenomicRegionOverlapFeaturesByType(java.util.Map<GenomicRegion,java.util.List<java.util.List<java.lang.String>>> resultMap, java.lang.String featureType)Get a set of ids of all span's overlap features by given feature type.java.util.Map<java.lang.String,java.util.Map<java.lang.String,ChromosomeInfo>>getChromosomeInfomationMap()Get chromosome information as in a map, keys are lowercased chromosome idsGenomicRegionSearchConstraintgetConstraint()org.intermine.pathquery.PathQuerygetExportFeaturesQuery(java.util.Set<java.lang.Integer> featureIds, java.lang.String featureType, java.util.Set<java.lang.String> views, java.util.List<java.lang.String> sortOrder)A flexiable way of setting query fields.java.util.Set<java.lang.String>getFeatureTypeSetInAlphabeticalOrder(java.util.Set<java.lang.String> featureSet)Get all feature types in a TresSetjava.util.Map<java.lang.String,java.util.List<java.lang.String>>getFeatureTypeToSOTermMap()intgetGenomicRegionExtendedSizeConstraint(java.lang.String spanUUIDString, java.util.Map<GenomicRegionSearchConstraint,java.lang.String> spanConstraintMap)Get flanking size for GenomicRegionSearchAjaxAction use.java.lang.StringgetGenomicRegionOrganismConstraint(java.lang.String spanUUIDString, java.util.Map<GenomicRegionSearchConstraint,java.lang.String> spanConstraintMap)Get organism for GenomicRegionSearchAjaxAction use.java.util.Set<java.lang.Integer>getGenomicRegionOverlapFeaturesAsSet(java.lang.String grInfo, java.util.Map<GenomicRegion,java.util.List<java.util.List<java.lang.String>>> resultMap)Get a set of ids of a span's overlap features.java.lang.StringgetGenomicRegionOverlapFeaturesAsString(java.lang.String grInfo, java.util.Map<GenomicRegion,java.util.List<java.util.List<java.lang.String>>> resultMap)Get a comma separated string of a span's overlap features.java.util.Set<java.lang.Integer>getGenomicRegionOverlapFeaturesByType(java.lang.String grInfo, java.util.Map<GenomicRegion,java.util.List<java.util.List<java.lang.String>>> resultMap, java.lang.String featureType)Get a set of ids of a span's overlap features by given feature type.java.util.Map<java.lang.String,java.lang.String>getJBrowseTracks()Get jbrowse track information from web.propertiesprotected java.lang.StringgetMatchedBaseCount(GenomicRegion gr, java.util.List<java.lang.String> r)Calculate the number of matched bases.java.lang.StringgetOptionsCss()Get the name of customized options CSSjava.lang.StringgetOptionsJavascript()Get the name of customized options javascript, by default, it is named "genomic_region_search_options_default.js"java.util.Map<java.lang.String,java.lang.String>getOrganismToTaxonMap()java.lang.StringgetResultsCss()Get the name of customized results CSSjava.lang.StringgetResultsJavascript()Get the name of customized results javascriptjava.util.List<java.lang.String>getSelectionInformation()The message passed to results pagejava.util.Set<java.lang.String>getTaxonIds(java.util.Set<java.lang.String> organisms)booleanhasJBrowseTrack(java.lang.String featureType)Test if jbrowse has a track regards to a feature typevoidinit(javax.servlet.http.HttpServletRequest request)To set globally used variables.java.lang.StringisEmptyFeature(java.util.Map<GenomicRegion,java.util.List<java.util.List<java.lang.String>>> resultMap)Check whether the results have empty features.booleanisJBrowseEnabled()Test if jbrowse is enabledorg.apache.struts.action.ActionMessageparseBasicInput(GenomicRegionSearchForm grsForm)org.apache.struts.action.ActionMessageparseGenomicRegionSearchForm(GenomicRegionSearchForm grsForm)To parse form datajava.lang.StringsetupWebData()To call the queryOrganismAndSequenceFeatureTypes method in GenomicRegionSearchQueryRunner.java.util.Map<java.lang.String,java.util.List<GenomicRegion>>validateGenomicRegions()Validate input genomic regions
-
-
-
Field Detail
-
DEFAULT_REGION_INIT_BATCH_SIZE
public static final int DEFAULT_REGION_INIT_BATCH_SIZE
Default batch size to be used for region search initialisation queries.- See Also:
- Constant Field Values
-
-
Method Detail
-
init
public void init(javax.servlet.http.HttpServletRequest request)
To set globally used variables.- Parameters:
request- HttpServletRequest
-
setupWebData
public java.lang.String setupWebData() throws java.lang.ExceptionTo call the queryOrganismAndSequenceFeatureTypes method in GenomicRegionSearchQueryRunner.- Returns:
- a JSON string
- Throws:
java.lang.Exception- e
-
getOptionsJavascript
public java.lang.String getOptionsJavascript()
Get the name of customized options javascript, by default, it is named "genomic_region_search_options_default.js"- Returns:
- the name of options javascript name
-
getResultsJavascript
public java.lang.String getResultsJavascript()
Get the name of customized results javascript- Returns:
- the name of results page
-
getOptionsCss
public java.lang.String getOptionsCss()
Get the name of customized options CSS- Returns:
- the name of options css
-
getResultsCss
public java.lang.String getResultsCss()
Get the name of customized results CSS- Returns:
- the name of results css
-
parseGenomicRegionSearchForm
public org.apache.struts.action.ActionMessage parseGenomicRegionSearchForm(GenomicRegionSearchForm grsForm) throws java.lang.Exception
To parse form data- Parameters:
grsForm- GenomicRegionSearchForm- Returns:
- genomic region search constraint
- Throws:
java.lang.Exception- e
-
parseBasicInput
public org.apache.struts.action.ActionMessage parseBasicInput(GenomicRegionSearchForm grsForm) throws java.lang.Exception
- Parameters:
grsForm- GenomicRegionSearchForm- Returns:
- ActionMessage
- Throws:
java.lang.Exception- e
-
createQueryList
public java.util.Map<GenomicRegion,org.intermine.objectstore.query.Query> createQueryList()
To prepare queries for genomic regions- Returns:
- a list of prepared queries for genomic regions
-
getConstraint
public GenomicRegionSearchConstraint getConstraint()
- Returns:
- the grsc
-
getChromosomeInfomationMap
public java.util.Map<java.lang.String,java.util.Map<java.lang.String,ChromosomeInfo>> getChromosomeInfomationMap()
Get chromosome information as in a map, keys are lowercased chromosome ids- Returns:
- chrInfoMap
-
getFeatureTypeToSOTermMap
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getFeatureTypeToSOTermMap()
- Returns:
- featureTypeToSOTermMap
-
getOrganismToTaxonMap
public java.util.Map<java.lang.String,java.lang.String> getOrganismToTaxonMap()
- Returns:
- orgTaxonIdMap
-
validateGenomicRegions
public java.util.Map<java.lang.String,java.util.List<GenomicRegion>> validateGenomicRegions() throws java.lang.Exception
Validate input genomic regions- Returns:
- resultMap
- Throws:
java.lang.Exception- with error message
-
getSelectionInformation
public java.util.List<java.lang.String> getSelectionInformation()
The message passed to results page- Returns:
- resultMessages
-
getGenomicRegionOrganismConstraint
public java.lang.String getGenomicRegionOrganismConstraint(java.lang.String spanUUIDString, java.util.Map<GenomicRegionSearchConstraint,java.lang.String> spanConstraintMap)Get organism for GenomicRegionSearchAjaxAction use.- Parameters:
spanUUIDString- uuidspanConstraintMap- map of contraints- Returns:
- the organism
-
getGenomicRegionExtendedSizeConstraint
public int getGenomicRegionExtendedSizeConstraint(java.lang.String spanUUIDString, java.util.Map<GenomicRegionSearchConstraint,java.lang.String> spanConstraintMap)Get flanking size for GenomicRegionSearchAjaxAction use.- Parameters:
spanUUIDString- uuidspanConstraintMap- map of contraints- Returns:
- the flanking size
-
getGenomicRegionOverlapFeaturesAsSet
public java.util.Set<java.lang.Integer> getGenomicRegionOverlapFeaturesAsSet(java.lang.String grInfo, java.util.Map<GenomicRegion,java.util.List<java.util.List<java.lang.String>>> resultMap) throws java.lang.ExceptionGet a set of ids of a span's overlap features. for GenomicRegionSearchAjaxAction use.- Parameters:
grInfo- a genomic region in string arrayresultMap- map of search results- Returns:
- String feature ids joined by comma
- Throws:
java.lang.Exception- with error message
-
getGenomicRegionOverlapFeaturesByType
public java.util.Set<java.lang.Integer> getGenomicRegionOverlapFeaturesByType(java.lang.String grInfo, java.util.Map<GenomicRegion,java.util.List<java.util.List<java.lang.String>>> resultMap, java.lang.String featureType) throws java.lang.ExceptionGet a set of ids of a span's overlap features by given feature type. for GenomicRegionSearchAjaxAction use.- Parameters:
grInfo- a genomic region in string arrayresultMap- map of search resultsfeatureType- e.g. Gene- Returns:
- String feature ids joined by comma
- Throws:
java.lang.Exception- with error message
-
getAllGenomicRegionOverlapFeaturesByType
public java.util.Set<java.lang.Integer> getAllGenomicRegionOverlapFeaturesByType(java.util.Map<GenomicRegion,java.util.List<java.util.List<java.lang.String>>> resultMap, java.lang.String featureType)
Get a set of ids of all span's overlap features by given feature type. for GenomicRegionSearchAjaxAction use.- Parameters:
resultMap- map of search resultsfeatureType- e.g. Gene- Returns:
- String feature ids joined by comma
-
getGenomicRegionOverlapFeaturesAsString
public java.lang.String getGenomicRegionOverlapFeaturesAsString(java.lang.String grInfo, java.util.Map<GenomicRegion,java.util.List<java.util.List<java.lang.String>>> resultMap) throws java.lang.ExceptionGet a comma separated string of a span's overlap features. for GenomicRegionSearchAjaxAction use.- Parameters:
grInfo- a genomic region in string arrayresultMap- map of search results- Returns:
- String feature ids joined by comma
- Throws:
java.lang.Exception- with error message
-
isEmptyFeature
public java.lang.String isEmptyFeature(java.util.Map<GenomicRegion,java.util.List<java.util.List<java.lang.String>>> resultMap)
Check whether the results have empty features. for GenomicRegionSearchAjaxAction use.- Parameters:
resultMap- map of search results- Returns:
- String "hasFeature" or "emptyFeature"
-
generateCreateListHtml
public java.lang.String generateCreateListHtml(java.util.Map<GenomicRegion,java.util.List<java.util.List<java.lang.String>>> resultMap)
Generate a html string with all feature type for list creation.- Parameters:
resultMap- map of search results- Returns:
- a html string
-
convertResultMapToHTML
public java.lang.String convertResultMapToHTML(java.util.Map<GenomicRegion,java.util.List<java.util.List<java.lang.String>>> resultMap, java.util.Map<GenomicRegion,java.util.Map<java.lang.String,java.lang.Integer>> resultStat, java.util.List<GenomicRegion> genomicRegionList, int fromIdx, int toIdx, javax.servlet.http.HttpSession session)
Convert result map to HTML string.- Parameters:
resultMap- resultMapresultStat- result statisticsgenomicRegionList- spanListfromIdx- offsetStarttoIdx- offsetEndsession- the current session- Returns:
- a String of HTML
-
categorizeFeatureTypes
public java.lang.String categorizeFeatureTypes(java.util.Set<java.lang.String> featureSet, GenomicRegion s)Get all feature types from a list of sequence features- Parameters:
featureSet- a set of feature types (class names) in a special orders- GenomicRegion- Returns:
- A html string with a dropdown list of feature types
-
getFeatureTypeSetInAlphabeticalOrder
public java.util.Set<java.lang.String> getFeatureTypeSetInAlphabeticalOrder(java.util.Set<java.lang.String> featureSet)
Get all feature types in a TresSet- Parameters:
featureSet- a set of feature types (class names) in a special order- Returns:
- a set of feature types of a genomic region in alphabetical order
-
getMatchedBaseCount
protected java.lang.String getMatchedBaseCount(GenomicRegion gr, java.util.List<java.lang.String> r)
Calculate the number of matched bases.- Parameters:
gr- a GenomicRegion objectr- a list of attributes- Returns:
- matched base count as String
-
getExportFeaturesQuery
public org.intermine.pathquery.PathQuery getExportFeaturesQuery(java.util.Set<java.lang.Integer> featureIds, java.lang.String featureType, java.util.Set<java.lang.String> views, java.util.List<java.lang.String> sortOrder)A flexiable way of setting query fields.- Parameters:
featureIds- set of feature intermine idsfeatureType- feature class nameviews- user defined views in web.propertiessortOrder- user defined sortOrder in web.properties- Returns:
- a pathquery
-
getTaxonIds
public java.util.Set<java.lang.String> getTaxonIds(java.util.Set<java.lang.String> organisms)
- Parameters:
organisms- set of org names- Returns:
- set of taxonIds
-
isJBrowseEnabled
public boolean isJBrowseEnabled()
Test if jbrowse is enabled- Returns:
- boolean
-
getJBrowseTracks
public java.util.Map<java.lang.String,java.lang.String> getJBrowseTracks()
Get jbrowse track information from web.properties- Returns:
- a map: key - feature type, value - track name
-
hasJBrowseTrack
public boolean hasJBrowseTrack(java.lang.String featureType)
Test if jbrowse has a track regards to a feature type- Parameters:
featureType- a feature type- Returns:
- boolean
-
generateJBrowseURL
public java.lang.String generateJBrowseURL(GenomicRegion s, java.util.List<java.lang.String> featureTypes)
Generated a jbrowse url- Parameters:
s- a GenomicRegion objectfeatureTypes- list of feature types- Returns:
- a string representing jbrowse url
-
generateJBrowseURL
public java.lang.String generateJBrowseURL(GenomicRegion s)
A wrapper of generateJBrowseURL(GenomicRegion s, ListfeatureTypes) - Parameters:
s- GenomicRegion- Returns:
- jbrowse url
-
-