class_docstr: Object for working with Protein Databank structure files.
  
  Attributes
  ----------
  df : dict
      Dictionary storing pandas DataFrames for PDB record sections.
      The dictionary keys are {'ATOM', 'HETATM', 'ANISOU', 'OTHERS'}
      where 'OTHERS' contains all entries that are not parsed as
      'ATOM', 'HETATM', or 'ANISOU'.
  
  pdb_text : str
      PDB file contents in raw text format.
  
  pdb_path : Union[str, os.PathLike]
      Location of the PDB file that was read in via `read_pdb`
      or URL of the page where the PDB content was fetched from
      if `fetch_pdb` was called.
  
  header : str
      PDB file description.
  
  code : str
      PDB code
class_docstr_tok: ["Object","for","working","with","Protein","Databank","structure","files",".","Attributes","--","--","--","--","--","df",":","dict","Dictionary","storing","pandas","DataFrames","for","PDB","record","sections",".","The","dictionary","keys","are","{","'ATOM","'",",","'HETATM","'",",","'ANISOU","'",",","'OTHERS","'","}","where","'OTHERS","'","contains","all","entries","that","are","not","parsed","as","'ATOM","'",",","'HETATM","'",",","or","'ANISOU","'",".","pdb_text",":","str","PDB","file","contents","in","raw","text","format",".","pdb_path",":","Union","[","str",",","os.PathLike","]","Location","of","the","PDB","file","that","was","read","in","via","`","read_pdb","`","or","URL","of","the","page","where","the","PDB","content","was","fetched","from","if","`","fetch_pdb","`","was","called",".","header",":","str","PDB","file","description",".","code",":","str","PDB","code"]
docstr: Filter PDB DataFrames by properties
  
  Parameters
  ----------
  s : str  in {'main chain', 'hydrogen', 'c-alpha', 'heavy'}
      String to specify which entries to return.
  
  df : pandas.DataFrame, default: None
      Optional DataFrame to perform the filter operation on.
      If df=None, filters on self.df['ATOM'].
  
  invert : bool, default: True
      Inverts the search query. For example if s='hydrogen' and
      invert=True, all but hydrogen entries are returned.
  
  records : iterable, default: ('ATOM', 'HETATM')
      Specify which record sections to consider. For example, to consider
      both protein and ligand atoms, set `records=('ATOM', 'HETATM')`.
      This setting is ignored if `df` is not set to None.
      For downward compatibility, a string argument is still supported
      but deprecated and will be removed in future versions.
  
  Returns
  --------
  df : pandas.DataFrame
      Returns a DataFrame view on the filtered entries.
docstr_tok: ["Filter","PDB","DataFrames","by","properties","Parameters","--","--","--","--","--","s",":","str","in","{","'main","chain","'",",","'hydrogen","'",",","'","c-alpha","'",",","'heavy","'","}","String","to","specify","which","entries","to","return",".","df",":","pandas.DataFrame",",","default",":","None","Optional","DataFrame","to","perform","the","filter","operation","on",".","If","df=None",",","filters","on","self.df","[","'ATOM","'","]",".","invert",":","bool",",","default",":","True","Inverts","the","search","query",".","For","example","if","s='hydrogen","'","and","invert=True",",","all","but","hydrogen","entries","are","returned",".","records",":","iterable",",","default",":","(","'ATOM","'",",","'HETATM","'",")","Specify","which","record","sections","to","consider",".","For","example",",","to","consider","both","protein","and","ligand","atoms",",","set","`","records=","(","'ATOM","'",",","'HETATM","'",")","`",".","This","setting","is","ignored","if","`","df","`","is","not","set","to","None",".","For","downward","compatibility",",","a","string","argument","is","still","supported","but","deprecated","and","will","be","removed","in","future","versions",".","Returns","--","--","--","--","df",":","pandas.DataFrame","Returns","a","DataFrame","view","on","the","filtered","entries","."]
code: def get(self, s, df=None, invert=False, records=("ATOM", "HETATM")):
      """Filter PDB DataFrames by properties
  
      Parameters
      ----------
      s : str  in {'main chain', 'hydrogen', 'c-alpha', 'heavy'}
          String to specify which entries to return.
  
      df : pandas.DataFrame, default: None
          Optional DataFrame to perform the filter operation on.
          If df=None, filters on self.df['ATOM'].
  
      invert : bool, default: True
          Inverts the search query. For example if s='hydrogen' and
          invert=True, all but hydrogen entries are returned.
  
      records : iterable, default: ('ATOM', 'HETATM')
          Specify which record sections to consider. For example, to consider
          both protein and ligand atoms, set `records=('ATOM', 'HETATM')`.
          This setting is ignored if `df` is not set to None.
          For downward compatibility, a string argument is still supported
          but deprecated and will be removed in future versions.
  
      Returns
      --------
      df : pandas.DataFrame
          Returns a DataFrame view on the filtered entries.
  
      """
      if isinstance(records, str):
          warnings.warn(
              "Using a string as `records` argument is "
              "deprecated and will not be supported in future"
              " versions. Please use a tuple or"
              " other iterable instead",
              DeprecationWarning,
          )
          records = (records,)
  
      if not self._get_dict:
          self._get_dict = self._init_get_dict()
      if s not in self._get_dict.keys():
          raise AttributeError(f"s must be in {self._get_dict.keys()}")
      if not df:
          df = pd.concat(objs=[self.df[i] for i in records])
      return self._get_dict[s](df, invert=invert)
  
imports: from __future__ import annotations
  import gzip
  import sys
  import warnings
  import textwrap
  from copy import deepcopy
  from io import StringIO
  from typing import List, Optional
  from urllib.error import HTTPError, URLError
  from urllib.request import urlopen
  from warnings import warn
  import numpy
  import pandas
  from looseversion import LooseVersion
  from .engines import amino3to1dict, pdb_df_columns, pdb_records
  from biopandas.constants import ATOMIC_MASSES
label_desc: Use image node_id 7 for calling the PandasPdb obj's underlying member method code with example usage: obj.get(s, df, invert, records) and returns: self