Operators¶
Crossover¶
-
class
pym2sa.operator.crossover.HMSA(probability: float) → None¶ Bases:
jmetal.core.operator.CrossoverImplements an horizontal recombination for MSA.
-
do_crossover(parents: typing.List[pym2sa.core.solution.MSASolution]) → typing.List[pym2sa.core.solution.MSASolution]¶
-
execute(parents: typing.List[pym2sa.core.solution.MSASolution]) → typing.List[pym2sa.core.solution.MSASolution]¶
-
get_name() → str¶
-
get_number_of_parents() → int¶
-
-
class
pym2sa.operator.crossover.SPXMSA(probability: float, remove_gap_columns: bool = True) → None¶ Bases:
jmetal.core.operator.CrossoverImplements a single point crossover for MSA.
-
cross_parents(cx_point: int, parents: typing.List[pym2sa.core.solution.MSASolution], cutting_points_in_first_parent: list, column_positions_in_second_parent: list) → typing.List[pym2sa.core.solution.MSASolution]¶
-
do_crossover(parents: typing.List[pym2sa.core.solution.MSASolution]) → typing.List[pym2sa.core.solution.MSASolution]¶
-
execute(parents: typing.List[pym2sa.core.solution.MSASolution]) → typing.List[pym2sa.core.solution.MSASolution]¶
-
fill_sequences_with_gaps_to_reach_the_max_sequence_length(solution: pym2sa.core.solution.MSASolution, max_length: int, cutting_points: list)¶
-
find_cutting_points_in_first_parent(solution: pym2sa.core.solution.MSASolution, position: int) → list¶ Find the real cutting points in a solution. If the column is a gap then the next non-gap symbol must be found
-
find_length_of_the_largest_sequence(solution: pym2sa.core.solution.MSASolution)¶
-
find_original_positions_in_original_sequences(solution: pym2sa.core.solution.MSASolution, column: int) → list¶ Given a solution, find for each sequence the original positions of the symbol in the column in the original unaligned sequences
-
get_name() → str¶
-
get_number_of_parents() → int¶
-
Mutation¶
-
class
pym2sa.operator.mutation.MultipleMSAMutation(operator: typing.List[jmetal.core.operator.Mutation[S]], probability: float) → None¶ Bases:
jmetal.core.operator.Mutation-
do_mutation(solution: pym2sa.core.solution.MSASolution) → pym2sa.core.solution.MSASolution¶
-
execute(solution: pym2sa.core.solution.MSASolution) → pym2sa.core.solution.MSASolution¶
-
get_name() → str¶
-
-
class
pym2sa.operator.mutation.OneRandomGapInsertion(probability: float, remove_gap_columns: bool = False) → None¶ Bases:
jmetal.core.operator.Mutation-
do_mutation(solution: pym2sa.core.solution.MSASolution) → pym2sa.core.solution.MSASolution¶
-
execute(solution: pym2sa.core.solution.MSASolution) → pym2sa.core.solution.MSASolution¶
-
get_name() → str¶
-
-
class
pym2sa.operator.mutation.ShiftClosedGapGroups(probability: float, remove_gap_columns: bool = True) → None¶ Bases:
jmetal.core.operator.MutationFor every sequence, selects a random group and shift it with the closest gap group.
-
do_mutation(solution: pym2sa.core.solution.MSASolution) → pym2sa.core.solution.MSASolution¶
-
execute(solution: pym2sa.core.solution.MSASolution) → pym2sa.core.solution.MSASolution¶
-
get_name() → str¶
-
-
class
pym2sa.operator.mutation.ShiftGapGroup(probability: float, remove_gap_columns: bool = True) → None¶ Bases:
jmetal.core.operator.MutationSelects a gap group randomly in all the sequences of a solution and shifts it one position to the left or to the right.
-
do_mutation(solution: pym2sa.core.solution.MSASolution) → pym2sa.core.solution.MSASolution¶
-
execute(solution: pym2sa.core.solution.MSASolution) → pym2sa.core.solution.MSASolution¶
-
get_name() → str¶
-
-
class
pym2sa.operator.mutation.TwoRandomAdjacentGapGroup(probability: float, remove_gap_columns: bool = True) → None¶ Bases:
jmetal.core.operator.MutationSelects a random gap group and merges it with the adjacent gaps group.
-
do_mutation(solution: pym2sa.core.solution.MSASolution) → pym2sa.core.solution.MSASolution¶
-
execute(solution: pym2sa.core.solution.MSASolution) → pym2sa.core.solution.MSASolution¶
-
get_name() → str¶
-