code: def simulate_motif_density_localization(
      motif_name,
      seq_length,
      center_size,
      min_motif_counts,
      max_motif_counts,
      num_pos,
      num_neg,
      GC_fraction,
  ):
      """
      Simulates two classes of seqeuences:
          - Positive class sequences with multiple motif instances
            in center of the sequence.
          - Negative class sequences with multiple motif instances
            anywhere in the sequence.
      The number of motif instances is uniformly sampled
      between minimum and maximum motif counts.
  
      Parameters
      ----------
      motif_name : str
          encode motif name
      seq_length : int
          length of sequence
      center_size : int
          length of central part of the sequence where motifs can be positioned
      min_motif_counts : int
          minimum number of motif instances
      max_motif_counts : int
          maximum number of motif instances
      num_pos : int
          number of positive class sequences
      num_neg : int
          number of negative class sequences
      GC_fraction : float
          GC fraction in background sequence
  
      Returns
      -------
      sequence_arr : 1darray
          Contains sequence strings.
      y : 1darray
          Contains labels.
      embedding_arr: 1darray
          Array of embedding objects.
      """
      (
          localized_density_sequence_array,
          positive_embedding_arr,
      ) = motif_density(
          motif_name,
          seq_length,
          num_pos,
          min_motif_counts,
          max_motif_counts,
          GC_fraction,
          center_size,
      )
      (
          unlocalized_density_sequence_array,
          negative_embedding_arr,
      ) = motif_density(
          motif_name,
          seq_length,
          num_neg,
          min_motif_counts,
          max_motif_counts,
          GC_fraction,
      )
      sequence_arr = np.concatenate(
          (
              localized_density_sequence_array,
              unlocalized_density_sequence_array,
          )
      )
      y = np.array([[True]] * num_pos + [[False]] * num_neg)
      embedding_arr = positive_embedding_arr + negative_embedding_arr
      return sequence_arr, y, embedding_arr
  
file_path: deepchem/contrib/dragonn/simulations.py
imports: from __future__ import absolute_import, division, print_function
  from collections import OrderedDict
  import numpy
  import simdna
  from simdna.synthetic import RepeatedEmbedder, SubstringEmbedder, ReverseComplementWrapper, UniformPositionGenerator, InsideCentralBp, LoadedEncodeMotifs, PwmSamplerFromLoadedMotifs, UniformIntegerGenerator, ZeroOrderBackgroundGenerator, EmbedInABackground, GenerateSequenceNTimes, RandomSubsetOfEmbedders, IsInTraceLabelGenerator, EmbeddableEmbedder, PairEmbeddableGenerator
  from simdna.util import DiscreteDistribution
label_desc: Use image node_id 6 for calling a global function with example usage: simulate_motif_density_localization(motif_name, seq_length, center_size, min_motif_counts, max_motif_counts, num_pos, num_neg, GC_fraction) and returns: sequence_arr,  y,  embedding_arr