I want to learn this topic
python -m markitdown "/home/daytona/workspace/attachments/9832ab9b-5341-4ca9-9383-07ad59bbfde0/Muscle Plasticity (1).pptx"
cd "/home/daytona/workspace/attachments/9832ab9b-5341-4ca9-9383-07ad59bbfde0" && python3 -c " from pptx import Presentation prs = Presentation('Muscle Plasticity (1).pptx') for i, slide in enumerate(prs.slides): print(f'=== Slide {i+1} ===') for shape in slide.shapes: if hasattr(shape, 'text') and shape.text.strip(): print(shape.text) print() "
ls /home/daytona/skills/pptx/scripts/ && pip show python-pptx 2>/dev/null | head -5; pip3 show python-pptx 2>/dev/null | head -5; which node && node --version
cd "/home/daytona/workspace/attachments/9832ab9b-5341-4ca9-9383-07ad59bbfed0" 2>/dev/null; ls /home/daytona/skills/pptx/scripts/office/ && cat /home/daytona/skills/pptx/scripts/office/unpack.py | head -30
PPTX="/home/daytona/workspace/attachments/9832ab9b-5341-4ca9-9383-07ad59bbfde0/Muscle Plasticity (1).pptx" OUT="/home/daytona/workspace/muscle-plasticity-unpacked" mkdir -p "$OUT" python3 /home/daytona/skills/pptx/scripts/office/unpack.py "$PPTX" "$OUT" && echo "Done"
PPTX="/home/daytona/workspace/attachments/9832ab9b-5341-4ca9-9383-07ad59bbfde0/Muscle Plasticity (1).pptx" OUT="/home/daytona/workspace/muscle-plasticity-unpacked" mkdir -p "$OUT" unzip -o "$PPTX" "ppt/slides/*.xml" -d "$OUT" && echo "Done"
python3 << 'EOF' import os, re, glob slide_dir = "/home/daytona/workspace/muscle-plasticity-unpacked/ppt/slides" slides = sorted(glob.glob(f"{slide_dir}/slide*.xml"), key=lambda x: int(re.search(r'slide(\d+)', x).group(1))) for path in slides: num = int(re.search(r'slide(\d+)', path).group(1)) with open(path, 'r', encoding='utf-8') as f: xml = f.read() # Extract all text runs texts = re.findall(r'<a:t[^>]*>(.*?)</a:t>', xml) combined = ' '.join(t.strip() for t in texts if t.strip()) if combined: print(f"=== Slide {num} ===") print(combined) print() EOF
python3 << 'EOF' import os, re, glob slide_dir = "/home/daytona/workspace/muscle-plasticity-unpacked/ppt/slides" slides = sorted(glob.glob(f"{slide_dir}/slide*.xml"), key=lambda x: int(re.search(r'slide(\d+)', x).group(1))) for path in slides: num = int(re.search(r'slide(\d+)', path).group(1)) try: with open(path, 'r', encoding='utf-8') as f: xml = f.read() texts = re.findall(r'<a:t[^>]*>(.*?)</a:t>', xml) combined = ' '.join(t.strip() for t in texts if t.strip()) if combined: print(f"=== Slide {num} ===") print(combined) print() except Exception as e: print(f"=== Slide {num} === [ERROR: {e}]") EOF
python3 << 'EOF' import zipfile, re, io pptx_path = "/home/daytona/workspace/attachments/9832ab9b-5341-4ca9-9383-07ad59bbfde0/Muscle Plasticity (1).pptx" with zipfile.ZipFile(pptx_path, 'r') as z: names = sorted([n for n in z.namelist() if re.match(r'ppt/slides/slide\d+\.xml', n)], key=lambda x: int(re.search(r'slide(\d+)', x).group(1))) for name in names: num = int(re.search(r'slide(\d+)', name).group(1)) xml = z.read(name).decode('utf-8') texts = re.findall(r'<a:t[^>]*>(.*?)</a:t>', xml) combined = ' '.join(t.strip() for t in texts if t.strip()) if combined: print(f"=== Slide {num} ===") print(combined) print() EOF
python3 << 'EOF' import zipfile, re pptx_path = "/home/daytona/workspace/attachments/9832ab9b-5341-4ca9-9383-07ad59bbfde0/Muscle Plasticity (1).pptx" with zipfile.ZipFile(pptx_path, 'r') as z: print("All files in pptx:") for n in z.namelist()[:40]: print(n) EOF
python3 << 'PYEOF' import zipfile, re, html pptx_path = "/home/daytona/workspace/attachments/9832ab9b-5341-4ca9-9383-07ad59bbfde0/Muscle Plasticity (1).pptx" with zipfile.ZipFile(pptx_path, 'r') as z: slide_files = sorted( [n for n in z.namelist() if re.match(r'ppt/slides/slide\d+\.xml$', n)], key=lambda x: int(re.search(r'slide(\d+)', x).group(1)) ) print(f"Found {len(slide_files)} slides") results = [] for name in slide_files: num = int(re.search(r'slide(\d+)', name).group(1)) raw = z.read(name) xml = raw.decode('utf-8', errors='replace') # Extract text runs grouped by paragraph paragraphs = re.findall(r'<a:p[^>]*>(.*?)</a:p>', xml, re.DOTALL) slide_text = [] for para in paragraphs: runs = re.findall(r'<a:t[^>]*>(.*?)</a:t>', para) line = ''.join(html.unescape(r) for r in runs).strip() if line: slide_text.append(line) if slide_text: results.append((num, slide_text)) for num, lines in results: print(f"\n=== Slide {num} ===") for l in lines: print(l) PYEOF
python3 << 'PYEOF' import zipfile, re, html pptx_path = "/home/daytona/workspace/attachments/9832ab9b-5341-4ca9-9383-07ad59bbfde0/Muscle Plasticity (1).pptx" with zipfile.ZipFile(pptx_path, 'r') as z: slide_files = sorted( [n for n in z.namelist() if re.match(r'ppt/slides/slide\d+\.xml$', n)], key=lambda x: int(re.search(r'slide(\d+)', x).group(1)) ) for name in slide_files: num = int(re.search(r'slide(\d+)', name).group(1)) raw = z.read(name) xml = raw.decode('utf-8', errors='replace') paragraphs = re.findall(r'<a:p[\s>](.*?)</a:p>', xml, re.DOTALL) slide_text = [] for para in paragraphs: runs = re.findall(r'<a:t>(.*?)</a:t>', para) line = ''.join(html.unescape(r) for r in runs).strip() if line: slide_text.append(line) if slide_text: print(f"\n=== Slide {num} ===") for l in slide_text: print(l) else: print(f"\n=== Slide {num} === [no text or image-only]") PYEOF
python3 << 'PYEOF' import zipfile, re pptx_path = "/home/daytona/workspace/attachments/9832ab9b-5341-4ca9-9383-07ad59bbfde0/Muscle Plasticity (1).pptx" with zipfile.ZipFile(pptx_path, 'r') as z: xml = z.read('ppt/slides/slide1.xml').decode('utf-8', errors='replace') # show first 3000 chars print(xml[:3000]) PYEOF
python3 << 'PYEOF' import zipfile, os pptx_path = "/home/daytona/workspace/attachments/9832ab9b-5341-4ca9-9383-07ad59bbfde0/Muscle Plasticity (1).pptx" out_dir = "/home/daytona/workspace/muscle-plasticity-images" os.makedirs(out_dir, exist_ok=True) with zipfile.ZipFile(pptx_path, 'r') as z: media = [n for n in z.namelist() if n.startswith('ppt/media/')] print(f"Found {len(media)} media files") for m in sorted(media): fname = os.path.basename(m) out_path = os.path.join(out_dir, fname) with open(out_path, 'wb') as f: f.write(z.read(m)) print(f"Saved: {fname}") PYEOF
| Property | Type I (Slow Oxidative) | Type IIa (Fast Oxidative Glycolytic) | Type IIb (Fast Glycolytic) |
|---|---|---|---|
| Fiber & motor unit size | Small | Intermediate | Large |
| Mitochondria & capillaries | Many | Many | Few |
| Myoglobin content | High (red) | High (red) | Low (white) |
| Glycogen content | Low | Intermediate | High |
| Main ATP source | Oxidative phosphorylation | Oxidative phosphorylation | Anaerobic glycolysis |
| Glycolytic enzyme activity | Low | Intermediate | High |
| Rate of fatigue | Slow | Intermediate | Fast |
| Myosin ATPase activity | Low | High | High |
| Contractile speed | Slow | Fast | Fast |
| Example locations | Postural muscles of back | Major muscles of legs | Extraocular eye muscles |
Fast-twitch → Slow-twitch via indirect tonic, low-frequency electrical stimulation
| Study | Key Finding |
|---|---|
| Trumble, Duan & Magovern (2001) - rabbit LD muscle, 6-12 weeks CLFS | Improved endurance capacity; increased % CSA occupied by slow-twitch oxidative fibers; remodeling of extracellular matrix (Type I collagen and fibrillin) |
| Lotri-Koffi et al (2019) - mouse NMES model | Muscle mass increased; insulin sensitivity improved; beneficial in chronic disease |
| Tsutaki & Ogasawara (2013) - rat gastrocnemius, LFS 10 Hz vs HFS 100 Hz | LFS recruits Type II fibers and produces muscle hypertrophy WITHOUT high force generation |
| Pette & Vrbová (2017) | Adaptive potential can be used to repair muscle damage, prevent muscle wasting in inactivity and aging |
| Schnyder, Kupr & Handschin (2017) | Coregulators are potent regulators of metabolic and myofibrillar plasticity; HDAC IIa inhibition enhances muscle endurance and systemic metabolic function |
| Nuhr MJ, Pette D et al (2004) - patients with advanced CHF | CLFS counteracts detrimental skeletal muscle changes in chronic heart failure and increases exercise capacity |
| Bruton (2002) | Muscle response to altered activity is extensively studied but individuality of responses means genotype likely determines phenotypic response |
Fast fiber → CLFS (low freq, tonic) → Slow fiber
Timeline: 8 weeks, 8-24 h/day
2-3 hrs: SR swelling
2-12 days: ↑ mitochondria, ↑ capillaries (angiogenesis), ↑ oxidative enzymes, ↓ fatigue
14 days: ↑ Z-band width, ↓ Ca2+ ATPase
28 days: myosin light chain shift (fast → slow), ↓ muscle mass & fiber area
~8 weeks: fully transformed to slow-twitch phenotype