Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
4 views
ubuntu2404
# Makefile for CoCalc Bioinformatics Genomic Analysis Template
# Optimized for BioPython and genomic data analysis

# Document settings
MAIN = main
TEXFILE = $(MAIN).tex
PDFFILE = $(MAIN).pdf

# LaTeX compilation settings
LATEX = pdflatex
LATEXFLAGS = -shell-escape -interaction=nonstopmode -file-line-error

# PythonTeX settings
PYTHONTEX = pythontex
PYTHONTEXFLAGS = --verbose

# BibTeX settings
BIBTEX = bibtex

# Default target
all: $(PDFFILE)

# Full compilation with PythonTeX and BioPython
$(PDFFILE): $(TEXFILE) references.bib
	@echo "Starting bioinformatics template compilation..."
	@mkdir -p figures
	@echo "Step 1: Initial LaTeX compilation"
	$(LATEX) $(LATEXFLAGS) $(MAIN)
	@echo "Step 2: Running PythonTeX for BioPython analysis"
	$(PYTHONTEX) $(PYTHONTEXFLAGS) $(MAIN)
	@echo "Step 3: Running BibTeX for bibliography"
	$(BIBTEX) $(MAIN)
	@echo "Step 4: Second LaTeX compilation"
	$(LATEX) $(LATEXFLAGS) $(MAIN)
	@echo "Step 5: Final LaTeX compilation"
	$(LATEX) $(LATEXFLAGS) $(MAIN)
	@echo "Bioinformatics template compilation complete: $(PDFFILE)"

# Quick draft compilation
draft: $(TEXFILE)
	@echo "Quick draft compilation (no PythonTeX)..."
	$(LATEX) -interaction=nonstopmode $(MAIN)

# Generate figures only
figures: $(TEXFILE)
	@echo "Generating genomic analysis figures..."
	@mkdir -p figures
	$(LATEX) $(LATEXFLAGS) $(MAIN)
	$(PYTHONTEX) $(PYTHONTEXFLAGS) $(MAIN)

# Clean generated files
clean:
	@echo "Cleaning generated files..."
	rm -f *.aux *.log *.out *.toc *.lof *.lot *.bbl *.blg
	rm -f *.fdb_latexmk *.fls *.synctex.gz
	rm -f *.pytxcode *.makefile *.fdb *.figlist
	rm -f $(MAIN).run.xml $(MAIN)-blx.bib
	rm -rf pythontex-files-$(MAIN)/
	rm -rf figures/ data/
	@echo "Clean complete."

# Install BioPython dependencies (CoCalc-specific)
install-deps:
	@echo "Installing BioPython and dependencies..."
	pip3 install --user biopython matplotlib seaborn pandas scipy scikit-learn
	@echo "Dependencies installed."

# Verify BioPython installation
test-biopython:
	@echo "Testing BioPython installation..."
	python3 -c "import Bio; print(f'BioPython version: {Bio.__version__}')"
	python3 -c "from Bio import SeqIO, Phylo, Align; print('BioPython modules imported successfully')"

# Create sample data (for testing without real genomic data)
sample-data:
	@echo "Creating sample genomic data..."
	mkdir -p data
	@echo "Sample genomic data created in data/ directory"

# Help
help:
	@echo "CoCalc Bioinformatics Genomic Analysis Template"
	@echo ""
	@echo "Available targets:"
	@echo "  all           - Full compilation with BioPython analysis"
	@echo "  draft         - Quick compilation without PythonTeX"
	@echo "  figures       - Generate genomic analysis figures only"
	@echo "  clean         - Remove all generated files"
	@echo "  install-deps  - Install BioPython and dependencies"
	@echo "  test-biopython- Test BioPython installation"
	@echo "  sample-data   - Create sample data directory"
	@echo "  help          - Show this help message"
	@echo ""
	@echo "Dependencies:"
	@echo "  - BioPython for sequence analysis"
	@echo "  - Matplotlib, seaborn for visualization"
	@echo "  - Pandas, numpy, scipy for data analysis"

.PHONY: all draft figures clean install-deps test-biopython sample-data help