def download_structure(inputpdbid):
    """Given a PDB ID, downloads the corresponding PDB structure.
    Checks for validity of ID and handles error while downloading.
    Returns the path of the downloaded file."""
    try:
        if len(inputpdbid) != 4 or extract_pdbid(inputpdbid.lower()) == 'UnknownProtein':
            sysexit(3, 'Invalid PDB ID (Wrong format)\n')
        pdbfile, pdbid = fetch_pdb(inputpdbid.lower())
        pdbpath = tilde_expansion('%s/%s.pdb' % (config.BASEPATH.rstrip('/'), pdbid))
        create_folder_if_not_exists(config.BASEPATH)
        with open(pdbpath, 'w') as g:
            g.write(pdbfile)
        write_message('file downloaded as %s\n\n' % pdbpath)
        return pdbpath, pdbid

    except ValueError:  # Invalid PDB ID, cannot fetch from RCBS server
        sysexit(3, 'Invalid PDB ID (Entry does not exist)\n')
def download_structure ( inputpdbid ) : try : if len ( inputpdbid ) != 4 or extract_pdbid ( inputpdbid . lower ( ) ) == 'UnknownProtein' : sysexit ( 3 , 'Invalid PDB ID (Wrong format)\n' ) pdbfile , pdbid = fetch_pdb ( inputpdbid . lower ( ) ) pdbpath = tilde_expansion ( '%s/%s.pdb' % ( config . BASEPATH . rstrip ( '/' ) , pdbid ) ) create_folder_if_not_exists ( config . BASEPATH ) with open ( pdbpath , 'w' ) as g : g . write ( pdbfile ) write_message ( 'file downloaded as %s\n\n' % pdbpath ) return pdbpath , pdbid except ValueError : sysexit ( 3 , 'Invalid PDB ID (Entry does not exist)\n' )
Given a PDB ID, downloads the corresponding PDB structure.
    Checks for validity of ID and handles error while downloading.
    Returns the path of the downloaded file.