solution
MacSyFinder find lot of potential systems for the same model, all these systems are saved in “all_systems.xxx” files. This module allow to explore among of all systems which combination seems to be more probable.
solution API reference
Solution
- class macsypy.solution.Solution(systems)[source]
Handle Solution, a solution is a set of compatible Systems
when compare solutions we check the following criteria
The number of hits
The number of systems
The average of wholeness
The hits position (is used ti give predictable output for unit tests)
- __hash__ = None
- __weakref__
list of weak references to the object (if defined)
- _sorted_systems(systems)[source]
sort the systems following the positions of th hits that composed the systems
- Parameters
systems (list of
mcsypy.system.System
objects) – the systems to sort- Returns
a sorted copy of the systems
- Return type
list of
mcsypy.system.System
objects
- property average_wholeness
The average of the systems wholeness
- property hits_number
The sum of the hits of each systems in this solution
- property hits_positions
The list of position of all hits of the solution
- property score
The score of this solution
- property systems
“a sorted list of the systems that composed the solution
combine_clusters
- macsypy.solution.combine_clusters(clusters, true_loners, multi_loci=False)[source]
generate the combinations of clusters, with loners and multi systems
- Parameters
clusters (list of
macsypy.cluster.Cluster
object) – the clusters to combinestrue_loners (dict the name of the function code by hit gene_ref.alternate_of as key and 1
macsypy.cluster.Cluster
with the best amacsypy.hit.Loner
ormacsypy.hit.LonerMultiSystem
hit as value) – the multi-systems hitsmulti_loci (bool) – True if the model is multi_loci false otherwise
- Returns
all available combination of clusters
- Return type
List of combination. a combination is a tuple of
macsypy.cluster.Cluster
objects
combine_multisystems
- macsypy.solution.combine_multisystems(rejected_candidates, multi_systems)[source]
- Parameters
rejected_candidates –
multi_systems – sequence of
macsypy.cluster.Cluster
each cluster must be composed of only onemacsypy.hit.MultiSystem
object
- Returns
list of cluster combination with teh multisystem
- Return type
[(
macsypy.cluster.Cluster
cluster1, cluster2, …), (macsypy.cluster.Cluster
cluster3, cluster4, …)]
find_best_solutions
- macsypy.solution.find_best_solutions(systems)[source]
Among the systems choose the combination of systems which does not share
macsypy.hit.CoreHit
and maximize the sum of systems scores- Parameters
systems (list of
macsypy.system.System
object) – the systems to analyse- Returns
the list of list of systems which represent one best solution and the it’s score
- Return type
tuple of 2 elements the best solution and it’s score ([[
macsypy.system.System
, …], [macsypy.system.System
, …]], float score) The inner list represent a best solution