per person /
$

Free

Home Courses

Programming for BioSciences (BIOPYTHON)

Programming for BioSciences (BIOPYTHON)

Teacher

N.V.S. Shankar

Category

Course Attendees

Still no participant

Course Reviews

Still no reviews


COURSE NAME: Programming for BioSciences (BIOPYTHON)
COURSE CODE & CREDITS: CUBS2547 (0-2-2)

COURSE OBJECTIVES
At the end of the course, participants will be able to:
  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. They will be able to implement and interpret pairwise sequence alignments, understand substitution matrices, and effectively use popular alignment tools like ClustalW and MUSCLE. (L4)
  3. demonstrate mastery in utilizing Biopython for complex tasks, such as accessing and querying NCBI’s Entrez databases, integrating sequence search tools like BLAST, and employing advanced phylogenetic analysis with Bio.Phylo. Students will be able to design and execute sophisticated bioinformatics workflows, showcasing a comprehensive understanding of both theoretical concepts and practical applications in the field. (L6)

COURSE OUTCOMES
Upon completion of the course, participants will
  1. demonstrate proficiency in parsing and manipulating biological sequences using Biopython, including the ability to perform basic sequence operations, work with different file formats, and connect with biological databases. (L2)
  2. master advanced multiple sequence alignment techniques in Biopython, showcasing their ability to create, manipulate, and analyze complex sequence alignments. They will proficiently apply popular alignment tools such as ClustalW and MUSCLE to align diverse biological sequences. (L4)
  3. exhibit expertise in designing and executing sophisticated bioinformatics workflows using Biopython. They will demonstrate mastery in tasks such as sequence search (BLAST), database querying (Entrez), and advanced phylogenetic analysis, showcasing proficiency in handling large datasets and utilizing external applications like PAML. (L6)

CO-PO Mapping
PO1:
Engineering Knowledge
PO2:
Problem Analysis
PO3:
Design/Development of Solutions
PO4:
Conduct Investigations of Complex Problems
PO5:
Modern Tool Usage
PO6:
The Engineer and Society
PO7:
Environment and Sustainability
PO8:
Ethics
PO9:
Individual and Team Work
PO10:
Communication
PO11:
Project Management and Finance
PO12:
Life-long Learning
   CO1   32--32------
   CO2   -3333-------
   CO3   --3332222222

Course Contents
  • Module I: Overview of Biopython
    • General overview of what Biopython provides
    • Working with sequences - A usage example
    • Parsing sequence file formats
      • Simple FASTA parsing example
      • Simple GenBank parsing example
    • Connecting with biological databases
  • Module II: Sequences
    • Sequence objects
      • Sequences act like strings
      • Slicing a sequence
      • Turning Seq objects into strings
      • Concatenating or adding sequences
      • Changing case
      • Nucleotide sequences and (reverse) complements
      • Transcription
      • Translation
      • Translation Tables
      • Comparing Seq objects
      • Sequences with unknown sequence contents
      • Sequences with partially defined sequence contents
      • Mutable Seq objects
      • Working with strings directly
    • Sequence annotation objects
      • The SeqRecord object
      • Creating a SeqRecord
        • SeqRecord objects from scratch
        • SeqRecord objects from FASTA files
        • SeqRecord objects from GenBank files
      • Feature, location and position objects
        • SeqFeature objects
        • Positions and locations
        • Sequence described by a feature or location
      • Comparison
      • The format method
      • Slicing a SeqRecord
      • Adding SeqRecord object
      • Reverse-complementing SeqRecord objects
    • Parsing Bioinformatics Files
      • Reading Sequences from files
      • Loading Sequences from Net
      • Writing sequences to files
      • Sequences as dictionaries
  • Module III: Multiple Sequence Alignment objects
    • Parsing or Reading Sequence Alignments
      • Single Alignments
      • Multiple Alignments
      • Ambiguous Alignments
    • Writing Alignments
      • Converting between sequence alignment file formats
      • Getting your alignment objects as formatted strings
    • Manipulating Alignments
      • Slicing alignments
      • Alignments as arrays
    • Getting information on the alignment
      • Substitutions
    • Alignment Tools
      • ClustalW
      • MUSCLE
      • MUSCLE using stdout
      • MUSCLE using stdin and stdout
      • EMBOSS needle and water
    • Pairwise sequence alignment
      • Basic usage
      • The pairwise aligner object
      • Substitution score
      • Affine gap scores
      • General gap scores
      • Using a pre-defined substitution matrix and gap score
      • Iterating over alignments
      • Alignment objects
      • Aligning to the reverse strand
      • Examples
      • Generalized pairwise alignments
    • Substitution matrices
      • Creating an Array object
      • Calculating a substitution matrix from a pairwise sequence alignment
      • Reading Array objects from file
      • Loading predefined substitution matrices
    • Pairwise alignments using pairwise2
  • Module IV: BLAST and Other Sequence Search Tools
    • BLAST
      • Running BLAST over the Internet
      • Running BLAST locally
        • Introduction
        • Standalone NCBI BLAST+
        • Other versions of BLAST
      • Parsing BLAST output
      • The BLAST record class
      • Dealing with PSI-BLAST
      • Dealing with RPS-BLAST
    • Other sequence search tools
      • The SearchIO object model
        • QueryResult
        • Hit
        • HSP
        • HSPFragment
      • A note about standards and conventions
      • Reading search output files
      • Dealing with large search output files with indexing
      • Writing and converting search output files
  • Module V: Accessing NCBI’s Entrez databases
    • Entrez Guidelines
    • EInfo: Obtaining information about the Entrez databases
    • ESearch: Searching the Entrez databases
    • EPost: Uploading a list of identifiers
    • ESummary: Retrieving summaries from primary IDs
    • EFetch: Downloading full records from Entrez
    • ELink: Searching for related items in NCBI Entrez
    • EGQuery: Global Query - counts for search terms
    • ESpell: Obtaining spelling suggestions
    • Parsing huge Entrez XML files
    • HTML escape characters
    • Handling errors
    • Specialized parsers
      • Parsing Medline records
      • Parsing GEO records
      • Parsing UniGene records
      • Using a proxy
    • Examples
      • PubMed and Medline
      • Searching, downloading, and parsing Entrez Nucleotide records
      • Searching, downloading, and parsing GenBank records
      • Finding the lineage of an organism
    • Using the history and WebEnv
      • Searching for and downloading sequences using the history
      • Searching for and downloading abstracts using the history
      • Searching for citations
    • Parsing huge Entrez XML files
    • HTML escape characters
    • Handling error
    • Specialized parser
      • Parsing Medline records
      • Parsing GEO records
      • Parsing UniGene records
    • Using a proxy
    • Examples
      • PubMed and Medline
      • Searching, downloading, and parsing Entrez Nucleotide records
      • Searching, downloading, and parsing GenBank records
      • Finding the lineage of an organism
    • Using the history and WebEnv
      • Searching for and downloading sequences using the history
      • Searching for and downloading abstracts using the history
      • Searching for citations
  • Module VI: Phylogenetics with Bio.Phylo
    • Demo: What’s in a Tree?
      • Coloring branches within a tree
    • I/O functions
    • View and export trees
    • Using Tree and Clade objects
      • Search and traversal methods
      • Information methods
      • Modification methods
      • Features of PhyloXML trees
    • Running external applications
    • PAML integration
    • Graphics using Genomediagram
  • Module VII: Analysis
    • Cluster Analysis
    • Supervised Learning: Regression & KNN

References
  1. Jeff Chang, Brad Chapman, Iddo Friedberg, Thomas Hamelryck, Michiel de Hoon, Peter Cock, Tiago Antao, Eric Talevich, Bartek Wilczy´nski, "Biopython Tutorial and Cookbook"

SESSION PLAN (each session is for 3 hrs)
Session 1: Introducton to Biopython and its capabilities, Using sequences as strings, working with sequence record objects (Chapter 1,2,3 or Reference 1)
Session 2: Working with sequence files (Chapter 4 and 5 or Reference 1)
Session 3: Working with multiple sequence alignment objects and using alignment tools
Session 4: Working with BLAST
Session 5: Working with other sequence search tools
Session 6: Working with other NCBI's Erntz database
Session 7: Working with other NCBI's Erntz database
Session 8: Phylogentics with Bio.Phylo: working with trees and I/O functions
Session 9: Running external applications and PAML integration
Session 10: Graphics using genomediagram
Session 11: Cluster Analysis
Session 12: Supervised learning: Regression and KNN

Our Main Teachers

N.V.S. Shankar

Associate Professor
VIEW PROFILE