code: def cowbat(self):
          logging.info('Beginning COWBAT database downloads')
          if self.overwrite or not os.path.isdir(os.path.join(self.databasepath, 'genesippr')):
              self.sipprverse_targets(databasepath=self.databasepath)
          if self.overwrite or not os.path.isdir(os.path.join(self.databasepath, 'coregenome')):
              self.cowbat_targets(databasepath=self.databasepath)
          if self.overwrite or not os.path.isdir(os.path.join(self.databasepath, 'ConFindr')):
              self.confindr_targets()
          if self.overwrite or not os.path.isdir(os.path.join(self.databasepath, 'mash')):
              self.mash(databasepath=self.databasepath)
          if self.overwrite or not os.path.isdir(os.path.join(self.databasepath, 'MLST')):
              self.mlst(databasepath=self.databasepath)
          if self.overwrite or not os.path.isdir(os.path.join(self.databasepath, 'rMLST')):
              self.rmlst(databasepath=self.databasepath,
                         credentials=self.credentials)
          if self.overwrite or not os.path.isdir(os.path.join(self.databasepath, 'univec')):
              self.univec(databasepath=self.databasepath)
          if self.overwrite or not os.path.isdir(os.path.join(self.databasepath, 'resfinder')):
              self.cge_db_downloader(databasepath=self.databasepath,
                                     analysistype='resfinder',
                                     dbname='resfinder_db')
          if self.overwrite or not os.path.isdir(os.path.join(self.databasepath, 'virulence')):
              self.cge_db_downloader(databasepath=self.databasepath,
                                     analysistype='virulence',
                                     dbname='virulencefinder_db')
          if self.overwrite or not os.path.isdir(os.path.join(self.databasepath, 'serosippr')):
              self.cge_db_downloader(databasepath=self.databasepath,
                                     analysistype='serosippr',
                                     dbname='serotypefinder_db')
          if self.overwrite or not os.path.isdir(os.path.join(self.databasepath, 'pointfinder')):
              self.cge_db_downloader(databasepath=self.databasepath,
                                     analysistype='pointfinder',
                                     dbname='pointfinder_db')
          if self.overwrite or not os.path.isdir(os.path.join(self.databasepath, 'clark')):
              self.clark(databasepath=self.databasepath)
          if self.overwrite or not os.path.isdir(os.path.join(self.databasepath, 'mob_suite')):
              self.mob_suite_targets()