code: def filter_pmids(pmid_list, source_type):
      
      global pmids_fulltext_dict
      # Check args
      if source_type not in ('fulltext', 'oa_xml', 'oa_txt', 'auth_xml'):
          raise ValueError("source_type must be one of: 'fulltext', 'oa_xml', "
                           "'oa_txt', or 'auth_xml'.")
      # Check if we've loaded this type, and lazily initialize
      if pmids_fulltext_dict.get(source_type) is None:
          fulltext_list_path = os.path.join(os.path.dirname(__file__),
                                            'pmids_%s.txt' % source_type)
          with open(fulltext_list_path, 'rb') as f:
              fulltext_list = set([line.strip().decode('utf-8')
                                   for line in f.readlines()])
              pmids_fulltext_dict[source_type] = fulltext_list
      return list(set(pmid_list).intersection(
                                  pmids_fulltext_dict.get(source_type)))
docs: Filter a list of PMIDs for ones with full text from PMC.
  
      Parameters
      ----------
      pmid_list : list of str
          List of PMIDs to filter.
      source_type : string
          One of 'fulltext', 'oa_xml', 'oa_txt', or 'auth_xml'.
  
      Returns
      -------
      list of str
          PMIDs available in the specified source/format type.