Programming for Biosciences (Biopython) – CUBI2547

Teacher

Dr. Polaki Suman

Category

Course Attendees

Still no participant

Course Reviews

Still no reviews

Course Details

Course Code Course Name Credit Type
CUBI2547 PROGRAMMING FOR BIOSCIENCES (BIOPYTHON) 0+2+2

Course Overview

This course introduces students to advanced Biopython functionalities. Using falsification as a core pedagogical approach, students will critically evaluate and test various Biopython methods through hypothesis testing and iterative experimentation.

Prerequisites

  • Basic understanding of Python programming.
  • Basic knowledge of molecular biology and bioinformatics.

Course Objectives

  1. Proficiently use Biopython to manipulate and analyze biological sequences, demonstrating a solid understanding of basic sequence handling, parsing, and database interaction. (L2)
  2. Develop advanced skills in multiple sequence alignment techniques, including the ability to manipulate, analyze, and visualize alignments using Biopython. Students will be able to perform pairwise sequence alignments, understand substitution matrices, and effectively use tools like ClustalW and MUSCLE. (L4)
  3. Demonstrate mastery in utilizing Biopython for complex tasks such as accessing and querying NCBI Entrez databases, integrating sequence search tools like BLAST, and performing advanced phylogenetic analysis using Bio.Phylo. Students will design and execute sophisticated bioinformatics workflows, showcasing comprehensive theoretical and practical understanding. (L6)

Course Outcomes (COs)

  • CO1: Demonstrate proficiency in parsing and manipulating biological sequences using Biopython, including performing basic sequence operations, working with multiple file formats, and accessing biological databases. (L2)
  • CO2: Master advanced multiple sequence alignment techniques in Biopython, including creation, manipulation, and analysis of alignments. Students will apply tools such as ClustalW and MUSCLE effectively.  (L4)
  • CO3: Exhibit expertise in designing and executing advanced bioinformatics workflows using Biopython, including BLAST searches, Entrez database querying, phylogenetic analysis, and use of external packages such as PAML. (L6)

CO–PO Mapping Table

CO / PO PO1
Engineering Knowledge
PO2
Problem Analysis
PO3
Design / Development
PO4
Investigation
PO5
Modern Tool Usage
PO6
Societal Impact
PO7
Environment & Sustainability
PO8
Ethics
PO9
Team Work
PO10
Communication
PO11
Project Mgmt & Finance
PO12
Life-long Learning
CO1 3 2 3 2
CO2 3 3 3 3
CO3 3 3 3 2 2 2 3 3 2 3

PRACTICAL SYLLABUS – Programming for Biosciences (Biopython)

🔷 Module I: Overview of Biopython

  • General overview of Biopython capabilities
  • Introduction to falsification in bioinformatics
  • Working with sequences: A usage example
  • Parsing sequence file formats
    • Simple FASTA parsing example
    • Simple GenBank parsing example
  • Exercise:
    • Hypothesis: Biopython simplifies sequence handling tasks
    • Activity: Compare manual sequence parsing with Biopython parsing

🔷 Module II: Working with Sequences

  • Sequence objects: Understanding and manipulation
    • Sequences act like strings
    • Slicing a sequence
    • Converting Seq objects to strings
    • Concatenating sequences
    • Changing case
  • Nucleotide sequences and (reverse) complements
  • Transcription and translation
  • Exercise:
    • Hypothesis: Biopython Seq objects offer significant advantages over plain strings
    • Activity: Validate Biopython's translation accuracy vs manual translation

🔷 Module III: Advanced Sequence Handling

  • Sequence annotation objects
    • The SeqRecord object
    • Creating SeqRecord from scratch, FASTA, and GenBank
  • Hypothesis: Annotated sequences provide more utility than plain sequences
  • Feature, location, and position objects
    • SeqFeature objects
    • Positions and locations
  • Exercise:
    • Compare annotated sequence handling with plain sequence handling

🔷 Module IV: Parsing Bioinformatics Files

  • Reading and writing sequences to/from files
  • Sequences as dictionaries
  • Loading sequences from the net
  • Exercise:
    • Hypothesis: Biopython’s file parsing is more efficient than custom scripts
    • Activity: Benchmark Biopython parsing vs manual scripting

🔷 Module V: Multiple Sequence Alignment

  • Parsing and reading sequence alignments
    • Single and multiple alignments
  • Writing alignments
  • Hypothesis: Biopython alignment tools produce accurate and efficient alignments
  • Manipulating alignments (slicing, array representation)
  • Exercise:
    • Validate alignment accuracy with reference alignments

🔷 Module VI: BLAST and Sequence Search Tools

  • Running BLAST online and locally
  • Parsing BLAST output
  • Other sequence search tools & the SearchIO object model
  • Exercise:
    • Hypothesis: Biopython simplifies handling of BLAST results
    • Activity: Compare Biopython BLAST parsing with manual parsing

🔷 Module VII: Advanced Analysis and Visualization

  • Phylogenetics with Bio.Phylo
    • Demo: "What’s in a Tree?"
    • I/O functions, viewing, exporting phylogenetic trees
  • Cluster analysis, supervised learning (Regression & KNN)
  • Graphics using Genomediagram
  • Final project presentations
  • Exercise:
    • Hypothesis: Bio.Phylo simplifies tree handling and visualization
    • Validate Biopython analysis tools using benchmark datasets

🔗 Online Resource: Biopython Tutorial & Cookbook

Click below to access the official Biopython tutorial:


👉 Open Biopython Tutorial & Cookbook

📘 Text Books

S.No. Title Author(s) / Link
1 Biopython Tutorial and Cookbook Jeff Chang, Brad Chapman, Iddo Friedberg, Thomas Hamelryck, Michiel de Hoon, Peter Cock, Tiago Antao, Eric Talevich, Bartek Wilczyński


👉 Open Textbook Link

🧪 Practical Session Plan – Programming for Biosciences (Biopython)

Session No. Topic / Title Activities / Tasks Expected Outcome
MODULE 1 — Biopython Fundamentals (Sessions 1–10)
P1 Introduction to Biopython Install Biopython, verify environment Understand Biopython setup
P2 Working with Seq Objects Create, slice, edit sequences Perform basic sequence operations
P3 Sequence Transformations Case changes, length, composition Manipulate sequence structure
P4 Parsing FASTA Files Read/write FASTA via SeqIO Import FASTA sequences
P5 Parsing GenBank Files Extract annotations, metadata Understand annotated data
P6 Falsification Task 1 Compare manual vs. Biopython parsing Evaluate parsing efficiency
P7 Reverse Complement & GC% Calculation Compute complement, GC% Perform nucleotide analysis
P8 Transcription & Transliteration DNA→RNA workflows Model biological processes
P9 Translation Translate ORFs, validate protein outputs Perform accurate translation
P10 Mini-Project 1 Build FASTA parsing workflow Create automated sequence pipeline
MODULE 2 — Advanced Sequence Handling (Sessions 11–20)
P11 SeqRecord Object Create annotated records Understand container structure
P12 Annotation & Qualifiers Add features, metadata Build rich annotations
P13 Location Objects Start/stop, fuzzy locations Manage feature coordinates
P14 GenBank Feature Extraction CDS, exons, UTRs Analyze feature-rich sequences
P15 Falsification Task 2 Compare annotated vs plain sequences Interpret annotation importance
P16 Writing FASTA & GenBank Export sequences Create standard format files
P17 Sequence Dictionaries Build lookup maps Efficient sequence retrieval
P18 Automated Parsing Scripts Batch parse multiple files Create automation workflows
P19 Error Handling try/except parsing Robust processing
P20 Mini-Project 2 Genome annotation workflow Understand complex annotations
MODULE 3 — File Parsing, BLAST & Entrez (Sessions 21–30)
P21 File Reading/Writing SeqIO, AlignIO Manage data formats
P22 Sequence Dictionaries Map IDs → sequences Fast retrieval
P23 NCBI Entrez Basics esearch, efetch Retrieve remote data
P24 NCBI Metadata Access esummary, elink Access biological metadata
P25 Fetching FASTA/GenBank Automated downloads Streamline data access
P26 Falsification Task 3 Speed comparison: manual vs Biopython Understand efficiency differences
P27 Running BLAST Online qblast execution Perform similarity search
P28 Parsing BLAST Output XML parsing Interpret BLAST results
P29 Local BLAST Setup BLAST+ installation High-speed alignment
P30 Mini-Project 3 BLAST automation pipeline Integrate BLAST into workflows
MODULE 4 — Multiple Sequence Alignment (Sessions 31–40)
P31 Alignment Basics Load alignment files Interpret alignment structure
P32 Pairwise Alignment globalxx, localxx Perform pairwise comparisons
P33 ClustalW Alignment Execute MSA Generate standard MSA
P34 MUSCLE Alignment Run advanced MSA Generate high-quality alignments
P35 Alignment Slicing Column, row slicing Analyze variability
P36 Array Representation Convert alignment to arrays Perform numeric analysis
P37 Falsification Task 4 Compare MSA tools vs reference Evaluate alignment accuracy
P38 Writing MSA Files Export aligned sequences Create publication files
P39 MSA Visualization Plot alignment patterns Visual analysis of MSA
P40 Mini-Project 4 Comparative alignment project Interpret alignment differences

🔵 PRACTICAL SESSION PLAN – MODULE 5
Multiple Sequence Alignment

Session Topic Activities Outcome
P41 Introduction to AlignIO Read alignment files; navigate objects Understand alignment structures
P42 Pairwise Alignment Use globalxx, localxx scoring Perform pairwise alignment
P43 ClustalW Execution Run ClustalW via Biopython Generate MSA using ClustalW
P44 MUSCLE Alignment Perform MUSCLE-based alignment Compare MSA tools
P45 Alignment Slicing Slice columns/rows; analyze variation Extract region-specific insights
P46 Alignment Arrays Convert alignments to arrays Enable numerical alignment analysis
P47 Falsification: MSA Accuracy Compare aligners with references Evaluate tool accuracy
P48 Writing MSA Files Export aligned sequences Save MSA in various formats
P49 MSA Visualization Plot and analyze alignments Interpret alignment visually
P50 Mini-Project Comparative alignment study Complete an MSA workflow

🔵 PRACTICAL SESSION PLAN – MODULE 6
BLAST, Entrez & Search Tools

Session Topic Activities Outcome
P51 Introduction to NCBI Entrez Use esearch, efetch Retrieve biological data
P52 Advanced Entrez Queries Filters, summaries Master NCBI API usage
P53 Online BLAST (qblast) Submit BLAST jobs Perform similarity searches
P54 Parsing BLAST XML Extract hits, scores, e-values Analyze BLAST results
P55 Local BLAST Setup Install BLAST+ and run locally Perform offline BLAST searches
P56 Using SearchIO Parse BLAST, HMMER Handle multiple search outputs
P57 Falsification: BLAST Efficiency Compare manual vs Biopython parsing Evaluate automation benefits
P58 Batch BLAST Automation Run BLAST on multiple sequences Build BLAST pipelines
P59 BLAST Visualization Plot BLAST metrics Interpret BLAST results graphically
P60 Mini-Project BLAST-based annotation workflow Complete annotated BLAST pipeline

🔵 PRACTICAL SESSION PLAN – MODULE 7
Phylogenetics, Visualization & Final Pipelines

Session Topic Activities Outcome
P61 Intro to Bio.Phylo Load and inspect trees Understand tree structures
P62 Tree I/O Operations Read/write Newick, Nexus files Handle phylogenetic formats
P63 Tree Visualization Plot trees using Bio.Phylo Interpret phylogenetic trees
P64 Tree Comparison Methods Topology comparison, distance metrics Evaluate evolutionary relationships
P65 Gene Diagram Visualization Use GenomeDiagram Draw gene structures
P66 Machine Learning Basics KNN, Regression demos Link ML with genomics
P67 Falsification Task: Phylogeny Compare manual vs. Biopython trees Validate tool-based phylogenies
P68 Integrated Workflow I BLAST → MSA → Tree pipeline Understand end-to-end analysis
P69 Integrated Workflow II Build full evolutionary workflow Execute advanced pipelines
P70 Final Practical Project Presentation of pipeline results Demonstrate complete mastery

Our Main Teachers