nodes: 0, module; 1, function_definition; 2, function_name:read_transforms_from_config; 3, parameters; 4, block; 5, identifier:cp; 6, default_parameter; 7, expression_statement; 8, expression_statement; 9, for_statement; 10, return_statement; 11, identifier:section; 12, string:"transforms"; 13, comment:"""Returns a list of PyCBC transform instances for a section in the
      given configuration file.
  
      If the transforms are nested (i.e., the output of one transform is the
      input of another), the returned list will be sorted by the order of the
      nests.
  
      Parameters
      ----------
      cp : WorflowConfigParser
          An open config file to read.
      section : {"transforms", string}
          Prefix on section names from which to retrieve the transforms.
  
      Returns
      -------
      list
          A list of the parsed transforms.
      """; 14, assignment; 15, identifier:subsection; 16, call; 17, block; 18, call; 19, identifier:trans; 20, list; 21, attribute; 22, argument_list; 23, expression_statement; 24, expression_statement; 25, expression_statement; 26, identifier:order_transforms; 27, argument_list; 28, identifier:cp; 29, identifier:get_subsections; 30, identifier:section; 31, assignment; 32, assignment; 33, call; 34, identifier:trans; 35, identifier:name; 36, call; 37, identifier:t; 38, call; 39, attribute; 40, argument_list; 41, attribute; 42, argument_list; 43, attribute; 44, argument_list; 45, identifier:trans; 46, identifier:append; 47, identifier:t; 48, identifier:cp; 49, identifier:get_opt_tag; 50, identifier:section; 51, string:"name"; 52, identifier:subsection; 53, subscript; 54, identifier:from_config; 55, identifier:cp; 56, identifier:section; 57, identifier:subsection; 58, identifier:transforms; 59, identifier:name
code: def read_transforms_from_config(cp, section="transforms"):
      """Returns a list of PyCBC transform instances for a section in the
      given configuration file.
  
      If the transforms are nested (i.e., the output of one transform is the
      input of another), the returned list will be sorted by the order of the
      nests.
  
      Parameters
      ----------
      cp : WorflowConfigParser
          An open config file to read.
      section : {"transforms", string}
          Prefix on section names from which to retrieve the transforms.
  
      Returns
      -------
      list
          A list of the parsed transforms.
      """
      trans = []
      for subsection in cp.get_subsections(section):
          name = cp.get_opt_tag(section, "name", subsection)
          t = transforms[name].from_config(cp, section, subsection)
          trans.append(t)
      return order_transforms(trans)