docs: def process_citation(citation_str: str) -> dict:
      """Parse BEL Script Citation string into nanopub_bel citation object"""
  
      citation_obj = {}
  
      citation_list = convert_csv_str_to_list(citation_str)
      (citation_type, name, doc_id, pub_date, authors, comment, *extra) = (
          citation_list + [None] * 7
      )
      # print(f'citation_type: {citation_type}, name: {name}, doc_id: {doc_id}, pub_date: {pub_date}, authors: {authors}, comment: {comment}')
  
      authors_list = []
      if authors:
          authors_list = authors.split("|")
          citation_obj["authors"] = authors_list
  
      if name and re.match("http?://", name):
          citation_obj["uri"] = name
  
      elif citation_type and citation_type.upper() == "PUBMED":
          citation_obj["database"] = {"name": "PubMed", "id": doc_id}
          if name:
              citation_obj["reference"] = name
      elif name:
          citation_obj["reference"] = name
  
      else:
          citation_obj["reference"] = "No reference found"
  
      if pub_date:
          citation_obj["date_published"] = pub_date
  
      if comment:
          citation_obj["comment"] = comment
  
      return citation_obj