class_docstr: SequentialGraph for Weave models
    
class_docstr_tok: ["SequentialGraph","for","Weave","models"]
docstr: Adds a new layer to model.
code: def add(self, layer):
      """Adds a new layer to model."""
      with self.graph.as_default():
          if type(layer).__name__ in ["WeaveLayer"]:
              self.output, self.output_P = layer(
                  [self.output, self.output_P]
                  + self.graph_topology.get_topology_placeholders()
              )
          elif type(layer).__name__ in ["WeaveConcat"]:
              self.output = layer(
                  [
                      self.output,
                      self.graph_topology.atom_mask_placeholder,
                  ]
              )
          elif type(layer).__name__ in ["WeaveGather"]:
              self.output = layer(
                  [
                      self.output,
                      self.graph_topology.membership_placeholder,
                  ]
              )
          else:
              self.output = layer(self.output)
          self.layers.append(layer)
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import unicode_literals
  import warnings
  import tensorflow
  from deepchem.nn.layers import GraphGather
  from deepchem.models.tf_new_models.graph_topology import GraphTopology, DTNNGraphTopology, DAGGraphTopology, WeaveGraphTopology, AlternateWeaveGraphTopology
label_desc: Use image node_id 2 for calling the SequentialWeaveGraph obj's underlying member method code with example usage: obj.add(layer) without return types