Pangenomes#

class panorama.pangenomes.Pangenomes#

Bases: object

A collection of pangenome objects.

__init__()#

Initialize an empty collection of pangenomes.

__iter__()#

Iterate over the pangenomes in the collection.

Return type:

Generator[Pangenome, None, None]

__len__()#

Get the number of pangenomes in the collection.

add(pangenome)#

Add a pangenome object to the collection.

Parameters:

pangenome (Pangenome) – The pangenome object to add.

add_cluster(cluster)#

Add a cluster of similar gene families between pangenomes

Parameters:

cluster (Akin) – A set of akin gene families

Raises:

KeyError – If there is already an Akin object with this ID

Return type:

None

add_cluster_systems(cluster_systems)#

Add a set of conserved spots between pangenomes

Parameters:

cluster_systems (ClusterSystems) – Conserved spots object

Raises:

KeyError – if cluster_systems identifier already exist in pangenomes.

add_conserved_spots(conserved_spots)#

Add a conserved spots between pangenomes

Parameters:

conserved_spots (ConservedSpots) – Conserved spots object

Raises:

KeyError – if conserved_spots identifier already exist in pangenomes.

property cluster_systems: Generator[ClusterSystems, None, None]#

Generator of conserved spots between pangenomes

Yields:

ConservedSpots – a set of spots conserved between pangenomes

property conserved_spots: Generator[ConservedSpots, None, None]#

Generator of conserved spots between pangenomes

Yields:

ConservedSpots – a set of spots conserved between pangenomes

get(name)#

Retrieve a pangenome object from the collection by its name.

Parameters:

name (str) – The name of the pangenome to retrieve.

Returns:

Pangenome – The pangenome object with the specified name.

get_cluster_systems(cs_id)#

Get a cluster systems by its ID

Parameters:

cs_id (str) – Cluster systems ID

Raises:

KeyError – if conserved_spots identifier does not exist in pangenomes.

get_conserved_spots(cs_id)#

Get a conserved spots by its ID

Parameters:

cs_id (int) – Conserved spots ID

Raises:

KeyError – if conserved_spots does not exist in pangenomes.

get_family(name, check_duplicate_names=True)#

Get a family in the pangenomes

Parameters:
  • name (str) – name of the gene family

  • check_duplicate_names (bool) – Flag to raise an error if duplicate family names between pangenomes.

Returns:

The gene family with the given name

Return type:

GeneFamily

items()#

Generator of pangenome name as key and pangenome object as value

Return type:

Generator[Tuple[str, Pangenome], None, None]

mk_families_to_pangenome(check_duplicate_names=True)#

Fill the families2pangenome dictionary to know from which pangenome the family belongs to

Parameters:

check_duplicate_names (bool) – Flag to return an error if families name is duplicated between pangenome.

Raises:

KeyError – If there is a duplicate family names

property number_of_cluster_systems: int#

Get the number of conserved spots

Returns:

Number of conserved spots

property number_of_conserved_spots: int#

Get the number of conserved spots

Returns:

Number of conserved spots

read_clustering(clustering, disable_bar=False)#

Read clustering result from panorama

Parameters:
  • clustering (Union[Path, DataFrame]) – Clustering result

  • disable_bar (bool) – Flag to disable progress bar (default: False)

to_list()#

Convert the collection to a list of pangenomes.

Returns:

List[Pangenome] – A list of pangenome objects.

Return type:

List[Pangenome]

to_set()#

Convert the collection to a set of pangenomes.

Returns:

Set[Pangenome] – A set of pangenome objects.

Return type:

Set[Pangenome]