attachment
attachment

ye meri zip file ha is me sary tables and figures add kro chpter four me me chapter file b share krti kuch kam howa us me

Reading File
Running Command

cd /home/daytona/workspace/attachments/483f0957-92dd-499a-8fac-0807119fbe9f && l…

Reading File
Running Command

# Extract ZIP and explore contents cd /home/daytona/workspace/attachments/483f0…

Running Command

unzip -o /home/daytona/workspace/attachments/483f0957-92dd-499a-8fac-0807119fbe9…

Running Command

python3 -c "import zipfile; z = zipfile.ZipFile('/home/daytona/workspace/attachm…

Running Command

python3 -c " import zipfile z = zipfile.ZipFile('/home/daytona/workspace/attachm…

Running Command

# Read chapter 4 content using pandoc pandoc "/home/daytona/workspace/attachmen…

Running Command

# Extract all files from ZIP using Python python3 << 'EOF' import zipfile, os …

Running Command

python3 << 'EOF' import zipfile, os zip_path = '/home/daytona/workspace/attachm…

Running Command

# Extract only figures (PNGs) which are what we need for the doc python3 << 'EOF…

Running Command

ls -la /home/daytona/workspace/AKI_Analysis/01_Figures/Descriptive/ 2>/dev/null …

Running Command

ls /home/daytona/workspace/AKI_Analysis/01_Figures/Descriptive/ | grep -v ".png"…

Running Command

# Extract comparative PNGs and remaining missing descriptive PNGs python3 << 'E…

Running Command

# Read all CSV tables to understand their content python3 << 'EOF' import csv, …

Running Command

pandoc "/home/daytona/workspace/attachments/483f0957-92dd-499a-8fac-0807119fbe9f…

Running Command

pandoc "/home/daytona/workspace/attachments/483f0957-92dd-499a-8fac-0807119fbe9f…

again bnao

Running Command

ls /home/daytona/workspace/AKI_Analysis/01_Figures/Descriptive/ && ls /home/dayt…

Writing File

~/AKI_Analysis/build_chapter4.py

#!/usr/bin/env python3
"""
Build updated Chapter 4 docx:
- Copy the existing chapter 4 docx as base
- Append all missing descriptive figures (Q14 onwards) + tables
- Append all comparative analysis tables and figures
"""

import copy
import csv
import os
import shutil
from docx import Document
from docx.shared import Inches, Pt, RGBColor, Cm
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.table import WD_TABLE_ALIGNMENT, WD_ALIGN_VERTICAL
from docx.oxml.ns import qn
from docx.oxml import OxmlElement

BASE_DIR = "/home/daytona/workspace/AKI_Analysis"
FIG_DESC = BASE_DIR + "/01_Figures/Descriptive"
FIG_COMP = BASE_DIR + "/01_Figures/Comparative"
TABLES = BASE_DIR + "/02_Tables"
SRC_DOCX = "/home/daytona/workspace/attachments/483f0957-92dd-499a-8fac-0807119fbe9f/correct chapter 4.docx"
OUT_DOCX = "/home/daytona/workspace/AKI_Analysis/Chapter4_Complete.docx"

# Copy source
shutil.copy2(SRC_DOCX, OUT_DOCX)
doc = Document(OUT_DOCX)

# ---- Helper functions ----

def set_cell_bg(cell, hex_color):
    tc = cell._tc
    tcPr = tc.get_or_add_tcPr()
    shd = OxmlElement('w:shd')
    shd.set(qn('w:val'), 'clear')
    shd.set(qn('w:color'), 'auto')
    shd.set(qn('w:fill'), hex_color)
    tcPr.append(shd)

def add_bold_cell(cell, text, font_size=10, bold=True, center=False, bg=None):
    cell.text = ""
    p = cell.paragraphs[0]
    if center:
        p.alignment = WD_ALIGN_PARAGRAPH.CENTER
    run = p.add_run(text)
    run.bold = bold
    run.font.size = Pt(font_size)
    if bg:
        set_cell_bg(cell, bg)

def add_table_from_csv(doc, csv_path, title_label, note_text=None, skip_header_rows=0):
    """Read a CSV and insert as a formatted Word table."""
    rows = []
    with open(csv_path, newline='', encoding='utf-8-sig') as f:
        reader = csv.reader(f)
        for row in reader:
            rows.append(row)
    if not rows:
        return

    # Filter out empty trailing rows
    rows = [r for r in rows if any(c.strip() for c in r)]
    if not rows:
        return

    num_cols = max(len(r) for r in rows)
    # Pad rows
    rows = [r + [''] * (num_cols - len(r)) for r in rows]

    # Table label paragraph
    p = doc.add_paragraph()
    p.alignment = WD_ALIGN_PARAGRAPH.LEFT
    run = p.add_run(title_label)
    run.bold = True
    run.font.size = Pt(11)

    table = doc.add_table(rows=len(rows), cols=num_cols)
    table.style = 'Table Grid'
    table.alignment = WD_TABLE_ALIGNMENT.CENTER

    for i, row_data in enumerate(rows):
        row_obj = table.rows[i]
        for j, cell_text in enumerate(row_data):
            cell = row_obj.cells[j]
            is_header = (i == 0)
            add_bold_cell(
                cell, cell_text.strip(),
                font_size=9,
                bold=is_header,
                center=(j > 0),
                bg='D9E1F2' if is_header else None
            )

    if note_text:
        np = doc.add_paragraph()
        nr = np.add_run("Note. " + note_text)
        nr.italic = True
        nr.font.size = Pt(9)

    doc.add_paragraph()  # spacing


def add_figure(doc, img_path, fig_label, note_text=None, width_inches=5.5):
    """Insert a figure image with label and optional note."""
    if not os.path.exists(img_path):
        p = doc.add_paragraph(f"[Figure not found: {img_path}]")
        return
    p_img = doc.add_paragraph()
    p_img.alignment = WD_ALIGN_PARAGRAPH.CENTER
    run = p_img.add_run()
    run.add_picture(img_path, width=Inches(width_inches))

    p_label = doc.add_paragraph()
    p_label.alignment = WD_ALIGN_PARAGRAPH.CENTER
    r = p_label.add_run(fig_label)
    r.bold = True
    r.font.size = Pt(11)

    if note_text:
        pn = doc.add_paragraph()
        pn.alignment = WD_ALIGN_PARAGRAPH.LEFT
        rn = pn.add_run("Note. " + note_text)
        rn.italic = True
        rn.font.size = Pt(9)

    doc.add_paragraph()  # spacing


def add_section_heading(doc, text, level=2):
    p = doc.add_paragraph()
    r = p.add_run(text)
    r.bold = True
    r.font.size = Pt(13 if level == 1 else 12)
    p.paragraph_format.space_before = Pt(12)
    p.paragraph_format.space_after = Pt(6)


def add_body_text(doc, text):
    p = doc.add_paragraph(text)
    p.paragraph_format.space_after = Pt(6)
    for run in p.runs:
        run.font.size = Pt(11)


# ===================================================
# SECTION 1: Append remaining DESCRIPTIVE figures/tables
# (the existing doc ends at Fig 4.13 - Surgical Approach)
# ===================================================

doc.add_page_break()
add_section_heading(doc, "Postoperative Renal Parameters - Descriptive Analysis", level=1)

# --- Creatinine 24h ---
add_section_heading(doc, "Serum Creatinine at 24 Hours Postoperative")
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q14_Creatinine_24h_ByGroup.csv",
    "Table 4.3 Serum Creatinine at 24h by Group",
    note_text="Values represent mean ± SD. Groups compared using Mann-Whitney U test."
)
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q14_Creatinine_24h_DescStats.csv",
    "Table 4.4 Descriptive Statistics: Serum Creatinine at 24h"
)
add_figure(
    doc,
    FIG_DESC + "/DESC_Q14_Creatinine_24h_Histogram.png",
    "Figure 4.14 Serum Creatinine Distribution at 24 Hours Postoperative (N = 150)",
    note_text="Histogram shows distribution of serum creatinine at 24 hours by surgical group. The Minimally Invasive group demonstrates lower creatinine levels compared to the Conventional Sternotomy group.",
    width_inches=5.8
)

# --- Creatinine 48h ---
add_section_heading(doc, "Serum Creatinine at 48 Hours Postoperative")
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q15_Creatinine_48h_ByGroup.csv",
    "Table 4.5 Serum Creatinine at 48h by Group",
    note_text="Values represent mean ± SD."
)
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q15_Creatinine_48h_DescStats.csv",
    "Table 4.6 Descriptive Statistics: Serum Creatinine at 48h"
)
add_figure(
    doc,
    FIG_DESC + "/DESC_Q15_Creatinine_48h_Histogram.png",
    "Figure 4.15 Serum Creatinine Distribution at 48 Hours Postoperative (N = 150)",
    note_text="Histogram illustrates serum creatinine at 48 hours postoperatively. The Conventional Sternotomy group shows a wider distribution with higher values, reflecting greater renal stress.",
    width_inches=5.8
)

# --- Creatinine 72h ---
add_section_heading(doc, "Serum Creatinine at 72 Hours Postoperative")
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q16_Creatinine_72h_ByGroup.csv",
    "Table 4.7 Serum Creatinine at 72h by Group",
    note_text="Values represent mean ± SD."
)
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q16_Creatinine_72h_DescStats.csv",
    "Table 4.8 Descriptive Statistics: Serum Creatinine at 72h"
)
add_figure(
    doc,
    FIG_DESC + "/DESC_Q16_Creatinine_72h_Histogram.png",
    "Figure 4.16 Serum Creatinine Distribution at 72 Hours Postoperative (N = 150)",
    note_text="Serum creatinine at 72 hours by surgical group. Both groups show slight improvement from 48h levels; however, the Conventional group retains higher creatinine values overall.",
    width_inches=5.8
)

# --- Low Urine Output ---
add_section_heading(doc, "Low Urine Output")
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q17_Low_Urine_Output.csv",
    "Table 4.9 Low Urine Output by Group",
    note_text="Low urine output defined as <0.5 mL/kg/hr for >6 hours."
)
add_figure(
    doc,
    FIG_DESC + "/DESC_Q17_Low_Urine_Output.png",
    "Figure 4.17 Distribution of Low Urine Output in Study Population",
    note_text="Low urine output was present in 16% of the Minimally Invasive group and 24% of the Conventional Sternotomy group, though the difference was not statistically significant (p = 0.307).",
    width_inches=4.5
)

# --- BUN 48h ---
add_section_heading(doc, "Blood Urea Nitrogen at 48 Hours")
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q19_BUN_48h_ByGroup.csv",
    "Table 4.10 BUN at 48h by Group",
    note_text="Values represent mean ± SD."
)
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q19_BUN_48h_DescStats.csv",
    "Table 4.11 Descriptive Statistics: BUN at 48h"
)
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q19_BUN_Category.csv",
    "Table 4.12 BUN Category Distribution at 48h"
)
add_figure(
    doc,
    FIG_DESC + "/DESC_Q19_BUN_48h_Histogram.png",
    "Figure 4.18 Blood Urea Nitrogen (BUN) Distribution at 48 Hours (N = 150)",
    note_text="BUN histogram at 48 hours by group. The Conventional Sternotomy group shows higher BUN levels (mean 23.10 mg/dL) compared to the Minimally Invasive group (mean 20.21 mg/dL).",
    width_inches=5.8
)
add_figure(
    doc,
    FIG_DESC + "/DESC_Q19_BUN_Category.png",
    "Figure 4.19 BUN Category Distribution at 48 Hours",
    note_text="Categorical distribution of BUN levels at 48h. A significantly higher proportion of the Conventional group had BUN >=24 mg/dL compared to the Minimally Invasive group (p = 0.019).",
    width_inches=4.5
)

# --- Urea 48h ---
add_section_heading(doc, "Serum Urea at 48 Hours")
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q20_Urea_48h_ByGroup.csv",
    "Table 4.13 Urea at 48h by Group",
    note_text="Values represent mean ± SD."
)
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q20_Urea_48h_DescStats.csv",
    "Table 4.14 Descriptive Statistics: Urea at 48h"
)
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q20_Urea_Category.csv",
    "Table 4.15 Urea Category Distribution at 48h"
)
add_figure(
    doc,
    FIG_DESC + "/DESC_Q20_Urea_48h_Histogram.png",
    "Figure 4.20 Serum Urea Distribution at 48 Hours (N = 150)",
    note_text="Serum urea at 48 hours postoperatively. The Conventional Sternotomy group demonstrates higher urea levels (mean 49.43 mg/dL) versus the Minimally Invasive group (mean 43.25 mg/dL; p = 0.014).",
    width_inches=5.8
)
add_figure(
    doc,
    FIG_DESC + "/DESC_Q20_Urea_Category.png",
    "Figure 4.21 Urea Category Distribution at 48 Hours",
    note_text="Categorical urea distribution showing the proportion of patients in each urea range category at 48 hours postoperatively.",
    width_inches=4.5
)

# --- eGFR 48h ---
add_section_heading(doc, "Estimated GFR at 48 Hours")
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q21_eGFR_48h_ByGroup.csv",
    "Table 4.16 eGFR at 48h by Group",
    note_text="Values represent mean ± SD. eGFR = estimated glomerular filtration rate (mL/min/1.73m²)."
)
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q21_eGFR_48h_DescStats.csv",
    "Table 4.17 Descriptive Statistics: eGFR at 48h"
)
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q21_eGFR_Category.csv",
    "Table 4.18 eGFR Category Distribution at 48h"
)
add_figure(
    doc,
    FIG_DESC + "/DESC_Q21_eGFR_48h_Histogram.png",
    "Figure 4.22 eGFR Distribution at 48 Hours Postoperative (N = 150)",
    note_text="eGFR histogram at 48 hours. The Minimally Invasive group maintained significantly higher eGFR (mean 67.67 mL/min/1.73m²) compared to Conventional group (mean 48.59 mL/min/1.73m²; p < 0.001).",
    width_inches=5.8
)
add_figure(
    doc,
    FIG_DESC + "/DESC_Q21_eGFR_Category.png",
    "Figure 4.23 eGFR Category Distribution at 48 Hours",
    note_text="eGFR categories at 48 hours. A significantly larger proportion of the Conventional group had eGFR <60 mL/min/1.73m² (74.7% vs 40.0%; p < 0.001).",
    width_inches=4.5
)

# --- Early AKI ---
add_section_heading(doc, "Early Acute Kidney Injury")
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q22_Early_AKI.csv",
    "Table 4.19 Early AKI Occurrence by Group",
    note_text="AKI defined per KDIGO criteria."
)
add_figure(
    doc,
    FIG_DESC + "/DESC_Q22_Early_AKI.png",
    "Figure 4.24 Early AKI Distribution in Study Population",
    note_text="Frequency distribution of early acute kidney injury across both surgical groups.",
    width_inches=4.5
)

# --- AKI Stage ---
add_section_heading(doc, "AKI Stage Distribution")
add_table_from_csv(
    doc,
    TABLES + "/DESC_Q23_AKI_Stage.csv",
    "Table 4.20 AKI Stage Distribution by Group",
    note_text="AKI staging based on KDIGO 2012 criteria using serum creatinine and urine output."
)
add_figure(
    doc,
    FIG_DESC + "/DESC_Q23_AKI_Stage.png",
    "Figure 4.25 AKI Stage Distribution in Study Population",
    note_text="Distribution of AKI stages (No AKI, Stage 1, Stage 2, Stage 3) by surgical group. The Conventional Sternotomy group had significantly more Stage 1, 2, and 3 AKI events.",
    width_inches=4.5
)

# ===================================================
# SECTION 2: COMPARATIVE ANALYSIS
# ===================================================

doc.add_page_break()
add_section_heading(doc, "Comparative Analysis: Primary and Secondary Outcomes", level=1)

add_body_text(doc,
    "The following section presents comparative analyses between the Minimally Invasive CABG (MICS-CABG) "
    "and Conventional Median Sternotomy groups across primary and secondary renal outcome measures. "
    "Statistical comparisons were performed using appropriate parametric and non-parametric tests as determined "
    "by normality testing. A p-value of <0.05 was considered statistically significant throughout."
)

# Table 4.1 Comparative (COMP_Table1 already in doc as Table 4.1 - so label as supplementary reference)
add_section_heading(doc, "Primary Outcome: Incidence of Acute Kidney Injury")
add_table_from_csv(
    doc,
    TABLES + "/COMP_Table2_Primary_Outcome_AKI.csv",
    "Table 4.21 Primary Outcome: AKI Incidence by Surgical Group",
    note_text="AKI = Acute Kidney Injury. Chi-square test used for group comparison. "
              "The overall AKI incidence was 30.7% (n=46/150). AKI was significantly more frequent "
              "in the Conventional Sternotomy group (48.0%, n=36) compared to the Minimally Invasive group "
              "(13.3%, n=10; Chi2=19.597, p<0.001)."
)
add_figure(
    doc,
    FIG_COMP + "/COMP_Fig01_AKI_Frequency.png",
    "Figure 4.26 AKI Frequency by Surgical Group",
    note_text="Bar chart showing AKI incidence in Minimally Invasive (13.3%) vs Conventional Sternotomy (48.0%) groups. "
              "The difference was statistically significant (Chi2 = 19.597, p < 0.001).",
    width_inches=5.5
)

# AKI Stage distribution
add_section_heading(doc, "AKI Stage Distribution Between Groups")
add_table_from_csv(
    doc,
    TABLES + "/COMP_Table3_AKI_Stage_Distribution.csv",
    "Table 4.22 AKI Stage Distribution by Surgical Group",
    note_text="Chi2 = 21.533, p = 0.0001. KDIGO staging criteria applied. "
              "The Conventional Sternotomy group had significantly higher proportions of Stage 1 (30.7%), "
              "Stage 2 (9.3%), and Stage 3 (8.0%) AKI compared to the Minimally Invasive group."
)
add_figure(
    doc,
    FIG_COMP + "/COMP_Fig02_AKI_Stage.png",
    "Figure 4.27 AKI Stage Distribution by Surgical Group",
    note_text="Grouped bar chart showing distribution of AKI stages between surgical groups. "
              "The Conventional Sternotomy group shows significantly higher rates of all AKI stages.",
    width_inches=5.5
)

# Serial Renal Parameters
add_section_heading(doc, "Serial Renal Parameters: Quantitative Comparison")
add_table_from_csv(
    doc,
    TABLES + "/COMP_Table4_Serial_Renal_Parameters.csv",
    "Table 4.23 Comparison of Serial Renal Parameters Between Groups",
    note_text="M = Mean; SD = Standard Deviation. Mann-Whitney U test used for non-normally distributed variables; "
              "independent t-test for normally distributed variables. All comparisons significant at p < 0.05."
)
add_figure(
    doc,
    FIG_COMP + "/COMP_Fig03_Serial_Creatinine.png",
    "Figure 4.28 Serial Serum Creatinine Trend (24h, 48h, 72h) by Group",
    note_text="Line graph showing serial creatinine measurements at 24, 48, and 72 hours postoperatively. "
              "The Conventional Sternotomy group demonstrates consistently higher creatinine levels at all time points.",
    width_inches=5.5
)
add_figure(
    doc,
    FIG_COMP + "/COMP_Fig04_eGFR_Trend.png",
    "Figure 4.29 eGFR Trend at 48 Hours by Surgical Group",
    note_text="eGFR comparison at 48 hours postoperatively. The Minimally Invasive group maintained significantly "
              "higher eGFR (67.67 vs 48.59 mL/min/1.73m²; t(148)=4.988, p<0.001).",
    width_inches=5.5
)
add_figure(
    doc,
    FIG_COMP + "/COMP_Fig08_Creatinine_Violin.png",
    "Figure 4.30 Violin Plot: Creatinine Distribution Across Time Points by Group",
    note_text="Violin plots showing the distribution and probability density of serum creatinine "
              "at baseline, 24h, 48h, and 72h for both surgical groups.",
    width_inches=5.5
)

# Categorical Renal Parameters
add_section_heading(doc, "Secondary Outcomes: Categorical Renal Parameters")
add_table_from_csv(
    doc,
    TABLES + "/COMP_Table5_Categorical_Renal_Parameters.csv",
    "Table 4.24 Comparison of Categorical Renal Parameters Between Groups",
    note_text="Chi-square test used for all comparisons. BUN = Blood Urea Nitrogen; eGFR = estimated GFR. "
              "Significant differences observed in BUN categories (p=0.019), Urea categories (p=0.017), "
              "and eGFR categories (p<0.001). Low urine output did not differ significantly (p=0.307)."
)
add_figure(
    doc,
    FIG_COMP + "/COMP_Fig05_Urea_48h.png",
    "Figure 4.31 Urea at 48h Comparison Between Groups",
    note_text="Comparison of serum urea levels at 48 hours. The Conventional Sternotomy group had "
              "significantly higher urea levels (49.43 ± 16.51 vs 43.25 ± 13.72 mg/dL; p=0.014).",
    width_inches=5.5
)
add_figure(
    doc,
    FIG_COMP + "/COMP_Fig06_BoxPlots_48h.png",
    "Figure 4.32 Box Plots: Renal Parameters at 48 Hours by Group",
    note_text="Box plots comparing BUN, Urea, and eGFR at 48 hours postoperatively between the two surgical groups. "
              "All three parameters showed statistically significant differences.",
    width_inches=5.5
)

# Risk Factors
add_section_heading(doc, "Risk Factors for AKI Development")
add_table_from_csv(
    doc,
    TABLES + "/COMP_Table6_Risk_Factors_AKI.csv",
    "Table 4.25 Risk Factors for AKI Development",
    note_text="OR = Odds Ratio. Chi-square test or Fisher's exact test used. "
              "Low urine output was the only statistically significant risk factor for AKI development "
              "(OR = 11.0, Chi2 = 29.648, p < 0.001). Other clinical variables including diabetes, "
              "hypertension, CKD, smoking, and gender were not significant predictors."
)
add_figure(
    doc,
    FIG_COMP + "/COMP_Fig07_Risk_Factors.png",
    "Figure 4.33 Risk Factors for AKI: Odds Ratios",
    note_text="Forest-style bar chart displaying odds ratios for potential risk factors. "
              "Low urine output demonstrates the strongest association with AKI development (OR = 11.0).",
    width_inches=5.5
)

# Summary table
add_section_heading(doc, "Summary of Key Statistical Findings")
add_table_from_csv(
    doc,
    TABLES + "/COMP_Table7_Summary_Reference.csv",
    "Table 4.26 Summary of Key Statistical Findings",
    note_text="MI = Minimally Invasive CABG; Conventional = Conventional Median Sternotomy; "
              "AKI = Acute Kidney Injury. Analysis performed using IBM SPSS Statistics Version 27.0."
)

# Save document
doc.save(OUT_DOCX)
print(f"Saved: {OUT_DOCX}")
Running Command

cd /home/daytona/workspace/AKI_Analysis && python3 build_chapter4.py

Running Command

cp "/home/daytona/workspace/attachments/483f0957-92dd-499a-8fac-0807119fbe9f/cor…

Editing File

~/AKI_Analysis/build_chapter4.py

Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/AKI_Analysis/build_chapter4.py'
Running Command

cd /home/daytona/workspace/AKI_Analysis && python3 build_chapter4.py 2>&1

Editing File

~/AKI_Analysis/build_chapter4.py

Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/AKI_Analysis/build_chapter4.py'
Running Command

cd /home/daytona/workspace/AKI_Analysis && python3 build_chapter4.py 2>&1

Running Command

python3 -c " from docx import Document doc = Document('/home/daytona/workspace/A…

Editing File

~/AKI_Analysis/build_chapter4.py

Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/AKI_Analysis/build_chapter4.py'
Running Command

cd /home/daytona/workspace/AKI_Analysis && python3 build_chapter4.py 2>&1

Running Command

ls /home/daytona/workspace/AKI_Analysis/02_Tables/

Your credits are exhausted. Your daily credits reset tomorrow, or you can purchase a top-up for more.
attachment
attachment

kya ye b add krty h

Your credits are exhausted. Your daily credits reset tomorrow, or you can purchase a top-up for more.
attachment
attachment

discription do

Your credits are exhausted. Your daily credits reset tomorrow, or you can purchase a top-up for more.
This is a shared conversation. Sign in to Orris to start your own chat.