TANCON 2026, HosurE-Poster Guidelines The poster must be submitted in PDF format only. Single slide/page only. Format: Landscape – 16:9 ratio. Animations and videos are not allowed.

Asking for Preferences
Reading File
Running Command

mkdir -p /tmp/workspace/tancon2026-poster && ls /tmp/workspace/

We are pleased to inform you that your E-Poster presentation has been scheduled as follows: E-Poster Title: Genotype-Guided Insights: In Silico Variant Prioritization and Levodopa Response Correlation in Early-Onset Parkinson?s Disease Date of Presentation: 29-08-2026 Time of Presentation: 13:15:00 E-Poster System No.: 1 E-Poster Upload Link: https://marundeshwara.com/eposter/l/?c=NNSASP57 E-Poster Guidelines The poster must be submitted in PDF format only. Single slide/page only. Format: Landscape – 16:9 ratio. Animations and videos are not allowed. Kindly upload your final E-Poster through the above link before the stipulated deadline and be available at the E-Poster area at your scheduled presentation time. We look forward to your participation at TANCON 2026, Hosur.

Reading File
Running Command

python3 -c " from docx import Document doc = Document('/tmp/workspace/attachments/2753b921-58b2-4b7d-85ff-acbd3a620619/TANCON2026_Abstract_PD_GenomeToPhenome_Platform TITLED.docx') for p in doc.paragraphs: style = p.style.name if p.style else 'None' if p.text.strip(): print(f'[{style}] {p.text}') "

Writing File

~/tancon2026-poster/build_poster.py

from reportlab.lib.pagesizes import landscape
from reportlab.lib import colors
from reportlab.lib.units import mm, inch
from reportlab.platypus import Paragraph, Table, TableStyle
from reportlab.lib.styles import ParagraphStyle
from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY
from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
import math

# ── Page setup: 16:9 landscape (1920×1080 points scaled to A3-ish)
W = 420 * mm   # ~1190 pt  (16 units)
H = 236.25 * mm  # ~669 pt   ( 9 units)
PAGE = (W, H)

# ── Colour palette (neurology / deep science)
NAVY     = colors.HexColor("#0A1628")   # header / footer bg
TEAL     = colors.HexColor("#00B4C6")   # accent / headings
LTBLUE   = colors.HexColor("#E8F6F8")   # card backgrounds
MIDBLUE  = colors.HexColor("#1A3A5C")   # column headers
WHITE    = colors.white
GREY     = colors.HexColor("#F2F4F6")
DGREY    = colors.HexColor("#4A4A4A")
GOLD     = colors.HexColor("#F5A623")   # highlight accent

def draw_poster(filename):
    c = canvas.Canvas(filename, pagesize=PAGE)
    c.setTitle("TANCON 2026 – Genotype-Guided Insights – E-Poster")

    # ══════════════════════════════════════════════
    # BACKGROUND
    # ══════════════════════════════════════════════
    c.setFillColor(WHITE)
    c.rect(0, 0, W, H, fill=1, stroke=0)

    # Subtle diagonal stripe texture (light)
    c.saveState()
    c.setFillColor(colors.HexColor("#EAF4F6"))
    c.rect(0, 0, W, H, fill=1, stroke=0)
    c.restoreState()

    # ══════════════════════════════════════════════
    # HEADER BAR
    # ══════════════════════════════════════════════
    hdr_h = H * 0.145
    # Navy base
    c.setFillColor(NAVY)
    c.rect(0, H - hdr_h, W, hdr_h, fill=1, stroke=0)
    # Teal accent strip at very top
    c.setFillColor(TEAL)
    c.rect(0, H - 4*mm, W, 4*mm, fill=1, stroke=0)

    # Conference tag line (left)
    c.setFillColor(TEAL)
    c.setFont("Helvetica-Bold", 7.5)
    c.drawString(10*mm, H - hdr_h + 26*mm, "TANCON 2026  |  14th Annual Conference of Tamil Nadu & Pondicherry Association of Neurologists")
    c.setFillColor(WHITE)
    c.setFont("Helvetica", 6.5)
    c.drawString(10*mm, H - hdr_h + 22.2*mm, '"Mind Matters: Bridging Neurology & Modern Therapeutics"   |   August 28–30, 2026  |  Hotel Hills, Hosur')

    # Poster title (centred in header, wrapped manually)
    title1 = "Genotype-Guided Insights: In Silico Variant Prioritization"
    title2 = "and Levodopa Response Correlation in Early-Onset Parkinson's Disease"
    c.setFillColor(WHITE)
    c.setFont("Helvetica-Bold", 14.5)
    c.drawCentredString(W/2, H - hdr_h + 16.5*mm, title1)
    c.setFont("Helvetica-Bold", 14.5)
    c.drawCentredString(W/2, H - hdr_h + 11*mm, title2)

    # Authors
    c.setFillColor(GOLD)
    c.setFont("Helvetica-Bold", 7.5)
    authors = "Rajasekhar Naidu Y¹   Vijayashankar P²   Anitha Saminathan²   Indhumathi Nagarathinam³"
    c.drawCentredString(W/2, H - hdr_h + 6.2*mm, authors)

    # Affiliations
    c.setFillColor(colors.HexColor("#B0C8D8"))
    c.setFont("Helvetica", 6)
    aff = ("¹Dept. of Neurology, Apollo Hospital, Chennai   "
           "²Dept. of Medical Genetics, Apollo Hospital, Chennai   "
           "³Dept. of Human Genetics, Sri Ramachandra Institute of Higher Education and Research, Chennai")
    c.drawCentredString(W/2, H - hdr_h + 2*mm, aff)

    # E-Poster badge (top-right)
    badge_x = W - 38*mm
    badge_y = H - hdr_h + 18*mm
    c.setFillColor(TEAL)
    c.roundRect(badge_x, badge_y, 34*mm, 11*mm, 2*mm, fill=1, stroke=0)
    c.setFillColor(NAVY)
    c.setFont("Helvetica-Bold", 8)
    c.drawCentredString(badge_x + 17*mm, badge_y + 3.8*mm, "E-POSTER  #1")

    # ══════════════════════════════════════════════
    # BODY LAYOUT  – 5 columns
    # ══════════════════════════════════════════════
    margin_x   = 7*mm
    margin_y   = 7*mm
    footer_h   = 10*mm
    body_top   = H - hdr_h - 3*mm
    body_bot   = footer_h + margin_y
    body_h     = body_top - body_bot
    body_w     = W - 2*margin_x
    gap        = 4*mm
    n_cols     = 5
    col_w      = (body_w - (n_cols-1)*gap) / n_cols

    col_x = [margin_x + i*(col_w + gap) for i in range(n_cols)]

    # ── helper: draw a card ──────────────────────────────
    def card(x, y, w, h, bg=LTBLUE, radius=3):
        c.setFillColor(bg)
        c.setStrokeColor(colors.HexColor("#CADDE8"))
        c.setLineWidth(0.6)
        c.roundRect(x, y, w, h, radius, fill=1, stroke=1)

    # ── helper: section heading ──────────────────────────
    def sec_head(x, y, w, text, bg=MIDBLUE):
        c.setFillColor(bg)
        c.roundRect(x, y, w, 8.5*mm, 2*mm, fill=1, stroke=0)
        c.setFillColor(WHITE)
        c.setFont("Helvetica-Bold", 8.5)
        c.drawCentredString(x + w/2, y + 2.5*mm, text)

    # ── helper: body text paragraph ─────────────────────
    def body_text(c_obj, x, y, w, h, text, fs=6.8, leading=9.5, color=DGREY, align="justify"):
        from reportlab.platypus import Paragraph
        from reportlab.lib.styles import ParagraphStyle
        from reportlab.lib.enums import TA_JUSTIFY, TA_LEFT
        style = ParagraphStyle(
            'body',
            fontName='Helvetica',
            fontSize=fs,
            leading=leading,
            textColor=color,
            alignment=TA_JUSTIFY if align=="justify" else TA_LEFT,
            spaceAfter=2,
        )
        p = Paragraph(text, style)
        p.wrap(w, h)
        p.drawOn(c_obj, x, y + h - p.wrapOn(None, w, h)[1])

    def draw_text_block(x, top, w, lines, fs=6.8, leading=9.6, pad=2.5*mm):
        """Draw wrapped text lines inside area, return y after last line."""
        from reportlab.platypus import Paragraph
        from reportlab.lib.styles import ParagraphStyle
        from reportlab.lib.enums import TA_JUSTIFY
        style = ParagraphStyle('b', fontName='Helvetica', fontSize=fs,
                               leading=leading, textColor=DGREY, alignment=TA_JUSTIFY)
        y_cur = top - pad
        for txt in lines:
            p = Paragraph(txt, style)
            pw, ph = p.wrapOn(c, w - 2*pad, 999)
            y_cur -= ph
            p.drawOn(c, x + pad, y_cur)
            y_cur -= 1.5
        return y_cur

    def draw_bold_line(x, y, label, value, fs=6.8, w=None):
        c.setFont("Helvetica-Bold", fs)
        c.setFillColor(MIDBLUE)
        lw = c.stringWidth(label, "Helvetica-Bold", fs)
        c.drawString(x, y, label)
        c.setFont("Helvetica", fs)
        c.setFillColor(DGREY)
        c.drawString(x + lw + 1.5, y, value)

    # ══════════════════════════════════════════════
    # COL 0 – BACKGROUND & AIMS
    # ══════════════════════════════════════════════
    card(col_x[0], body_bot, col_w, body_h)
    sec_head(col_x[0], body_bot + body_h - 8.5*mm, col_w, "BACKGROUND & AIMS")

    bg_lines = [
        ("Parkinson's disease (PD) is a progressive neurodegenerative disorder with "
         "considerable clinical and genetic heterogeneity."),
        ("Whole-exome sequencing (WES) has identified numerous PD-associated variants; "
         "many remain as <b>variants of uncertain significance (VUS)</b>, limiting clinical interpretation."),
        ("This study evaluated the pathogenic potential of missense VUS using an "
         "<b>integrated in silico framework</b> and explored genotype–phenotype correlations, "
         "including levodopa responsiveness."),
    ]

    # Aim box
    aim_y = body_bot + body_h - 8.5*mm - 3*mm
    for txt in bg_lines:
        from reportlab.platypus import Paragraph
        from reportlab.lib.styles import ParagraphStyle
        from reportlab.lib.enums import TA_JUSTIFY
        style = ParagraphStyle('b', fontName='Helvetica', fontSize=6.8, leading=9.6,
                               textColor=DGREY, alignment=TA_JUSTIFY)
        p = Paragraph(txt, style)
        pw, ph = p.wrapOn(c, col_w - 5*mm, 999)
        aim_y -= (ph + 2)
        p.drawOn(c, col_x[0] + 2.5*mm, aim_y)

    # "Study Aim" highlight box
    aim_y -= 4*mm
    c.setFillColor(colors.HexColor("#D0EEF4"))
    c.setStrokeColor(TEAL)
    c.setLineWidth(1.2)
    aim_box_h = 20*mm
    c.roundRect(col_x[0] + 2.5*mm, aim_y - aim_box_h, col_w - 5*mm, aim_box_h, 2*mm, fill=1, stroke=1)
    c.setFillColor(TEAL)
    c.setFont("Helvetica-Bold", 7)
    c.drawString(col_x[0] + 4*mm, aim_y - 4.5*mm, "▶  STUDY AIM")
    aim_txt = ("To prioritize missense VUS in PD-associated genes using convergent "
               "in silico tools and correlate findings with clinical phenotype and "
               "levodopa responsiveness.")
    from reportlab.platypus import Paragraph
    from reportlab.lib.styles import ParagraphStyle
    from reportlab.lib.enums import TA_JUSTIFY
    style = ParagraphStyle('b', fontName='Helvetica', fontSize=6.8, leading=9.2,
                           textColor=DGREY, alignment=TA_JUSTIFY)
    p = Paragraph(aim_txt, style)
    pw, ph = p.wrapOn(c, col_w - 8*mm, 999)
    p.drawOn(c, col_x[0] + 4*mm, aim_y - aim_box_h + 3*mm)

    # PD diagram circles
    circle_y = body_bot + 28*mm
    circle_cx = col_x[0] + col_w/2
    topics = ["Clinical\nHeterogeneity", "Genetic\nVUS", "Levodopa\nResponse"]
    colors_c = [colors.HexColor("#00B4C6"), colors.HexColor("#1A3A5C"), colors.HexColor("#F5A623")]
    for i, (topic, col_c) in enumerate(zip(topics, colors_c)):
        cx = col_x[0] + (i+1)*(col_w/4)
        cy = circle_y
        c.setFillColor(col_c)
        c.circle(cx, cy, 7.5*mm, fill=1, stroke=0)
        c.setFillColor(WHITE)
        c.setFont("Helvetica-Bold", 5.5)
        lines_t = topic.split("\n")
        for li, lt in enumerate(lines_t):
            c.drawCentredString(cx, cy + 1.5*mm - li*5, lt)

    # label under circles
    c.setFillColor(DGREY)
    c.setFont("Helvetica", 5.8)
    c.drawCentredString(circle_cx, circle_y - 11*mm, "Key Research Dimensions")

    # ══════════════════════════════════════════════
    # COL 1 – METHODOLOGY
    # ══════════════════════════════════════════════
    card(col_x[1], body_bot, col_w, body_h)
    sec_head(col_x[1], body_bot + body_h - 8.5*mm, col_w, "METHODOLOGY")

    # Study design flow
    flow_steps = [
        ("WES", "50 clinically diagnosed PD patients"),
        ("VUS Identification", "24 missense VUS · 17 patients · 12 genes"),
        ("In Silico Tools", "Pathogenicity · Structural modeling\nStability · Functional annotation"),
        ("Prioritization", "High / Moderate / Low priority tiers"),
        ("Molecular Docking", "FDA-approved anti-Parkinsonian drugs"),
        ("Genotype–Phenotype", "Age of onset · Motor & non-motor\nCognition · Levodopa response"),
    ]

    flow_top = body_bot + body_h - 11*mm
    step_h   = (body_h - 12*mm) / len(flow_steps) - 1.5*mm
    arr_x    = col_x[1] + col_w/2

    for i, (step, desc) in enumerate(flow_steps):
        sy = flow_top - i * (step_h + 2.2*mm) - step_h
        # alternating bg
        bg_f = colors.HexColor("#D4EEF6") if i % 2 == 0 else colors.HexColor("#EAF5F9")
        c.setFillColor(bg_f)
        c.setStrokeColor(TEAL)
        c.setLineWidth(0.7)
        c.roundRect(col_x[1] + 2*mm, sy, col_w - 4*mm, step_h, 2*mm, fill=1, stroke=1)
        # step number bubble
        c.setFillColor(TEAL)
        c.circle(col_x[1] + 6*mm, sy + step_h/2, 3.2*mm, fill=1, stroke=0)
        c.setFillColor(WHITE)
        c.setFont("Helvetica-Bold", 6.5)
        c.drawCentredString(col_x[1] + 6*mm, sy + step_h/2 - 2, str(i+1))
        # step title
        c.setFillColor(MIDBLUE)
        c.setFont("Helvetica-Bold", 7)
        c.drawString(col_x[1] + 11*mm, sy + step_h - 5*mm, step)
        # desc
        from reportlab.platypus import Paragraph
        from reportlab.lib.styles import ParagraphStyle
        style = ParagraphStyle('b', fontName='Helvetica', fontSize=6, leading=7.8,
                               textColor=DGREY)
        p = Paragraph(desc.replace("\n", "<br/>"), style)
        pw, ph = p.wrapOn(c, col_w - 16*mm, 999)
        p.drawOn(c, col_x[1] + 11*mm, sy + 1.5*mm)
        # arrow down (not last)
        if i < len(flow_steps) - 1:
            c.setFillColor(TEAL)
            ay = sy - 2.2*mm
            c.setFont("Helvetica-Bold", 8)
            c.drawCentredString(arr_x, ay - 1*mm, "↓")

    # ══════════════════════════════════════════════
    # COL 2 – RESULTS
    # ══════════════════════════════════════════════
    card(col_x[2], body_bot, col_w, body_h)
    sec_head(col_x[2], body_bot + body_h - 8.5*mm, col_w, "RESULTS")

    # Priority tier donut-style bar
    tiers = [
        ("HIGH", 5,  "#E74C3C"),
        ("MOD",  8,  "#F5A623"),
        ("LOW",  11, "#27AE60"),
    ]
    total_var = 24
    bar_top = body_bot + body_h - 12*mm
    bar_x   = col_x[2] + 2.5*mm
    bar_w   = col_w - 5*mm
    bar_h   = 8*mm

    # label
    c.setFillColor(MIDBLUE)
    c.setFont("Helvetica-Bold", 7)
    c.drawString(bar_x, bar_top - 5.5*mm, "Variant Prioritization  (n=24 VUS)")

    bx = bar_x
    for label, n, col_hex in tiers:
        seg_w = bar_w * n / total_var
        c.setFillColor(colors.HexColor(col_hex))
        c.rect(bx, bar_top - 14*mm, seg_w, bar_h, fill=1, stroke=0)
        c.setFillColor(WHITE)
        c.setFont("Helvetica-Bold", 7)
        c.drawCentredString(bx + seg_w/2, bar_top - 10.5*mm, f"{label}\nn={n}")
        bx += seg_w

    # Gap line
    gl_y = bar_top - 16.5*mm
    c.setStrokeColor(colors.HexColor("#CADDE8"))
    c.setLineWidth(0.5)
    c.line(col_x[2] + 2.5*mm, gl_y, col_x[2] + col_w - 2.5*mm, gl_y)

    # High-priority variants table
    c.setFillColor(MIDBLUE)
    c.setFont("Helvetica-Bold", 7)
    c.drawString(col_x[2] + 2.5*mm, gl_y - 5*mm, "High-Priority Variants")

    hp_data = [
        ["Gene", "Effect", "Impact"],
        ["DNAJC6", "p.Arg927Trp", "Structural destabilization"],
        ["LRRK2",  "p.Gly2019Ser", "Kinase hyperactivation"],
        ["PLXNA4", "p.Arg1068Gln", "Axon guidance disruption"],
        ["DCTN1",  "p.Thr1249Met", "Dynactin complex impairment"],
        ["LRRK2",  "p.Arg1441Cys", "GTPase domain alteration"],
    ]

    from reportlab.platypus import Table, TableStyle
    tbl_style = TableStyle([
        ('BACKGROUND',   (0,0), (-1,0),  MIDBLUE),
        ('TEXTCOLOR',    (0,0), (-1,0),  WHITE),
        ('FONTNAME',     (0,0), (-1,0),  'Helvetica-Bold'),
        ('FONTSIZE',     (0,0), (-1,-1), 6),
        ('FONTNAME',     (0,1), (-1,-1), 'Helvetica'),
        ('BACKGROUND',   (0,1), (-1,-1), colors.HexColor("#EAF5F9")),
        ('ROWBACKGROUNDS',(0,1),(-1,-1), [colors.HexColor("#EAF5F9"), WHITE]),
        ('TEXTCOLOR',    (0,1), (-1,-1), DGREY),
        ('ALIGN',        (0,0), (-1,-1), 'CENTER'),
        ('VALIGN',       (0,0), (-1,-1), 'MIDDLE'),
        ('GRID',         (0,0), (-1,-1), 0.4, colors.HexColor("#CADDE8")),
        ('ROWBACKGROUNDS',(0,1),(-1,-1),[colors.HexColor("#D4EEF6"), WHITE]),
    ])
    col_widths = [col_w*0.22, col_w*0.26, col_w*0.52]
    row_h = 6.2*mm
    tbl = Table(hp_data, colWidths=col_widths, rowHeights=[row_h]*len(hp_data))
    tbl.setStyle(tbl_style)
    tbl_w, tbl_h = tbl.wrapOn(c, col_w - 5*mm, 999)
    tbl.drawOn(c, col_x[2] + 2.5*mm, gl_y - 6*mm - tbl_h)

    # Phenotype findings
    phen_y = gl_y - 7*mm - tbl_h - 5*mm
    c.setStrokeColor(colors.HexColor("#CADDE8"))
    c.line(col_x[2] + 2.5*mm, phen_y + 2*mm, col_x[2] + col_w - 2.5*mm, phen_y + 2*mm)
    c.setFillColor(MIDBLUE)
    c.setFont("Helvetica-Bold", 7)
    c.drawString(col_x[2] + 2.5*mm, phen_y - 4*mm, "Clinical Phenotype Correlations")

    phen_bullets = [
        ("Earlier disease onset", "#E74C3C"),
        ("Greater phenotypic heterogeneity", "#F5A623"),
        ("Increased non-motor burden", "#8E44AD"),
        ("Variable levodopa responsiveness", "#27AE60"),
    ]
    py = phen_y - 6.5*mm
    for txt, col_hex in phen_bullets:
        c.setFillColor(colors.HexColor(col_hex))
        c.circle(col_x[2] + 5*mm, py + 1.5*mm, 2.2*mm, fill=1, stroke=0)
        c.setFillColor(DGREY)
        c.setFont("Helvetica", 6.5)
        c.drawString(col_x[2] + 9*mm, py, txt)
        py -= 7.5*mm

    # ══════════════════════════════════════════════
    # COL 3 – DISCUSSION
    # ══════════════════════════════════════════════
    card(col_x[3], body_bot, col_w, body_h)
    sec_head(col_x[3], body_bot + body_h - 8.5*mm, col_w, "DISCUSSION")

    disc_paras = [
        ("This integrated in silico approach—combining pathogenicity prediction, "
         "structural modeling, stability assessment, and functional annotation—"
         "effectively prioritized potentially pathogenic VUS in PD-associated genes."),
        ("Variants in <b>DNAJC6, LRRK2, PLXNA4,</b> and <b>DCTN1</b> demonstrated "
         "high pathogenic potential with evidence of structural destabilization "
         "and functional disruption."),
        ("Carriers of high-priority variants showed clinically relevant associations: "
         "earlier age of onset, richer non-motor profiles, and divergent levodopa "
         "response patterns—suggesting genotype-driven phenotypic divergence."),
        ("Molecular docking results indicate that specific variants may alter "
         "drug-binding affinity to FDA-approved anti-Parkinsonian agents, supporting "
         "genotype-guided therapeutic stratification."),
        ("The convergent multi-tool framework addresses a critical gap in VUS "
         "interpretation, offering a reproducible strategy for clinical genomics in PD."),
    ]

    disc_y = body_bot + body_h - 11*mm
    for txt in disc_paras:
        from reportlab.platypus import Paragraph
        from reportlab.lib.styles import ParagraphStyle
        from reportlab.lib.enums import TA_JUSTIFY
        style = ParagraphStyle('d', fontName='Helvetica', fontSize=6.8, leading=9.5,
                               textColor=DGREY, alignment=TA_JUSTIFY)
        p = Paragraph(txt, style)
        pw, ph = p.wrapOn(c, col_w - 5*mm, 999)
        disc_y -= ph + 3
        p.drawOn(c, col_x[3] + 2.5*mm, disc_y)

    # Key insight box
    disc_y -= 5*mm
    ki_h = 22*mm
    c.setFillColor(colors.HexColor("#FFF8E7"))
    c.setStrokeColor(GOLD)
    c.setLineWidth(1.5)
    c.roundRect(col_x[3] + 2.5*mm, disc_y - ki_h, col_w - 5*mm, ki_h, 2*mm, fill=1, stroke=1)
    c.setFillColor(GOLD)
    c.setFont("Helvetica-Bold", 7)
    c.drawString(col_x[3] + 4.5*mm, disc_y - 5*mm, "★  KEY INSIGHT")
    ki_txt = ("Specific missense VUS, when evaluated through convergent in silico evidence, "
              "reveal clinically actionable genotype–phenotype relationships that could "
              "inform precision medicine approaches in PD management.")
    from reportlab.platypus import Paragraph
    from reportlab.lib.styles import ParagraphStyle
    from reportlab.lib.enums import TA_JUSTIFY
    style = ParagraphStyle('k', fontName='Helvetica', fontSize=6.6, leading=9,
                           textColor=DGREY, alignment=TA_JUSTIFY)
    p = Paragraph(ki_txt, style)
    pw, ph = p.wrapOn(c, col_w - 8*mm, 999)
    p.drawOn(c, col_x[3] + 4*mm, disc_y - ki_h + 2*mm)

    # ══════════════════════════════════════════════
    # COL 4 – CONCLUSION + KEYWORDS + QR placeholder
    # ══════════════════════════════════════════════
    card(col_x[4], body_bot, col_w, body_h)
    sec_head(col_x[4], body_bot + body_h - 8.5*mm, col_w, "CONCLUSION")

    conc_txt = ("This study demonstrates the utility of an integrated in silico framework "
                "for resolving the pathogenic potential of missense VUS in Parkinson's disease. "
                "The approach enables prioritization of clinically relevant variants and provides "
                "insights into their potential impact on disease presentation and treatment response. "
                "Genotype-guided stratification may improve precision in therapeutic planning for "
                "early-onset PD patients harbouring prioritized variants.")

    from reportlab.platypus import Paragraph
    from reportlab.lib.styles import ParagraphStyle
    from reportlab.lib.enums import TA_JUSTIFY
    style = ParagraphStyle('c', fontName='Helvetica', fontSize=6.9, leading=9.6,
                           textColor=DGREY, alignment=TA_JUSTIFY)
    p = Paragraph(conc_txt, style)
    pw, ph = p.wrapOn(c, col_w - 5*mm, 999)
    conc_top = body_bot + body_h - 11*mm - ph - 2
    p.drawOn(c, col_x[4] + 2.5*mm, conc_top)

    # Take-home message box
    thm_y = conc_top - 6*mm
    thm_h = 20*mm
    c.setFillColor(colors.HexColor("#E8F6F8"))
    c.setStrokeColor(TEAL)
    c.setLineWidth(1.2)
    c.roundRect(col_x[4] + 2.5*mm, thm_y - thm_h, col_w - 5*mm, thm_h, 2*mm, fill=1, stroke=1)
    c.setFillColor(TEAL)
    c.setFont("Helvetica-Bold", 7)
    c.drawString(col_x[4] + 4.5*mm, thm_y - 5.5*mm, "◆  TAKE-HOME MESSAGE")
    thm_txt = ("In silico variant prioritization bridges the gap between genomic "
               "uncertainty and clinical actionability in early-onset PD.")
    style2 = ParagraphStyle('t', fontName='Helvetica-BoldOblique', fontSize=7, leading=9.5,
                            textColor=MIDBLUE, alignment=TA_JUSTIFY)
    p2 = Paragraph(thm_txt, style2)
    pw2, ph2 = p2.wrapOn(c, col_w - 8*mm, 999)
    p2.drawOn(c, col_x[4] + 4*mm, thm_y - thm_h + 2*mm)

    # Keywords
    kw_y = thm_y - thm_h - 5*mm
    c.setFillColor(MIDBLUE)
    c.setFont("Helvetica-Bold", 7)
    c.drawString(col_x[4] + 2.5*mm, kw_y, "Keywords")
    kw_list = ["Parkinson's disease", "Variants of uncertain significance",
               "Whole-exome sequencing", "In silico analysis",
               "Molecular docking", "Genotype–phenotype correlation"]
    kw_y -= 3*mm
    for kw in kw_list:
        kw_y -= 6.5*mm
        c.setFillColor(TEAL)
        c.roundRect(col_x[4] + 2.5*mm, kw_y - 1*mm, col_w - 5*mm, 5.8*mm, 1.5*mm, fill=1, stroke=0)
        c.setFillColor(WHITE)
        c.setFont("Helvetica", 6)
        c.drawString(col_x[4] + 4.5*mm, kw_y + 1*mm, kw)

    # Presentation details box at bottom of col 4
    pdet_h = 17*mm
    pdet_y = body_bot + 1*mm
    c.setFillColor(NAVY)
    c.roundRect(col_x[4] + 2.5*mm, pdet_y, col_w - 5*mm, pdet_h, 2*mm, fill=1, stroke=0)
    c.setFillColor(TEAL)
    c.setFont("Helvetica-Bold", 7)
    c.drawString(col_x[4] + 4.5*mm, pdet_y + pdet_h - 5*mm, "Presentation Details")
    details = [
        ("Date:", "29 August 2026"),
        ("Time:", "13:15"),
        ("Poster No.:", "#1"),
    ]
    dy = pdet_y + pdet_h - 10.5*mm
    for lbl, val in details:
        c.setFillColor(GOLD)
        c.setFont("Helvetica-Bold", 6.5)
        lw = c.stringWidth(lbl, "Helvetica-Bold", 6.5)
        c.drawString(col_x[4] + 4.5*mm, dy, lbl)
        c.setFillColor(WHITE)
        c.setFont("Helvetica", 6.5)
        c.drawString(col_x[4] + 4.5*mm + lw + 2, dy, val)
        dy -= 5.5*mm

    # ══════════════════════════════════════════════
    # FOOTER
    # ══════════════════════════════════════════════
    c.setFillColor(NAVY)
    c.rect(0, 0, W, footer_h, fill=1, stroke=0)
    c.setFillColor(TEAL)
    c.rect(0, footer_h, W, 0.8*mm, fill=1, stroke=0)
    c.setFillColor(WHITE)
    c.setFont("Helvetica", 6)
    c.drawString(10*mm, 3.2*mm, "TANCON 2026 | E-Poster #1 | 29 Aug 2026 · 13:15")
    c.setFont("Helvetica", 6)
    c.drawCentredString(W/2, 3.2*mm,
        "Correspondence: Dept. of Neurology, Apollo Hospital, Chennai")
    c.setFillColor(colors.HexColor("#888888"))
    c.drawRightString(W - 10*mm, 3.2*mm, "ORIGINAL RESEARCH  |  Platform Presentation")

    c.save()
    print("Poster saved!")

draw_poster("/tmp/workspace/tancon2026-poster/TANCON2026_Eposter_Rajasekhar.pdf")
Running Command

cd /tmp/workspace/tancon2026-poster && python3 build_poster.py 2>&1

Running Command

ls -lh /tmp/workspace/tancon2026-poster/TANCON2026_Eposter_Rajasekhar.pdf

Running Command

python3 -c " from pypdf import PdfReader r = PdfReader('/tmp/workspace/tancon2026-poster/TANCON2026_Eposter_Rajasekhar.pdf') p = r.pages[0] w = float(p.mediabox.width) h = float(p.mediabox.height) print(f'Pages: {len(r.pages)}') print(f'Width: {w:.1f} pt ({w/2.8346:.1f} mm)') print(f'Height: {h:.1f} pt ({h/2.8346:.1f} mm)') print(f'Ratio: {w/h:.4f} (16/9 = {16/9:.4f})') "

Your TANCON 2026 e-poster is ready for download:

TANCON2026 Eposter Rajasekhar

PDF Document · PDF


What's in the poster:
Format compliance:
  • Single page, PDF
  • Exact 16:9 landscape (420 × 236.25 mm, ratio 1.7778)
  • No animations or videos
Design layout - 5 columns:
ColumnContent
1 - Background & AimsPD context, study aim highlight box, 3 research dimension circles
2 - Methodology6-step numbered flow chart (WES → VUS → In Silico → Prioritization → Docking → Genotype-Phenotype)
3 - ResultsStacked bar (5 High / 8 Moderate / 11 Low), high-priority gene table (DNAJC6, LRRK2, PLXNA4, DCTN1), phenotype bullet points
4 - DiscussionNarrative paragraphs + gold "Key Insight" box
5 - ConclusionFull conclusion text, teal "Take-Home Message" box, keywords chips, Presentation Details badge (29 Aug 2026 · 13:15 · #1)
Colour scheme: Navy/teal/gold - clean professional neurology/genomics theme, fully print-ready at high resolution.

EVERYTHING SEEMS OK BUT MINIMISE THE tancon venue details ,poster number and presentation time, make the font more visible

Reading File
Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.
This is a shared conversation. Sign in to Orris to start your own chat.