class_docstr: Manages placeholders associated with batch of graphs and their topology
docstr: Parameters
  ----------
  n_distance: int, optional
    granularity of distance matrix
    step size will be (distance_max-distance_min)/n_distance
  distance_min: float, optional
    minimum distance of atom pairs, default = -1 Angstorm
  distance_max: float, optional
    maximum distance of atom pairs, default = 18 Angstorm
docstr_tok: ["Parameters","--","--","--","--","--","n_distance",":","int",",","optional","granularity","of","distance","matrix","step","size","will","be","(","distance_max-distance_min",")","\/n_distance","distance_min",":","float",",","optional","minimum","distance","of","atom","pairs",",","default","=","-1","Angstorm","distance_max",":","float",",","optional","maximum","distance","of","atom","pairs",",","default","=","18","Angstorm"]
code: def __init__(
      self,
      n_distance=100,
      distance_min=-1.0,
      distance_max=18.0,
      name="DTNN_topology",
  ):
      """
      Parameters
      ----------
      n_distance: int, optional
        granularity of distance matrix
        step size will be (distance_max-distance_min)/n_distance
      distance_min: float, optional
        minimum distance of atom pairs, default = -1 Angstorm
      distance_max: float, optional
        maximum distance of atom pairs, default = 18 Angstorm
      """
      warnings.warn(
          "DTNNGraphTopology is deprecated. "
          "Will be removed in DeepChem 1.4.",
          DeprecationWarning,
      )
  
      self.name = name
      self.n_distance = n_distance
      self.distance_min = distance_min
      self.distance_max = distance_max
      self.step_size = (distance_max - distance_min) / n_distance
      self.steps = np.array(
          [distance_min + i * self.step_size for i in range(n_distance)]
      )
      self.steps = np.expand_dims(self.steps, 0)
  
      self.atom_number_placeholder = tf.placeholder(
          dtype="int32", shape=(None,), name=self.name + "_atom_number"
      )
      self.distance_placeholder = tf.placeholder(
          dtype="float32",
          shape=(None, self.n_distance),
          name=self.name + "_distance",
      )
      self.atom_membership_placeholder = tf.placeholder(
          dtype="int32",
          shape=(None,),
          name=self.name + "_atom_membership",
      )
      self.distance_membership_i_placeholder = tf.placeholder(
          dtype="int32",
          shape=(None,),
          name=self.name + "_distance_membership_i",
      )
      self.distance_membership_j_placeholder = tf.placeholder(
          dtype="int32",
          shape=(None,),
          name=self.name + "_distance_membership_j",
      )
  
      # Define the list of tensors to be used as topology
      self.topology = [
          self.distance_placeholder,
          self.atom_membership_placeholder,
          self.distance_membership_i_placeholder,
          self.distance_membership_j_placeholder,
      ]
      self.inputs = [self.atom_number_placeholder]
      self.inputs += self.topology
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import unicode_literals
  import warnings
  import numpy
  import tensorflow
  from deepchem.nn.copy import Input
  from deepchem.feat.mol_graphs import ConvMol
label_desc: Use image node_id 1 to create a new DTNNGraphTopology object from inherited base classes: GraphTopology with example: obj = DTNNGraphTopology(n_distance, distance_min, distance_max, name)