diff --git a/content/.obsidian/community-plugins.json b/content/.obsidian/community-plugins.json index ebdc00e..5b0ef90 100644 --- a/content/.obsidian/community-plugins.json +++ b/content/.obsidian/community-plugins.json @@ -1,14 +1,9 @@ [ "obsidian-git", "omnisearch", - "text-extractor", "spoiler-block-obsidian", - "pretty-properties", "dataview", "emoji-shortcodes", - "obsidian42-brat", - "agent-client", - "manual-sorting", "obsidian-icon-folder", - "image-converter" + "obsidian-table-to-csv-exporter" ] \ No newline at end of file diff --git a/content/.obsidian/plugins/obsidian-table-to-csv-exporter/main.js b/content/.obsidian/plugins/obsidian-table-to-csv-exporter/main.js new file mode 100644 index 0000000..c008f26 --- /dev/null +++ b/content/.obsidian/plugins/obsidian-table-to-csv-exporter/main.js @@ -0,0 +1,224 @@ +/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source, please visit the github repository of this plugin +*/ + +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); +var __export = (target, all) => { + __markAsModule(target); + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __reExport = (target, module2, desc) => { + if (module2 && typeof module2 === "object" || typeof module2 === "function") { + for (let key of __getOwnPropNames(module2)) + if (!__hasOwnProp.call(target, key) && key !== "default") + __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable }); + } + return target; +}; +var __toModule = (module2) => { + return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2); +}; +var __async = (__this, __arguments, generator) => { + return new Promise((resolve, reject) => { + var fulfilled = (value) => { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + }; + var rejected = (value) => { + try { + step(generator.throw(value)); + } catch (e) { + reject(e); + } + }; + var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); + step((generator = generator.apply(__this, __arguments)).next()); + }); +}; + +// main.ts +__export(exports, { + default: () => Table2CSVPlugin +}); +var import_obsidian = __toModule(require("obsidian")); +var DEFAULT_SETTINGS = { + exportPath: "./", + baseFilename: "table-export", + fileNumber: "001", + sepChar: "sepChar-semicolon", + quoteDataChar: "quoteChar-noQuote", + saveToClipboardToo: false, + removeCRLF: "removeCRLF-space" +}; +var Table2CSVPlugin = class extends import_obsidian.Plugin { + onload() { + return __async(this, null, function* () { + yield this.loadSettings(); + this.addCommand({ + id: "obsidian-table-to-csv-exporter", + name: "Export table to CSV file", + checkCallback: (checking) => { + const view = this.app.workspace.getActiveViewOfType(import_obsidian.MarkdownView); + if (view) { + if (!checking) { + const viewMode = view.getMode(); + if (viewMode == "preview") { + const csvString = htmlToCSV(view.previewMode.containerEl, this.settings.sepChar, this.settings.quoteDataChar, this.settings.removeCRLF); + if (csvString.length > 0) { + const filename = `${this.settings.baseFilename}-${this.settings.fileNumber}.csv`; + this.app.vault.create(filename, csvString).then(() => { + let fn = +this.settings.fileNumber; + fn++; + if (fn == 1e3) + fn = 1; + let newFileNumberString = fn + ""; + while (newFileNumberString.length < 3) + newFileNumberString = "0" + newFileNumberString; + this.settings.fileNumber = newFileNumberString; + if (this.settings.saveToClipboardToo) { + navigator.clipboard.writeText(csvString).then(() => { + new import_obsidian.Notice(`The file ${filename} was successfully created in your vault. The contents was also copied to the clipboard.`); + }).catch((err) => { + new import_obsidian.Notice("There was an error with copying the contents to the clipboard."); + }); + } else { + new import_obsidian.Notice(`The file ${filename} was successfully created in your vault.`); + } + }).catch((error) => { + const errorMessage = `Error: ${error.message}`; + new import_obsidian.Notice(errorMessage); + }); + } else { + new import_obsidian.Notice(`No table was found. No CSV file was written.`); + } + } else { + new import_obsidian.Notice("This command only works on panes in reading mode! \u2013 No CSV files were written."); + } + } + return true; + } + return false; + } + }); + this.addSettingTab(new Table2CSVSettingTab(this.app, this)); + console.log(`Table to CSV plugin: Version ${this.manifest.version} loaded.`); + }); + } + onunload() { + } + loadSettings() { + return __async(this, null, function* () { + this.settings = Object.assign({}, DEFAULT_SETTINGS, yield this.loadData()); + }); + } + saveSettings() { + return __async(this, null, function* () { + yield this.saveData(this.settings); + }); + } +}; +function htmlToCSV(html, sepMode, quoteChar, removeCRLF) { + var data = []; + var table = html.querySelector("table"); + if (table) { + var rows = table.rows; + for (var i = 0; i < rows.length; i++) { + var row = [], cols = rows[i].querySelectorAll("td, th"); + for (var j = 0; j < cols.length; j++) { + var cellContent = cols[j].innerText; + if (removeCRLF == "removeCRLF-clear") { + cellContent = cellContent.replace(/(\r\n|\n|\r)/gm, ""); + } else if (removeCRLF == "removeCRLF-space") { + cellContent = cellContent.replace(/(\r\n|\n|\r)/gm, " "); + } else if (removeCRLF == "removeCRLF-string1") { + cellContent = cellContent.replace(/(\r\n|\n|\r)/gm, "[CR]"); + } + if (quoteChar == "quoteChar-doubleQuotes") { + cellContent = '"' + cellContent + '"'; + } else if (quoteChar == "quoteChar-singleQuotes") { + cellContent = "'" + cellContent + "'"; + } + row.push(cellContent); + } + var sepChar = ";"; + switch (sepMode) { + case "sepChar-semicolon": + sepChar = ";"; + break; + case "sepChar-comma": + sepChar = ","; + break; + case "sepChar-tab": + sepChar = " "; + break; + case "sepChar-pipe": + sepChar = "|"; + break; + case "sepChar-tilde": + sepChar = "~"; + break; + case "sepChar-caret": + sepChar = "^"; + break; + case "sepChar-colon": + sepChar = ":"; + break; + } + data.push(row.join(sepChar)); + } + } + if (data.length > 0) + return data.join("\n"); + else + return ""; +} +var Table2CSVSettingTab = class extends import_obsidian.PluginSettingTab { + constructor(app, plugin) { + super(app, plugin); + this.plugin = plugin; + } + display() { + const { containerEl } = this; + containerEl.empty(); + containerEl.createEl("h2", { text: "Settings for the Table to CSV Plugin." }); + containerEl.createEl("p", { text: "NOTE: Currently, the exported CSV files are saved inside your vault main folder." }); + new import_obsidian.Setting(containerEl).setName("CSV file base filename").setDesc('Enter the base filename. The "File Number addendum" gets added after that and finally .csv').addText((text) => text.setPlaceholder(" __async(this, null, function* () { + this.plugin.settings.baseFilename = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian.Setting(containerEl).setName("File Number addendum").setDesc("This number gets added to the base filename and incremented after each export. Normally, you shouldn't need to edit this.").addText((text) => text.setPlaceholder("").setValue(this.plugin.settings.fileNumber).onChange((value) => __async(this, null, function* () { + this.plugin.settings.fileNumber = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian.Setting(containerEl).setName("Data fields separation character/string").setDesc("This character will be put between each cell's data. Defaults to a semicolon.").addDropdown((dropdown) => dropdown.addOption("sepChar-semicolon", "; (semicolon)").addOption("sepChar-comma", ", (comma)").addOption("sepChar-tab", "\\t (tab)").addOption("sepChar-pipe", "| (pipe)").addOption("sepChar-tilde", "~ (tilde)").addOption("sepChar-caret", "^ (caret)").addOption("sepChar-colon", ": (colon)").setValue(this.plugin.settings.sepChar).onChange((value) => __async(this, null, function* () { + this.plugin.settings.sepChar = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian.Setting(containerEl).setName("Quote data").setDesc("Do you want quotation marks around each cell's data?").addDropdown((dropdown) => dropdown.addOption("quoteChar-noQuote", "Don't quote data").addOption("quoteChar-doubleQuotes", 'Quote data with double quote character (")').addOption("quoteChar-singleQuotes", "Quote data with single quote character (')").setValue(this.plugin.settings.quoteDataChar).onChange((value) => __async(this, null, function* () { + this.plugin.settings.quoteDataChar = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian.Setting(containerEl).setName("Handling of CR/LF in data").setDesc("Choose how to handle the occurance of return and linefeed characters in data cells.").addDropdown((dropdown) => dropdown.addOption("removeCRLF-clear", "Remove all CR & LF characters").addOption("removeCRLF-space", "Replace all CR & LF characters with one space").addOption("removeCRLF-string1", "Replace all CR & LF characters with string [CR]").setValue(this.plugin.settings.removeCRLF).onChange((value) => __async(this, null, function* () { + this.plugin.settings.removeCRLF = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian.Setting(containerEl).setName("Copy to clipboard, too").setDesc("Do you want to copy the contents of the CSV file to the system clipboard, too?").addToggle((toggle) => toggle.setValue(this.plugin.settings.saveToClipboardToo).onChange((value) => __async(this, null, function* () { + this.plugin.settings.saveToClipboardToo = value; + yield this.plugin.saveSettings(); + }))); + } +}; + + +/* nosourcemap */ \ No newline at end of file diff --git a/content/.obsidian/plugins/obsidian-table-to-csv-exporter/manifest.json b/content/.obsidian/plugins/obsidian-table-to-csv-exporter/manifest.json new file mode 100644 index 0000000..7643629 --- /dev/null +++ b/content/.obsidian/plugins/obsidian-table-to-csv-exporter/manifest.json @@ -0,0 +1,10 @@ +{ + "id": "obsidian-table-to-csv-exporter", + "name": "Table to CSV Exporter", + "version": "0.1.4", + "minAppVersion": "0.14.6", + "description": "This plugin allows for exporting tables from a pane in reading mode into CSV files.", + "author": "Stefan Wolfrum", + "authorUrl": "https://twitter.com/metawops", + "isDesktopOnly": false +} diff --git a/content/.obsidian/workspace.json b/content/.obsidian/workspace.json index 4cc396b..81993cf 100644 --- a/content/.obsidian/workspace.json +++ b/content/.obsidian/workspace.json @@ -55,12 +55,12 @@ "state": { "type": "markdown", "state": { - "file": "Biokemi/Behöver göra.md", - "mode": "source", + "file": "Biokemi/Regleringar.md", + "mode": "preview", "source": false }, "icon": "lucide-file", - "title": "Behöver göra" + "title": "Regleringar" } } ], @@ -121,7 +121,8 @@ } ], "direction": "horizontal", - "width": 300 + "width": 300, + "collapsed": true }, "right": { "id": "2d28508435d0e696", @@ -223,7 +224,8 @@ } ], "direction": "horizontal", - "width": 394.5 + "width": 200, + "collapsed": true }, "left-ribbon": { "hiddenItems": { @@ -240,6 +242,11 @@ }, "active": "0ee86d2943a05d44", "lastOpenFiles": [ + "table-export-001.xlsx", + "lu32604h9hpy3.tmp", + "table-export-001.csv", + "Biokemi/Behöver göra.md", + "Biokemi/Regleringar.md", "Biokemi/Metabolism/Biokemi ur ett evolutionsperspektiv/Slides.pdf.pdf", "has.txt", "all.txt", @@ -249,10 +256,7 @@ "TaskNotes/Views/mini-calendar-default.base", "TaskNotes/Views/kanban-default.base", "TaskNotes/Views/calendar-default.base", - "TaskNotes/Views/agenda-default.base", "TaskNotes/Tasks/ETK-kortlek imorgon kl 09.md", - "TaskNotes/Views", - "TaskNotes/Tasks", "TYK/Presentation.md", "Biokemi/Plasmidlabb/Provfrågor.md", "Biokemi/Metabolismseminarie/Direktiv.md", @@ -275,8 +279,6 @@ "Biokemi/Metabolism/Elektrontransportkedjan/📚 Instuderingsuppgifter.md", "Biokemi/Metabolism/Elektrontransportkedjan/🎯 Lärandemål.md", "Biokemi/Metabolism/Elektrontransportkedjan/👨🏻‍🏫 Slides.md", - "Biokemi/Metabolism/Elektrontransportkedjan/❓ Provfrågor.md", - "Biokemi/Metabolism/Diagram/Vägar.md", "Biokemi/Metabolism/Diagram/TCA_cycle.svg", "Biokemi/Metabolism/Diagram/Glycolysis_overview.svg", "Biokemi/Plasmidlabb/Bilder/IMG_1976.jpg", diff --git a/content/.~lock.table-export-001.csv# b/content/.~lock.table-export-001.csv# new file mode 100644 index 0000000..5c18292 --- /dev/null +++ b/content/.~lock.table-export-001.csv# @@ -0,0 +1 @@ +,johandahlin,Johans-M1-Laptop.local,14.12.2025 08:23,file:///Users/johandahlin/Library/Application%20Support/LibreOffice/4; \ No newline at end of file diff --git a/content/table-export-001.csv b/content/table-export-001.csv new file mode 100644 index 0000000..9a8575e --- /dev/null +++ b/content/table-export-001.csv @@ -0,0 +1,71 @@ +Föreläsning;Typ av reglering;Enzym / Protein;Substrat / Hormon / Faktor;Organ;Organell;Anabol / Katabol / När / Varför +Intro Metabolism / Citratcykeln;Allosterisk (Feedback);Pyruvatdehydrogenas (PDH);Acetyl-CoA (−);Alla mitokondriella;Mitokondrie (Matrix);Katabol. Produkten ansamlas → bromsar inflöde från pyruvat (t.ex. vid β-oxidation). +Intro Metabolism / Citratcykeln;Allosterisk (Feedback);Pyruvatdehydrogenas (PDH);NADH (−);Alla mitokondriella;Mitokondrie (Matrix);Katabol. Hög reduktionsgrad/ETC “mättad” → bromsar PDH. +Intro Metabolism / Citratcykeln;Allosterisk (Energikvot);Pyruvatdehydrogenas (PDH);ATP (−);Alla mitokondriella;Mitokondrie (Matrix);Katabol. Hög energi → mindre behov av acetyl-CoA in i CTK. +Intro Metabolism / Citratcykeln;Allosterisk (Energikvot);Pyruvatdehydrogenas (PDH);ADP (+);Alla mitokondriella;Mitokondrie (Matrix);Katabol. Energifattigt → ökar flödet från pyruvat in i CTK. +Intro Metabolism / Citratcykeln;Kovalent (Fosforylering);Pyruvatdehydrogenas (PDH);PDH-Kinas (PDK);Alla mitokondriella;Mitokondrie (Matrix);PDK fosforylerar PDH → PDH inaktivt (bromsar glukosoxidation). +Intro Metabolism / Citratcykeln;Kovalent (Defosforylering);Pyruvatdehydrogenas (PDH);PDH-Fosfatas (PDP);Alla mitokondriella;Mitokondrie (Matrix);PDP defosforylerar PDH → PDH aktivt (ökar pyruvat→acetyl-CoA). +Intro Metabolism / Citratcykeln;Allosterisk (påverkar PDK);PDH-Kinas (PDK);ATP (+);Alla mitokondriella;Mitokondrie (Matrix);Hög energi → PDK aktivt → PDH stängs (sparar glukos). +Intro Metabolism / Citratcykeln;Allosterisk (påverkar PDK);PDH-Kinas (PDK);Acetyl-CoA & NADH (+);Alla mitokondriella;Mitokondrie (Matrix);Produkter aktiverar PDK → förstärker PDH-avstängning (feedback-loop). +Intro Metabolism / Citratcykeln;Allosterisk (påverkar PDK);PDH-Kinas (PDK);Pyruvat (−);Alla mitokondriella;Mitokondrie (Matrix);Högt pyruvat hämmar PDK → håller PDH aktivt (feedforward). +Intro Metabolism / Citratcykeln;Allosterisk (påverkar PDP);PDH-Fosfatas (PDP);Ca²⁺ (+);Muskler m.fl.;Mitokondrie (Matrix);Muskelarbete → Ca²⁺ → PDP på → PDH på → mer ATP. +Intro Metabolism / Citratcykeln;Hormonell (påverkar PDP);PDH-Fosfatas (PDP);Insulin (+);Lever / Fettväv;Mitokondrie (Matrix);Fed state: PDH på → acetyl-CoA till CTK/lipogenes. +Glykolysen;Allosterisk (Feedback);Hexokinas;Glukos-6-fosfat (−);De flesta vävnader (ej leverns glukokinas);Cytosol;Katabol. Förhindrar “inlåsning” av glukos när nedströms är fullt. +Glykolysen;Substrat/isoenzym;Glukokinas;Glukos (kräver hög [glukos]);Lever (± β-cell);Cytosol;Katabol/anabol koppling. “Tar hand om” glukos efter måltid. +Glykolysen;Allosterisk (Energikvot);PFK-1;ATP (−);Alla (främst muskel/lever);Cytosol;Katabol. Hög energi → bromsar hastighetsbestämmande steg. +Glykolysen;Allosterisk (Energikvot);PFK-1;AMP (+);Alla (främst muskel);Cytosol;Katabol. Låg energi → stark aktivering av glykolys. +Glykolysen;Allosterisk (koppling CTK);PFK-1;Citrat (−);Lever m.fl.;Cytosol;Katabol. CTK “full” → minska inflöde från glykolys. +Glykolysen;Allosterisk (pH);PFK-1;H⁺ / lågt pH (−);Muskel;Cytosol;Katabol. Skydd mot kraftig acidos vid anaerobt arbete. +Glykolysen;Allosterisk (potent);PFK-1;Fruktos-2,6-bisfosfat (+);Lever;Cytosol;Katabol. Överstyr ATP-hämning vid högt blodsocker. +Glykolysen;Allosterisk (Feedforward);Pyruvatkinas;Fruktos-1,6-bisfosfat (+);Lever/muskel;Cytosol;Katabol. Synkar sista steget med högt flöde genom PFK-1. +Glykolysen;Allosterisk;Pyruvatkinas;ATP (−) / Alanin (−, lever);Lever/muskel;Cytosol;Katabol. Hög energi/byggstenar → bromsar pyruvatproduktion. +Glykolysen;Hormonell (Kovalent);Pyruvatkinas (L-form);Glukagon → PKA → fosforylering (−);Lever;Cytosol;Fasta: stänger glykolys i lever → sparar substrat för glukoneogenes. +Glukoneogenes;Allosterisk;Pyruvatkarboxylas;Acetyl-CoA (+);Lever/Njure;Mitokondrie;Anabol. Fettförbränning ger acetyl-CoA → “energi finns” för GNG. +Glukoneogenes;Allosterisk (Energikvot);Pyruvatkarboxylas;ADP (−);Lever/Njure;Mitokondrie;Anabol. Energibrist → stoppar ATP-krävande glukosnybildning. +Glukoneogenes;Allosterisk;Fruktos-1,6-bisfosfatas (FBPase-1);Fruktos-2,6-bisfosfat (−);Lever;Cytosol;Anabol. Fed state hämmar GNG via F2,6BP. +Glukoneogenes;Allosterisk;Fruktos-1,6-bisfosfatas (FBPase-1);AMP (−);Lever;Cytosol;Anabol. Låg energi → stänger GNG. +Glukoneogenes;Allosterisk;Fruktos-1,6-bisfosfatas (FBPase-1);Citrat (+);Lever;Cytosol;Anabol. Energiöverskott → gynnar glukosnybildning. +Glukoneogenes / Glykolys;Hormonell (bifunktionellt enzym);PFK-2 / FBPase-2;Insulin → defosforylering → PFK-2 aktiv (↑F2,6BP);Lever;Cytosol;Fed state: ↑ glykolys, ↓ glukoneogenes. +Glukoneogenes / Glykolys;Hormonell (bifunktionellt enzym);PFK-2 / FBPase-2;Glukagon → PKA → fosforylering → FBPase-2 aktiv (↓F2,6BP);Lever;Cytosol;Fasta: ↓ glykolys, ↑ glukoneogenes. +Citronsyracykeln;Allosterisk;Citratsyntas;ATP, NADH, Citrat, Succinyl-CoA (−);Alla;Mitokondrie (Matrix);Katabol. Hög energi/produktansamling → bromsar inflöde. +Citronsyracykeln;Allosterisk;Citratsyntas;ADP (+);Alla;Mitokondrie (Matrix);Katabol. Energifattigt → ökar CTK-flöde. +Citronsyracykeln;Allosterisk (rate-limiting);Isocitratdehydrogenas;ATP, NADH (−);Alla;Mitokondrie (Matrix);Katabol. Energirikt → bromsar hastighetsbestämmande steg. +Citronsyracykeln;Allosterisk;Isocitratdehydrogenas;ADP, Ca²⁺ (+);Alla (Ca²⁺ särskilt muskel);Mitokondrie (Matrix);Katabol. Muskelarbete/ADP → mer NADH till ETC. +Citronsyracykeln;Produktinhibition;α-ketoglutaratdehydrogenas;Succinyl-CoA, NADH (−);Alla;Mitokondrie (Matrix);Katabol. Produkter bromsar komplexet. +Citronsyracykeln;Allosterisk;α-ketoglutaratdehydrogenas;Ca²⁺ (+);Alla;Mitokondrie (Matrix);Katabol. Ca²⁺ vid arbete → ökar flöde. +Glykogen;Allosterisk (isoenzym);Glykogenfosforylas (muskel);AMP (+);Muskel;Cytosol;Katabol. Akut energibrist → glykogenolys utan hormonkrav. +Glykogen;Allosterisk (isoenzym);Glykogenfosforylas (lever);Glukos (−);Lever;Cytosol;Katabol. Högt glukos → stänger glykogenolys i lever. +Glykogen;Hormonell (kaskad);Glykogenfosforylas;Glukagon/Adrenalin → cAMP → PKA → kinas;Lever/Muskel;Cytosol;Katabol. Fosforylas a (fosforylerad) = aktiv → mobiliserar glukos. +Glykogen;Hormonell;Glykogenfosforylas;Insulin → PP1 (defosforylering);Lever/Muskel;Cytosol;Fed state: fosforylas b = mindre aktivt → stoppar nedbrytning. +Glykogen;Hormonell;Glykogensyntas;Insulin → PP1 + GSK3-hämning;Lever/Muskel;Cytosol;Anabol. Defosforylerat syntas (a) = aktivt → lagrar glukos. +Glykogen;Hormonell;Glykogensyntas;Glukagon/Adrenalin → PKA/GSK3 (fosforylering);Lever/Muskel;Cytosol;Fasta/stress: syntas fosforyleras → inaktivt (hindrar lagring). +Glykogen;Allosterisk;Glykogensyntas (b-form);Glukos-6-fosfat (+);Lever/Muskel;Cytosol;Anabol. Hög G6P kan driva lagring trots fosforylering. +Glykogen;Organ-specifik;Glukos-6-fosfatas;Finns i lever (inte muskel);Lever;ER;Varför: lever kan höja blodglukos; muskel använder lokalt. +Fettsyrasyntes;Allosterisk;Acetyl-CoA-karboxylas (ACC);Citrat (+);Lever/Fettväv;Cytosol;Anabol. Citrat signalerar överskott → ACC aktiveras (polymerisering). +Fettsyrasyntes;Allosterisk (feedback);Acetyl-CoA-karboxylas (ACC);Palmitoyl-CoA (−);Lever/Fettväv;Cytosol;Anabol. Slutprodukt bromsar → undviker överproduktion. +Fettsyrasyntes;Hormonell (kovalent);ACC;Insulin (+ via fosfatas);Lever/Fettväv;Cytosol;Anabol. Defosforylering → ACC aktivt → malonyl-CoA ↑. +Fettsyrasyntes;Energisensor (kovalent);ACC;AMPK (− via fosforylering); AMP (+ på AMPK);Lever/Fettväv;Cytosol;Anabol av. Låg energi → stoppar lipogenes, sparar ATP. +Fettsyrasyntes;Hormonell (via AMPK);ACC;Glukagon/Adrenalin (−);Lever/Fettväv;Cytosol;Fasta/stress: minskar lipogenes, gynnar mobilisering/oxidation. +Betaoxidation / Lipolys;Hormonell (kovalent);Hormonkänsligt lipas (HSL);Adrenalin/Glukagon → PKA (+);Fettväv;Cytosol;Katabol. Fosforylering → lipolys ↑ (frisätter FFA). +Betaoxidation / Lipolys;Hormonell (tillgänglighet);Perilipin;PKA (+);Fettväv;Lipiddroppe;Katabol. Gör TAG mer åtkomligt för lipaser. +Betaoxidation / Lipolys;Hormonell;HSL (indirekt);Insulin (−; ↓cAMP, ↑fosfatas);Fettväv;Cytosol;Fed state: bromsar lipolys → lagring. +Betaoxidation;Allosterisk (transport);Karnitin-acyltransferas 1 (CPT1/CAT1);Malonyl-CoA (−);Lever/muskel;Yttre mitokondriemembran;Katabol. Hindrar import när lipogenes pågår (undviker futile cycle). +Kolesterolsyntes;Transkriptionell;HMG-CoA-reduktas (HMGR);Lågt kolesterol (+ via SREBP);Lever;ER→Golgi→Kärna;Anabol. Lågt kolesterol → SREBP aktiveras → ↑ enzymesyntes/LDL-upptag. +Kolesterolsyntes;Transkriptionell (feedback);SREBP/SCAP/Insig;Högt kolesterol (−);Lever;ER;Anabol bromsas. SREBP hålls kvar i ER → mindre genuttryck. +Kolesterolsyntes;Proteolys;HMGR;Steroler/intermediärer (−; ubiquitin/proteasom);Lever;ER-membran;Anabol bromsas snabbt genom nedbrytning av HMGR. +Kolesterolsyntes;Energisensor (kovalent);HMGR;AMPK fosforylering (−);Lever;ER;Låg energi → stoppar kolesterolsyntes (ATP/NADPH-spar). +Kolesterolsyntes;Hormonell (kovalent);HMGR;Insulin (+ via defosforylering);Lever;ER;Fed state: syntes på. +Kolesterolsyntes;Hormonell (via AMPK);HMGR;Glukagon (−);Lever;ER;Fasta: syntes av. +Ureacykeln;Allosterisk (obligatorisk);Karbamoylfosfatsyntetas 1 (CPS1);N-acetylglutamat (+);Lever;Mitokondrie (Matrix);Katabol/anabol koppling. Avgiftar kväve; utan NAG fungerar CPS1 i praktiken inte. +Ureacykeln;Substrat-aktivering;N-acetylglutamatsyntas (NAGS);Arginin (+);Lever;Mitokondrie;När protein/AA-nedbrytning hög → arginin ↑ → NAG ↑ → ureacykel upp. +Pentosfosfatvägen;Allosterisk (feedback);G6PD;NADPH (−);Lever, erytrocyter;Cytosol;Anabol. Om NADPH redan är högt → bromsar PPP. +Pentosfosfatvägen;Allosterisk (substratstyrd);G6PD;NADP⁺ (+);Lever, erytrocyter;Cytosol;Anabol. NADP⁺ driver PPP när NADPH behövs (t.ex. ROS-skydd i RBC). +Elektrontransportkedjan/OXPHOS;“Respiratory control”;ATP-syntas / ETC (kopplat);ADP (+);Alla aeroba vävnader;Inre mitokondriemembran;Katabol. ADP-tillgång styr OXPHOS-hastighet (”acceptor control”). +Elektrontransportkedjan/OXPHOS;Substrat/acceptor;Cyt c-oxidas (Komplex IV);O₂ (+ som slutacceptor);Alla aeroba;Inre mitokondriemembran;Katabol. Utan O₂ stannar ETC → NADH↑ → TCA/PDH bromsas. +Ketonkroppar;Substratflöde (indirekt);Ketogenes (väg);OAA “dras” till GNG; acetyl-CoA ansamlas;Lever;Mitokondrie (Matrix);Katabol. Fasta/insulinbrist: acetyl-CoA → ketoner för perifera vävnader. +Hemoglobin;Allosterisk (kooperativitet);Hemoglobin;O₂ (+);Erytrocyter;Cytosol;Varför: sigmoidal kurva → effektivt upptag i lungor, avlämning i vävnad. +Hemoglobin;Allosterisk (Bohr-effekt);Hemoglobin;H⁺/CO₂ (− på O₂-affinitet);Erytrocyter;Cytosol;Varför: surt/CO₂-rikt i vävnad → stabiliserar T-state → O₂ släpps. +Hemoglobin;Allosterisk;Hemoglobin;2,3-BPG (− på O₂-affinitet);Erytrocyter;Cytosol;Varför: underlättar O₂-avlämning; ökar vid höjd/anemi. +DNA-replikation;Cellcykelreglering;ORC/Cdc6/Cdt1 (licensing);Lågt CDK (G1);Alla delande celler;Kromatin (kärna);Anabol. Tillåter laddning av MCM (förhindrar re-replikation). +DNA-replikation;Cellcykelreglering;CMG-helikas / DNA-pol;Högt CDK (S);Alla delande celler;Kromatin (kärna);Anabol. Startar replikation och blockerar ny licensing. +Hemesyntes;Translationell;ALA-syntas;Järnstatus (Fe);Erytroid vävnad;Cytosol/mito-axel;Anabol. Vid järnbrist hämmas effektivt hemsyntes (undviker porfyrin-ack). \ No newline at end of file diff --git a/content/table-export-001.xlsx b/content/table-export-001.xlsx new file mode 100644 index 0000000..8c27fa8 --- /dev/null +++ b/content/table-export-001.xlsx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f6f061943febfd7c95a2d94c8afbe0d2d0dc90506bd3fbfaa2620c0fc69123e +size 11675