Source code for molsysmt.form.file_bcif_gz.download

from molsysmt._private.download import download_with_retries
from molsysmt._private.files_and_directories import temp_filename


[docs] def download(pdb_id=None, output_filename=None, tempfile=False, wwPDB_Partner='RCSB PDB', skip_digestion=False, retries=5, timeout=30, backoff_base=2.0): """Downloading a remote bcif.gz file from a wwPDB partner.""" if pdb_id.startswith('pdb_id:'): pdb_id = pdb_id.split(':')[-1] elif pdb_id.startswith('pdb_'): pdb_id = pdb_id[-4:] if wwPDB_Partner != 'RCSB PDB': raise NotImplementedError("Only 'RCSB PDB' is supported at the moment.") if output_filename is None: if tempfile: output_filename = temp_filename(extension="bcif.gz") else: output_filename = f"{pdb_id}.bcif.gz" return download_with_retries( url="https://models.rcsb.org/{pdb_id}.bcif.gz".format(pdb_id=pdb_id), output_filename=output_filename, resource=f"{pdb_id}.bcif.gz", provider=wwPDB_Partner, caller="molsysmt.form.file_bcif_gz.download", retries=retries, timeout=timeout, backoff_base=backoff_base, )