
Building on C01, this course dives into the practical analysis of biological sequences and introduces students to the major software landscape in bioinformatics. Students move from conceptual understanding of sequences to actively manipulating them programmatically and visually.
1. Parse and manipulate biological sequence files (FASTA, GenBank) using Biopython.
2. Identify key sequence features: ORFs, signal peptides, transmembrane domains, restriction sites.
3. Retrieve and interpret protein records from UniProt, including functional annotation and sequence features.
4. Describe major protein structural levels and explain the relationship between sequence and 3D structure.
5. Visualise and compare molecular structures using PyMOL and ChimeraX.
• Sequence formats: FASTA, GenBank/EMBL flat files, FASTQ, CLUSTAL, Stockholm.
• Sequence composition: GC content, dinucleotide frequencies, codon usage bias, CpG islands.
• Sequence features: exons/introns, UTRs, promoters, splice sites, polyadenylation signals.
• Protein sequence features: signal peptides (SignalP), transmembrane helices (TMHMM), disorder (IUPred), N-glycosylation sites.
• Software categories: web-based tools vs. command-line tools vs. APIs vs. GUI applications.
• Package management: Conda environments for reproducible bioinformatics — creating, activating, exporting environments.
• Key software suites: EMBOSS, BLAST+, Samtools, Bedtools — overview and use cases.
• Introduction to Biopython: SeqIO, Entrez, BLAST, pairwise2 modules.
• Protein structure hierarchy: primary → secondary → tertiary → quaternary; structural motifs (helix-turn-helix, zinc finger, beta barrel).
• Structure databases: PDB format (.pdb, .cif), PDB ID system, structure deposition pipeline.
• Molecular visualisation: cartoon, surface, stick, sphere representations; colouring by B-factor, residue type, chain.
• Structural comparison: RMSD, TM-score, superposition methods.
🔬 Hands-On Lab: Sequence Parsing with Biopython
Step 1: Install Biopython: conda install -c conda-forge biopython
Step 2: Write a Python script to read a FASTA file and calculate GC content for each sequence.
Step 3: Use SeqIO to convert a GenBank file to FASTA format programmatically.
Step 4: Use Entrez to programmatically fetch the BRCA2 protein sequence from NCBI.
Step 5: Identify all ORFs in a given DNA sequence and translate them using Biopython translate().
# Biopython sequence analysis starter
from Bio import SeqIO, Entrez
from Bio.SeqUtils import gc_fraction
Entrez.email = "[email protected]"
# Fetch BRCA2 mRNA from NCBI
handle = Entrez.efetch(db="nucleotide", id="NM_000059", rettype="fasta")
record = SeqIO.read(handle, "fasta")
# Calculate GC content
gc = gc_fraction(record.seq) * 100
print(f"BRCA2 GC content: {gc:.1f}%")
# Find all ORFs > 300 nt
for i in range(3):
trans = record.seq[i:].translate(to_stop=False)
# Find Met start to stop codons