code: def get_attribute_information_profile(
          url: str,
          profile: Optional[Tuple[str]]=None,
          categories: Optional[Tuple[str]]=None) -> Dict:
      
      owlsim_url = url + 'getAttributeInformationProfile'
  
      params = {
          'a': profile,
          'r': categories
      }
      return requests.get(owlsim_url, params=params, timeout=TIMEOUT).json()
docs: Get the information content for a list of phenotypes
      and the annotation sufficiency simple and
      and categorical scores if categories are provied
  
      Ref: https://zenodo.org/record/834091#.W8ZnCxhlCV4
      Note that the simple score varies slightly from the pub in that
      it uses max_max_ic instead of mean_max_ic
  
      If no arguments are passed this function returns the
      system (loaded cohort) stats
      :raises JSONDecodeError: If the response body does not contain valid json.