Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -674,8 +674,8 @@ def create_simple_genome_diagram(gene_results: List[Dict[str, Any]], genome_leng
|
|
674 |
font = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", 12)
|
675 |
title_font = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", 16)
|
676 |
except:
|
677 |
-
font =
|
678 |
-
title_font =
|
679 |
|
680 |
# Draw title
|
681 |
draw.text((margin, margin // 2), "Genome SHAP Analysis",
|
@@ -696,7 +696,6 @@ def create_simple_genome_diagram(gene_results: List[Dict[str, Any]], genome_leng
|
|
696 |
step = genome_length // num_ticks
|
697 |
|
698 |
# Draw scale markers
|
699 |
-
# Use min(genome_length, step * num_ticks) in range to avoid overshooting
|
700 |
for i in range(0, genome_length + 1, step):
|
701 |
x_coord = margin + i * scale
|
702 |
draw.line([
|
@@ -730,7 +729,8 @@ def create_simple_genome_diagram(gene_results: List[Dict[str, Any]], genome_leng
|
|
730 |
|
731 |
# Prepare gene name label
|
732 |
label = f"{gene['gene_name']}"
|
733 |
-
|
|
|
734 |
|
735 |
# Alternate label positions above/below
|
736 |
if idx % 2 == 0:
|
@@ -750,7 +750,6 @@ def create_simple_genome_diagram(gene_results: List[Dict[str, Any]], genome_leng
|
|
750 |
txt_draw = ImageDraw.Draw(txt_img)
|
751 |
txt_draw.text((0, 0), label, font=font, fill='black')
|
752 |
rotated_img = txt_img.rotate(90, expand=True)
|
753 |
-
# Paste at (start_x, text_y) casted to int
|
754 |
img.paste(rotated_img, (int(start_x), int(text_y)), rotated_img)
|
755 |
|
756 |
# Draw legend
|
|
|
674 |
font = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", 12)
|
675 |
title_font = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", 16)
|
676 |
except:
|
677 |
+
font = ImageFont.load_default()
|
678 |
+
title_font = ImageFont.load_default()
|
679 |
|
680 |
# Draw title
|
681 |
draw.text((margin, margin // 2), "Genome SHAP Analysis",
|
|
|
696 |
step = genome_length // num_ticks
|
697 |
|
698 |
# Draw scale markers
|
|
|
699 |
for i in range(0, genome_length + 1, step):
|
700 |
x_coord = margin + i * scale
|
701 |
draw.line([
|
|
|
729 |
|
730 |
# Prepare gene name label
|
731 |
label = f"{gene['gene_name']}"
|
732 |
+
# Use font.getsize to get text dimensions
|
733 |
+
label_width, label_height = font.getsize(label)
|
734 |
|
735 |
# Alternate label positions above/below
|
736 |
if idx % 2 == 0:
|
|
|
750 |
txt_draw = ImageDraw.Draw(txt_img)
|
751 |
txt_draw.text((0, 0), label, font=font, fill='black')
|
752 |
rotated_img = txt_img.rotate(90, expand=True)
|
|
|
753 |
img.paste(rotated_img, (int(start_x), int(text_y)), rotated_img)
|
754 |
|
755 |
# Draw legend
|