class_docstr: Manages placeholders associated with batch of graphs and their topology
docstr: Parameters
  ----------
  batch_size: int
    number of molecules in a batch
  max_atoms: int, optional
    maximum number of atoms in a molecule
  n_atom_feat: int, optional
    number of basic features of each atom
  n_pair_feat: int, optional
    number of basic features of each pair
docstr_tok: ["Parameters","--","--","--","--","--","batch_size",":","int","number","of","molecules","in","a","batch","max_atoms",":","int",",","optional","maximum","number","of","atoms","in","a","molecule","n_atom_feat",":","int",",","optional","number","of","basic","features","of","each","atom","n_pair_feat",":","int",",","optional","number","of","basic","features","of","each","pair"]
code: def __init__(
      self,
      batch_size,
      max_atoms=50,
      n_atom_feat=75,
      n_pair_feat=14,
      name="Weave_topology",
  ):
      """
      Parameters
      ----------
      batch_size: int
        number of molecules in a batch
      max_atoms: int, optional
        maximum number of atoms in a molecule
      n_atom_feat: int, optional
        number of basic features of each atom
      n_pair_feat: int, optional
        number of basic features of each pair
      """
      warnings.warn(
          "AlternateWeaveGraphTopology is deprecated. "
          "Will be removed in DeepChem 1.4.",
          DeprecationWarning,
      )
  
      # self.n_atoms = n_atoms
      self.name = name
      self.batch_size = batch_size
      self.max_atoms = max_atoms * batch_size
      self.n_atom_feat = n_atom_feat
      self.n_pair_feat = n_pair_feat
  
      self.atom_features_placeholder = tf.placeholder(
          dtype="float32",
          shape=(None, self.n_atom_feat),
          name=self.name + "_atom_features",
      )
      self.pair_features_placeholder = tf.placeholder(
          dtype="float32",
          shape=(None, self.n_pair_feat),
          name=self.name + "_pair_features",
      )
      self.pair_split_placeholder = tf.placeholder(
          dtype="int32", shape=(None,), name=self.name + "_pair_split"
      )
      self.atom_split_placeholder = tf.placeholder(
          dtype="int32", shape=(None,), name=self.name + "_atom_split"
      )
      self.atom_to_pair_placeholder = tf.placeholder(
          dtype="int32",
          shape=(None, 2),
          name=self.name + "_atom_to_pair",
      )
  
      # Define the list of tensors to be used as topology
      self.topology = [
          self.pair_split_placeholder,
          self.atom_split_placeholder,
          self.atom_to_pair_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 AlternateWeaveGraphTopology object from inherited base classes: GraphTopology with example: obj = AlternateWeaveGraphTopology(batch_size, max_atoms, n_atom_feat, n_pair_feat, name)