S

Scientific Schematics Complete

Enterprise-grade skill for create, publication, quality, scientific. Includes structured workflows, validation checks, and reusable patterns for scientific.

SkillClipticsscientificv1.0.0MIT
0 views0 copies

Scientific Schematics Complete

Create professional scientific diagrams, flowcharts, and schematics for research publications and presentations. This skill covers molecular diagrams, experimental workflows, pathway illustrations, equipment setups, and automated figure generation using Python drawing libraries.

When to Use This Skill

Choose Scientific Schematics Complete when you need to:

  • Generate experimental workflow diagrams for methods sections
  • Create molecular or cellular schematics for biology papers
  • Build equipment setup diagrams for reproducibility
  • Automate generation of standardized figure panels for publications

Consider alternatives when:

  • You need data visualization charts (use matplotlib or Plotly)
  • You need interactive web diagrams (use D3.js or Mermaid)
  • You need 3D molecular visualizations (use PyMOL or ChimeraX)

Quick Start

pip install matplotlib numpy schemdraw
import matplotlib.pyplot as plt import matplotlib.patches as mpatches from matplotlib.patches import FancyBboxPatch, FancyArrowPatch def create_workflow_diagram(): """Create a simple experimental workflow diagram.""" fig, ax = plt.subplots(figsize=(12, 4)) ax.set_xlim(0, 12) ax.set_ylim(0, 4) ax.axis("off") steps = [ ("Sample\nCollection", 1, "#3498DB"), ("RNA\nExtraction", 3.5, "#2ECC71"), ("Library\nPrep", 6, "#E74C3C"), ("Sequencing", 8.5, "#9B59B6"), ("Analysis", 11, "#F39C12") ] for label, x, color in steps: box = FancyBboxPatch( (x - 0.9, 1.2), 1.8, 1.6, boxstyle="round,pad=0.1", facecolor=color, edgecolor="white", alpha=0.85, linewidth=2 ) ax.add_patch(box) ax.text(x, 2, label, ha="center", va="center", fontsize=10, fontweight="bold", color="white") # Arrows between steps for i in range(len(steps) - 1): ax.annotate("", xy=(steps[i+1][1] - 0.9, 2), xytext=(steps[i][1] + 0.9, 2), arrowprops=dict(arrowstyle="->", lw=2, color="#333")) ax.set_title("RNA-seq Experimental Workflow", fontsize=14, fontweight="bold", pad=20) fig.tight_layout() fig.savefig("workflow.png", dpi=300, bbox_inches="tight") create_workflow_diagram()

Core Concepts

Diagram Types for Research

Diagram TypeUse CaseTools
Workflow/PipelineMethods sectionmatplotlib, diagrams
Molecular pathwayBiology papersmatplotlib, BioRender-style
Circuit schematicEngineering papersschemdraw
Equipment setupExperimental methodsmatplotlib, TikZ
Data flowComputational methodsmatplotlib, graphviz
Statistical designStudy designmatplotlib

Complex Pathway Diagram

import matplotlib.pyplot as plt import matplotlib.patches as mpatches import numpy as np def create_signaling_pathway(): """Create a cell signaling pathway diagram.""" fig, ax = plt.subplots(figsize=(10, 8)) ax.set_xlim(0, 10) ax.set_ylim(0, 10) ax.axis("off") # Cell membrane ax.plot([1, 9], [7, 7], "k-", linewidth=3) ax.text(5, 7.3, "Cell Membrane", ha="center", fontsize=10, fontstyle="italic") # Components components = { "Ligand": (5, 8.5, "#E74C3C", "circle"), "Receptor": (5, 7, "#3498DB", "rect"), "Kinase A": (5, 5.5, "#2ECC71", "rect"), "Kinase B": (5, 4, "#F39C12", "rect"), "TF": (5, 2.5, "#9B59B6", "rect"), "Gene\nExpression": (5, 1, "#1ABC9C", "rect"), } for name, (x, y, color, shape) in components.items(): if shape == "circle": circle = plt.Circle((x, y), 0.4, fc=color, ec="white", lw=2) ax.add_patch(circle) else: rect = FancyBboxPatch( (x - 0.8, y - 0.3), 1.6, 0.6, boxstyle="round,pad=0.1", fc=color, ec="white", lw=2 ) ax.add_patch(rect) ax.text(x, y, name, ha="center", va="center", fontsize=9, fontweight="bold", color="white") # Arrows (signaling cascade) positions = [(5, 8.1), (5, 6.7), (5, 5.2), (5, 3.7), (5, 2.2)] for i in range(len(positions) - 1): ax.annotate("", xy=positions[i+1], xytext=positions[i], arrowprops=dict(arrowstyle="-|>", lw=2, color="#333", connectionstyle="arc3,rad=0")) # Phosphorylation labels ax.text(5.8, 5.8, "P", fontsize=8, fontweight="bold", color="#E74C3C", bbox=dict(fc="white", ec="#E74C3C", boxstyle="circle")) ax.text(5.8, 4.3, "P", fontsize=8, fontweight="bold", color="#E74C3C", bbox=dict(fc="white", ec="#E74C3C", boxstyle="circle")) ax.set_title("MAPK Signaling Pathway", fontsize=14, fontweight="bold") fig.savefig("pathway.png", dpi=300, bbox_inches="tight") create_signaling_pathway()

Configuration

ParameterDescriptionDefault
figure_widthDiagram width in inches10
figure_heightDiagram height in inches8
dpiOutput resolution300
color_schemeColor palette for componentsProfessional palette
font_familyFont for labels"Arial"
arrow_styleArrow head style"-|>"

Best Practices

  1. Use consistent color coding across figures — Assign colors to categories (e.g., blue=proteins, green=metabolites, red=inhibitors) and maintain this coding across all figures in a paper. Include a legend if the coding isn't self-explanatory.

  2. Simplify to the essential information — A schematic should highlight the key message, not replicate every biological detail. Include only components directly relevant to your findings. Over-detailed diagrams obscure the important relationships.

  3. Maintain publication figure standards — Use 300 DPI minimum, vector formats (SVG, PDF) when possible, and ensure all text is readable at the final printed size (minimum 6pt font). Match the journal's figure width guidelines (single column: ~3.5", double column: ~7").

  4. Label all components clearly — Every shape, arrow, and symbol should be identifiable. Use a combination of in-diagram labels and a figure legend. Abbreviations must be defined in the legend.

  5. Use standard scientific symbols and conventions — Follow field conventions: arrowheads for activation, flat-ended lines for inhibition, dashed lines for indirect effects, P-in-circle for phosphorylation. Non-standard symbols confuse readers familiar with the conventions.

Common Issues

Diagram elements overlap or crowd each other — Calculate positions algorithmically rather than hardcoding. Space components evenly using np.linspace and leave at least 20% whitespace. If the diagram is too dense, split into sub-panels or simplify.

Text in diagrams is too small when printed — Font sizes that look fine on a monitor (10pt) become illegible when the figure is shrunk to fit a journal column. Set minimum font size to 8pt at final figure dimensions, and verify readability by printing at actual size.

Colors are indistinguishable in grayscale — Some journals print in grayscale. Use patterns (hatching, line styles) in addition to color, or choose colors with different lightness values that remain distinct in grayscale. Test by converting your figure to grayscale.

Community

Reviews

Write a review

No reviews yet. Be the first to review this template!

Similar Templates