Skip to content
Snippets Groups Projects
generate_jb_frangiPANe.py 1.30 KiB
import nbformat
from nbformat.v4 import new_code_cell, new_markdown_cell
from pprint import pp
#from snakemake import snakemake
from pathlib import Path
import argparse

# Appel de la fonction pour intégrer les variables dans le notebook
#print("======================", snakemake.input.jb_file)
jb_input = snakemake.input.jb_file
jb_output = snakemake.output.jb_file

# TODO26/11 : use class snakecdysis
dico = {
    "group_file": snakemake.params.group_file,
    "ref_png" : snakemake.input.ref_png,
    "ref_csv" : snakemake.input.ref_csv,
    "fastqstat_csv" : snakemake.input.fastqstat_csv,
    "bamstat_csv" : snakemake.input.bamstat_csv,
    "bam_png" : snakemake.input.bam_png
    }

with open(jb_input, "r", encoding="utf-8") as notebook_file:
    nb = nbformat.read(notebook_file, as_version=4)

code_cell=""
##nb.cells.insert(0, new_markdown_cell(f"testtttt "))
for variable_name, variable_value in dico.items():
        code_cell += f"{variable_name} = '{variable_value}'\n"

nb.cells.insert(0, new_code_cell(code_cell))
nb.cells.append(nbformat.new_code_cell("import matplotlib.pyplot as plt"))
nb.cells.append(nbformat.new_code_cell(f"plt.imshow(plt.imread('{dico{'bam_png'}}'))"))

# Enregistrer le notebook modifié
with open(jb_output, "w", encoding="utf-8") as notebook_file:
    nbformat.write(nb, notebook_file)