class_docstr: Object for working with Tripos Mol2 structure files.
  
  Attributes
  ----------
  df : pandas.DataFrame
      DataFrame of a Mol2's ATOM section
  
  mol2_text : str
      Mol2 file contents in string format
  
  code : str
      ID, code, or name of the molecule stored
  
  pdb_path : str
      Location of the MOL2 file that was read in via `read_mol2`
class_docstr_tok: ["Object","for","working","with","Tripos","Mol2","structure","files",".","Attributes","--","--","--","--","--","df",":","pandas.DataFrame","DataFrame","of","a","Mol2","'s","ATOM","section","mol2_text",":","str","Mol2","file","contents","in","string","format","code",":","str","ID",",","code",",","or","name","of","the","molecule","stored","pdb_path",":","str","Location","of","the","MOL2","file","that","was","read","in","via","`","read_mol2","`"]
docstr: Compute the Root Mean Square Deviation between molecules
  
  Parameters
  ----------
  df1 : pandas.DataFrame
      DataFrame with HETATM, ATOM, and/or ANISOU entries
  df2 : pandas.DataFrame
      Second DataFrame for RMSD computation against df1. Must have the
      same number of entries as df1
  heavy_only : bool (default: True)
      Which atoms to compare to compute the RMSD. If `True` (default),
      computes the RMSD between non-hydrogen atoms only.
  
  Returns
  ---------
  rmsd : float
      Root Mean Square Deviation between df1 and df2
docstr_tok: ["Compute","the","Root","Mean","Square","Deviation","between","molecules","Parameters","--","--","--","--","--","df1",":","pandas.DataFrame","DataFrame","with","HETATM",",","ATOM",",","and\/or","ANISOU","entries","df2",":","pandas.DataFrame","Second","DataFrame","for","RMSD","computation","against","df1",".","Must","have","the","same","number","of","entries","as","df1","heavy_only",":","bool","(","default",":","True",")","Which","atoms","to","compare","to","compute","the","RMSD",".","If","`","True","`","(","default",")",",","computes","the","RMSD","between","non-hydrogen","atoms","only",".","Returns","--","--","--","--","-","rmsd",":","float","Root","Mean","Square","Deviation","between","df1","and","df2"]
code: def rmsd(df1, df2, heavy_only=True):
      """Compute the Root Mean Square Deviation between molecules
  
      Parameters
      ----------
      df1 : pandas.DataFrame
          DataFrame with HETATM, ATOM, and/or ANISOU entries
      df2 : pandas.DataFrame
          Second DataFrame for RMSD computation against df1. Must have the
          same number of entries as df1
      heavy_only : bool (default: True)
          Which atoms to compare to compute the RMSD. If `True` (default),
          computes the RMSD between non-hydrogen atoms only.
  
      Returns
      ---------
      rmsd : float
          Root Mean Square Deviation between df1 and df2
  
      """
      if df1.shape[0] != df2.shape[0]:
          raise AttributeError("DataFrames have unequal lengths")
  
      if heavy_only:
          d1 = df1[df1["atom_type"] != "H"]
          d2 = df2[df2["atom_type"] != "H"]
      else:
          d1, d2 = df1, df2
  
      total = (
          (d1["x"].values - d2["x"].values) ** 2
          + (d1["y"].values - d2["y"].values) ** 2
          + (d1["z"].values - d2["z"].values) ** 2
      )
      rmsd = round((total.sum() / df1.shape[0]) ** 0.5, 4)
      return rmsd
  
file_path: biopandas/biopandas/mol2/pandas_mol2.py
imports: import pandas
  import numpy
  from .mol2_io import split_multimol2
label_desc: Use image node_id 10 for calling the PandasMol2 obj's underlying member method code with example usage: obj.rmsd(df1, df2, heavy_only) and returns: rmsd