code: def _build_pos_and_neg_contribs(self):
      if (
          self.nonlinear_mxts_mode
          == NonlinearMxtsMode.DeepLIFT_GenomicsDefault
      ):
          preceding_linear_layer = self.get_inputs()
          while type(preceding_linear_layer).__name__ in [
              "BatchNormalization",
              "NoOp",
          ]:
              preceding_linear_layer = (
                  preceding_linear_layer.get_inputs()
              )
          if self.verbose:
              print(
                  "For layer "
                  + str(self.get_name())
                  + " the preceding linear"
                  " layer is "
                  + str(preceding_linear_layer.get_name())
                  + " of"
                  " type " + type(preceding_linear_layer).__name__ + ";"
              )
          if "Conv" in type(preceding_linear_layer).__name__:
              if self.verbose:
                  print(
                      "In accordance with nonlinear_mxts_mode="
                      + self.nonlinear_mxts_mode
                      + " we are setting the NonlinearMxtsMode to "
                      + NonlinearMxtsMode.Rescale
                  )
              self.nonlinear_mxts_mode = NonlinearMxtsMode.Rescale
          elif type(preceding_linear_layer).__name__ == "Dense":
              if self.verbose:
                  print(
                      "In accordance with nonlinear_mxts_mode"
                      + self.nonlinear_mxts_mode
                      + " we are setting the NonlinearMxtsMode to "
                      + NonlinearMxtsMode.RevealCancel
                  )
              self.nonlinear_mxts_mode = NonlinearMxtsMode.RevealCancel
          else:
              raise RuntimeError(
                  "Unsure how to resolve "
                  + self.nonlinear_mxts_mode
                  + " when the"
                  " preceding linear layer is of type"
                  " " + type(preceding_linear_layer).__name__
              )
      if self.nonlinear_mxts_mode == NonlinearMxtsMode.RevealCancel:
          (
              input_pos_contribs,
              input_neg_contribs,
          ) = self._get_input_pos_and_neg_contribs()
          input_pos_contribs = hf.pseudocount_near_zero(
              input_pos_contribs
          )
          input_neg_contribs = hf.pseudocount_near_zero(
              input_neg_contribs
          )
          input_ref = self._get_input_reference_vars()
          pos_contribs = 0.5 * (
              (
                  self._build_activation_vars(
                      input_ref + input_pos_contribs
                  )
                  - self._build_activation_vars(input_ref)
              )
              + (
                  self._build_activation_vars(
                      input_ref
                      + input_neg_contribs
                      + input_pos_contribs
                  )
                  - self._build_activation_vars(
                      input_ref + input_neg_contribs
                  )
              )
          )
          neg_contribs = 0.5 * (
              (
                  self._build_activation_vars(
                      input_ref + input_neg_contribs
                  )
                  - self._build_activation_vars(input_ref)
              )
              + (
                  self._build_activation_vars(
                      input_ref
                      + input_pos_contribs
                      + input_neg_contribs
                  )
                  - self._build_activation_vars(
                      input_ref + input_pos_contribs
                  )
              )
          )
          return (pos_contribs, neg_contribs)
      else:
          scale_factor = self._get_naive_rescale_factor()
          (
              input_pos_contribs,
              input_neg_contribs,
          ) = self._get_input_pos_and_neg_contribs()
          return (
              input_pos_contribs * scale_factor,
              input_neg_contribs * scale_factor,
          )
  
imports: from __future__ import division
  from __future__ import print_function
  from __future__ import absolute_import
  from .core import SingleInputMixin, OneDimOutputMixin, Node, ScoringMode, NonlinearMxtsMode
  import tensorflow
  from deeplift.util import NEAR_ZERO_THRESHOLD
  from deeplift.layers import helper_functions
label_desc: Use image node_id 7 for calling the Activation obj's underlying member method code with example usage: obj._build_pos_and_neg_contribs() and returns: pos_contribs,  neg_contribs, unknown,  unknown