class_docstr: GraphTopology for DAG models
    
docstr: Parameters
  ----------
  n_atom_feat: int, optional
    Number of features per atom.
  max_atoms: int, optional
    Maximum number of atoms in a molecule, should be defined based on dataset
docstr_tok: ["Parameters","--","--","--","--","--","n_atom_feat",":","int",",","optional","Number","of","features","per","atom",".","max_atoms",":","int",",","optional","Maximum","number","of","atoms","in","a","molecule",",","should","be","defined","based","on","dataset"]
code: def __init__(self, n_atom_feat=75, max_atoms=50, name="topology"):
      """
      Parameters
      ----------
      n_atom_feat: int, optional
        Number of features per atom.
      max_atoms: int, optional
        Maximum number of atoms in a molecule, should be defined based on dataset
      """
      warnings.warn(
          "DAGGraphTopology is deprecated. "
          "Will be removed in DeepChem 1.4.",
          DeprecationWarning,
      )
      self.n_atom_feat = n_atom_feat
      self.max_atoms = max_atoms
      self.name = name
      self.atom_features_placeholder = tf.placeholder(
          dtype="float32",
          shape=(None, self.n_atom_feat),
          name=self.name + "_atom_features",
      )
  
      self.parents_placeholder = tf.placeholder(
          dtype="int32",
          shape=(None, self.max_atoms, self.max_atoms),
          # molecule * atom(graph) => step => features
          name=self.name + "_parents",
      )
  
      self.calculation_orders_placeholder = tf.placeholder(
          dtype="int32",
          shape=(None, self.max_atoms),
          # molecule * atom(graph) => step
          name=self.name + "_orders",
      )
  
      self.calculation_masks_placeholder = tf.placeholder(
          dtype="bool",
          shape=(None, self.max_atoms),
          # molecule * atom(graph) => step
          name=self.name + "_masks",
      )
  
      self.membership_placeholder = tf.placeholder(
          dtype="int32", shape=(None,), name=self.name + "_membership"
      )
  
      self.n_atoms_placeholder = tf.placeholder(
          dtype="int32", shape=(), name=self.name + "_n_atoms"
      )
  
      # Define the list of tensors to be used as topology
      self.topology = [
          self.parents_placeholder,
          self.calculation_orders_placeholder,
          self.calculation_masks_placeholder,
          self.membership_placeholder,
          self.n_atoms_placeholder,
      ]
  
      self.inputs = [self.atom_features_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 DAGGraphTopology object from inherited base classes: GraphTopology with example: obj = DAGGraphTopology(n_atom_feat, max_atoms, name)