biggr_models.handlers.advanced_search_handlers
==============================================

.. py:module:: biggr_models.handlers.advanced_search_handlers


Attributes
----------

.. autoapisummary::

   biggr_models.handlers.advanced_search_handlers.ALLOWED_SEARCH_ALPHABET
   biggr_models.handlers.advanced_search_handlers.DATA_SOURCE_IDS
   biggr_models.handlers.advanced_search_handlers.S_API


Classes
-------

.. autoapisummary::

   biggr_models.handlers.advanced_search_handlers.GenomeSearchHandler
   biggr_models.handlers.advanced_search_handlers.GeneSearchHandler
   biggr_models.handlers.advanced_search_handlers.UniversalMetaboliteSearchHandler
   biggr_models.handlers.advanced_search_handlers.MetaboliteReferenceSearchHandler
   biggr_models.handlers.advanced_search_handlers.MetaboliteAnnotationSearchHandler
   biggr_models.handlers.advanced_search_handlers.MetaboliteInChIKeySearchHandler
   biggr_models.handlers.advanced_search_handlers.UniversalReactionSearchHandler
   biggr_models.handlers.advanced_search_handlers.UniversalReactionReferenceSearchHandler
   biggr_models.handlers.advanced_search_handlers.UniversalReactionAnnotationSearchHandler
   biggr_models.handlers.advanced_search_handlers.UniversalReactionECSearchHandler
   biggr_models.handlers.advanced_search_handlers.ModelSearchHandler
   biggr_models.handlers.advanced_search_handlers.SearchResultsHandler


Functions
---------

.. autoapisummary::

   biggr_models.handlers.advanced_search_handlers.agg_strings
   biggr_models.handlers.advanced_search_handlers.process_string_array
   biggr_models.handlers.advanced_search_handlers.get_data_source_id


Module Contents
---------------

.. py:data:: ALLOWED_SEARCH_ALPHABET
   :value: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_+-()[]/:.,' &;{}=?`|#*^"


.. py:function:: agg_strings(x)

.. py:function:: process_string_array(x)

.. py:function:: get_data_source_id(session: sqlalchemy.orm.Session, bigg_id: str)

.. py:data:: DATA_SOURCE_IDS

.. py:class:: GenomeSearchHandler(application: Application, request: tornado.httputil.HTTPServerRequest, **kwargs: Any)

   Bases: :py:obj:`biggr_models.handlers.utils.DataHandler`


   Request handler that implements data tables (API) logic.


   .. py:attribute:: title
      :value: 'Genomes'



   .. py:attribute:: search_query
      :type:  str
      :value: ''



   .. py:attribute:: column_specs


   .. py:method:: post_filter(query)


   .. py:method:: return_data(search_query, *args, **kwargs)


.. py:class:: GeneSearchHandler(application: Application, request: tornado.httputil.HTTPServerRequest, **kwargs: Any)

   Bases: :py:obj:`biggr_models.handlers.utils.DataHandler`


   Request handler that implements data tables (API) logic.


   .. py:attribute:: title
      :value: 'Genes'



   .. py:attribute:: search_query
      :type:  str
      :value: ''



   .. py:attribute:: column_specs


   .. py:method:: post_filter(query)


   .. py:method:: return_data(search_query, *args, **kwargs)


.. py:class:: UniversalMetaboliteSearchHandler(application: Application, request: tornado.httputil.HTTPServerRequest, **kwargs: Any)

   Bases: :py:obj:`biggr_models.handlers.utils.DataHandler`


   Request handler that implements data tables (API) logic.


   .. py:attribute:: title
      :value: 'Universal Metabolites'



   .. py:attribute:: search_query
      :type:  str
      :value: ''



   .. py:attribute:: column_specs


   .. py:method:: pre_filter(query)


   .. py:method:: post_filter(query)


   .. py:method:: return_data(search_query, *args, **kwargs)


.. py:class:: MetaboliteReferenceSearchHandler(application: Application, request: tornado.httputil.HTTPServerRequest, **kwargs: Any)

   Bases: :py:obj:`biggr_models.handlers.utils.DataHandler`


   Request handler that implements data tables (API) logic.


   .. py:attribute:: title
      :value: 'Metabolites via Reference'



   .. py:attribute:: search_query
      :type:  str
      :value: ''



   .. py:attribute:: column_specs


   .. py:method:: pre_filter(query)


   .. py:method:: post_filter(query)


   .. py:method:: return_data(search_query, *args, **kwargs)


.. py:class:: MetaboliteAnnotationSearchHandler(application: Application, request: tornado.httputil.HTTPServerRequest, **kwargs: Any)

   Bases: :py:obj:`biggr_models.handlers.utils.DataHandler`


   Request handler that implements data tables (API) logic.


   .. py:attribute:: title
      :value: 'Metabolites via Annotation'



   .. py:attribute:: search_query
      :type:  str
      :value: ''



   .. py:attribute:: data_source
      :type:  str
      :value: ''



   .. py:attribute:: column_specs


   .. py:method:: pre_filter(query)


   .. py:method:: post_filter(query)


   .. py:method:: return_data(search_query, *args, **kwargs)


.. py:class:: MetaboliteInChIKeySearchHandler(application: Application, request: tornado.httputil.HTTPServerRequest, **kwargs: Any)

   Bases: :py:obj:`biggr_models.handlers.utils.DataHandler`


   Request handler that implements data tables (API) logic.


   .. py:attribute:: title
      :value: 'Metabolites by InChIKey'



   .. py:attribute:: search_query
      :type:  str
      :value: ''



   .. py:attribute:: data_source
      :type:  str
      :value: ''



   .. py:attribute:: column_specs


   .. py:method:: pre_filter(query)


   .. py:method:: post_filter(query)


   .. py:method:: parse_inchi_key(search_query)


   .. py:method:: return_data(search_query, *args, **kwargs)


.. py:class:: UniversalReactionSearchHandler(application: Application, request: tornado.httputil.HTTPServerRequest, **kwargs: Any)

   Bases: :py:obj:`biggr_models.handlers.utils.DataHandler`


   Request handler that implements data tables (API) logic.


   .. py:attribute:: title
      :value: 'Universal Reactions'



   .. py:attribute:: search_query
      :type:  str
      :value: ''



   .. py:attribute:: column_specs


   .. py:method:: pre_filter(query)


   .. py:method:: post_filter(query)


   .. py:method:: return_data(search_query, *args, **kwargs)


.. py:class:: UniversalReactionReferenceSearchHandler(application: Application, request: tornado.httputil.HTTPServerRequest, **kwargs: Any)

   Bases: :py:obj:`biggr_models.handlers.utils.DataHandler`


   Request handler that implements data tables (API) logic.


   .. py:attribute:: title
      :value: 'Reactions via Reference'



   .. py:attribute:: search_query
      :type:  str
      :value: ''



   .. py:attribute:: column_specs


   .. py:method:: pre_filter(query)


   .. py:method:: post_filter(query)


   .. py:method:: return_data(search_query, *args, **kwargs)


.. py:class:: UniversalReactionAnnotationSearchHandler(application: Application, request: tornado.httputil.HTTPServerRequest, **kwargs: Any)

   Bases: :py:obj:`biggr_models.handlers.utils.DataHandler`


   Request handler that implements data tables (API) logic.


   .. py:attribute:: title
      :value: 'Reactions via Annotation'



   .. py:attribute:: search_query
      :type:  str
      :value: ''



   .. py:attribute:: data_source
      :type:  str
      :value: ''



   .. py:attribute:: column_specs


   .. py:method:: pre_filter(query)


   .. py:method:: post_filter(query)


   .. py:method:: return_data(search_query, *args, **kwargs)


.. py:class:: UniversalReactionECSearchHandler(application: Application, request: tornado.httputil.HTTPServerRequest, **kwargs: Any)

   Bases: :py:obj:`biggr_models.handlers.utils.DataHandler`


   Request handler that implements data tables (API) logic.


   .. py:attribute:: title
      :value: 'Reactions via EC'



   .. py:attribute:: search_query
      :type:  str
      :value: ''



   .. py:attribute:: data_source
      :type:  str
      :value: ''



   .. py:attribute:: column_specs


   .. py:method:: pre_filter(query)


   .. py:method:: post_filter(query)


   .. py:method:: return_data(search_query, *args, **kwargs)


.. py:class:: ModelSearchHandler(application: Application, request: tornado.httputil.HTTPServerRequest, **kwargs: Any)

   Bases: :py:obj:`biggr_models.handlers.utils.DataHandler`


   Request handler that implements data tables (API) logic.


   .. py:attribute:: title
      :value: 'Models'



   .. py:attribute:: search_query
      :type:  str
      :value: ''



   .. py:attribute:: column_specs


   .. py:method:: post_filter(query)


   .. py:method:: return_data(search_query, *args, **kwargs)


.. py:data:: S_API
   :value: '/api/v3/search'


.. py:class:: SearchResultsHandler(application: Application, request: tornado.httputil.HTTPServerRequest, **kwargs: Any)

   Bases: :py:obj:`biggr_models.handlers.utils.BaseHandler`


   Base RequestHandler that handles standard requests.


   .. py:attribute:: template


   .. py:method:: clean_search_query(search_query)


   .. py:method:: build_special_tab_page(search_query)


   .. py:method:: get(search_query)


