def pdb_downloader_and_metadata(self, outdir=None, pdb_file_type=None, force_rerun=False):
        """Download ALL mapped experimental structures to the protein structures directory.

        Args:
            outdir (str): Path to output directory, if protein structures directory not set or other output directory is
                desired
            pdb_file_type (str): Type of PDB file to download, if not already set or other format is desired
            force_rerun (bool): If files should be re-downloaded if they already exist

        Returns:
            list: List of PDB IDs that were downloaded

        Todo:
            * Parse mmtf or PDB file for header information, rather than always getting the cif file for header info

        """
        if not outdir:
            outdir = self.structure_dir
            if not outdir:
                raise ValueError('Output directory must be specified')

        if not pdb_file_type:
            pdb_file_type = self.pdb_file_type

        # Check if we have any PDBs
        if self.num_structures_experimental == 0:
            log.debug('{}: no structures available - nothing will be downloaded'.format(self.id))
            return

        downloaded_pdb_ids = []
        # Download the PDBs
        for s in self.get_experimental_structures():
            log.debug('{}: downloading structure file from the PDB...'.format(s.id))
            s.download_structure_file(outdir=outdir, file_type=pdb_file_type, force_rerun=force_rerun, load_header_metadata=True)
            downloaded_pdb_ids.append(s.id)

        return downloaded_pdb_ids
def pdb_downloader_and_metadata ( self , outdir = None , pdb_file_type = None , force_rerun = False ) : if not outdir : outdir = self . structure_dir if not outdir : raise ValueError ( 'Output directory must be specified' ) if not pdb_file_type : pdb_file_type = self . pdb_file_type if self . num_structures_experimental == 0 : log . debug ( '{}: no structures available - nothing will be downloaded' . format ( self . id ) ) return downloaded_pdb_ids = [ ] for s in self . get_experimental_structures ( ) : log . debug ( '{}: downloading structure file from the PDB...' . format ( s . id ) ) s . download_structure_file ( outdir = outdir , file_type = pdb_file_type , force_rerun = force_rerun , load_header_metadata = True ) downloaded_pdb_ids . append ( s . id ) return downloaded_pdb_ids
Download ALL mapped experimental structures to the protein structures directory.

        Args:
            outdir (str): Path to output directory, if protein structures directory not set or other output directory is
                desired
            pdb_file_type (str): Type of PDB file to download, if not already set or other format is desired
            force_rerun (bool): If files should be re-downloaded if they already exist

        Returns:
            list: List of PDB IDs that were downloaded

        Todo:
            * Parse mmtf or PDB file for header information, rather than always getting the cif file for header info