class_docstr: Repository in order to extract suitable operations by keys
  for pipelines during graph composition. Defines 2 keys:
  `primary` and `secondary` for distinguishing operations suitable
  for, respectively, primary and secondary nodes.
  
  Designed to work in cooperation with
  :py:class:`fedot.core.optimisers.opt_node_factory.OptNodeFactory`
  
  Args:
     operations_by_keys: available operations already splitted by keys
class_docstr_tok: ["Repository","in","order","to","extract","suitable","operations","by","keys","for","pipelines","during","graph","composition",".","Defines","2","keys",":","`","primary","`","and","`","secondary","`","for","distinguishing","operations","suitable","for",",","respectively",",","primary","and","secondary","nodes",".","Designed","to","work","in","cooperation","with",":","py",":","class",":","`","fedot.core.optimisers.opt_node_factory.OptNodeFactory","`","Args",":","operations_by_keys",":","available","operations","already","splitted","by","keys"]
docstr: Initialize repository from available operations, task and preset 
docstr_tok: ["Initialize","repository","from","available","operations",",","task","and","preset"]
code: def from_available_operations(
      self, task: Task, preset: str, available_operations: List[str]
  ):
      """Initialize repository from available operations, task and preset"""
      operations_by_task_preset = OperationsPreset(
          task, preset
      ).filter_operations_by_preset()
      all_operations = sorted(
          list(
              set.intersection(
                  set(operations_by_task_preset),
                  set(available_operations),
              )
          )
      )
      primary_operations, secondary_operations = self.divide_operations(
          all_operations, task
      )
      self.operations_by_keys = {
          "primary": primary_operations,
          "secondary": secondary_operations,
      }
  
file_path: FEDOT/fedot/core/repository/pipeline_operation_repository.py
imports: import itertools
  from typing import List, Optional, Dict
  from fedot.api.api_utils.presets import OperationsPreset
  from fedot.core.repository.graph_operation_repository import GraphOperationRepository
  from fedot.core.repository.operation_types_repository import get_operations_for_task
  from fedot.core.repository.tasks import Task, TaskTypesEnum
label_desc: Use image node_id 2 for calling the PipelineOperationRepository obj's underlying member method code with example usage: obj.from_available_operations(task, preset, available_operations) without return types