docs: def parse(self, limit=None):
          """
          Override Source.parse()
          Parses version and interaction information from CTD
          Args:
          :param limit (int, optional) limit the number of rows processed
          Returns:
          :return None
          """
          if limit is not None:
              LOG.info("Only parsing first %d rows", limit)
  
          LOG.info("Parsing files...")
          # pub_map = dict()
          # file_path = '/'.join((self.rawdir,
          # self.static_files['publications']['file']))
          # if os.path.exists(file_path) is True:
          #     pub_map = self._parse_publication_file(
          #         self.static_files['publications']['file']
          #     )
  
          if self.test_only:
              self.test_mode = True
  
          self.geno = Genotype(self.graph)
          self.pathway = Pathway(self.graph)
  
          self._parse_ctd_file(
              limit, self.files['chemical_disease_interactions']['file'])
          self._parse_ctd_file(limit, self.files['gene_pathway']['file'])
          self._parse_ctd_file(limit, self.files['gene_disease']['file'])
          self._parse_curated_chem_disease(limit)
  
          LOG.info("Done parsing files.")
  
          return