Skip to content

Commit

Permalink
use chrom_count
Browse files Browse the repository at this point in the history
  • Loading branch information
tanghaibao committed Jan 23, 2025
1 parent 7b03188 commit 8994158
Showing 1 changed file with 13 additions and 8 deletions.
21 changes: 13 additions & 8 deletions src/jcvi/projects/sugarcane.py
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,9 @@ def mate_2nplusn_FDR(self, name: str, other_genome: "Genome", verbose: bool = Tr
f"Crossing '{self.name}' x '{other_genome.name}' (2n+n_FDR)",
file=sys.stderr,
)
f1_chromosomes = sorted(self.gamete_fdr + other_genome.gamete.chromosomes)
f1_chromosomes = sorted(
self.gamete_fdr.chromosomes + other_genome.gamete.chromosomes
)
return Genome.make(name, f1_chromosomes)

def mate_2nplusn_SDR(self, name: str, other_genome: "Genome", verbose: bool = True):
Expand All @@ -266,13 +268,15 @@ def mate_2nplusn_SDR(self, name: str, other_genome: "Genome", verbose: bool = Tr
f"Crossing '{self.name}' x '{other_genome.name}' (2n+n_SDR)",
file=sys.stderr,
)
f1_chromosomes = sorted(self.gamete_sdr + other_genome.gamete.chromosomes)
f1_chromosomes = sorted(
self.gamete_sdr.chromosomes + other_genome.gamete.chromosomes
)
return Genome.make(name, f1_chromosomes)

@property
def summary(self) -> List[Tuple[str, int, int, int]]:
ans = []
total_count = 0
total_chrom_count = 0
total_so_size = 0
total_ss_size = 0

Expand All @@ -283,23 +287,24 @@ def summary(self) -> List[Tuple[str, int, int, int]]:
chromosomes = list(chromosomes)
uniq_genes = set(flatten(x.genes for x in chromosomes))
group_count = len(uniq_genes)
group_chrom_count = group_count / len(chromosomes[0])
group_so_size = group_count if subgenome == "SO" else 0
group_ss_size = group_count if subgenome == "SS" else 0
ans.append(
(
subgenome,
group_count / len(chromosomes[0]),
group_chrom_count,
group_so_size / SO_GENE_COUNT,
group_ss_size / SS_GENE_COUNT,
)
)
total_count += group_count
total_chrom_count += group_chrom_count
total_so_size += group_so_size
total_ss_size += group_ss_size
ans.append(
(
"Total",
total_count,
total_chrom_count,
total_so_size / SO_GENE_COUNT,
total_ss_size / SS_GENE_COUNT,
)
Expand All @@ -308,9 +313,9 @@ def summary(self) -> List[Tuple[str, int, int, int]]:

def print_summary(self):
print("[SUMMARY]")
for group, group_count, group_so_size, group_ss_size in self.summary:
for group, group_chrom_count, group_so_size, group_ss_size in self.summary:
print(
f"{group}: count={group_count}, SO={group_so_size}, SS={group_ss_size}"
f"{group}: chrom_count={group_chrom_count}, SO={group_so_size}, SS={group_ss_size}"
)


Expand Down

0 comments on commit 8994158

Please sign in to comment.