Syllabus: Python & BioPython(Optional)
Introduction to Languages
- What is Language?
- Types of languages
- Introduction to Translators
- Compiler Interpreter
- What is Scripting Language?
- Types of Script Programming Languages v/s Scripting Languages
- Difference between Scripting and Programming languages
- What is programming Methods?
- Procedural programming paradigm
- Object Oriented Programming paradigm
Introduction to Python
- What is Python?
- WHY PYTHON?
- Features
- Why Python is General Language?
- Limitations of Python
- Python implementations
- Python applications
- Python versions
- PYTHON IN REALTIME INDUSTRY
- Difference between Python 2.x and 3.x
Python Software
- Python Distributions
- Download & Python Installation Process in Windows, Unix, Linux and Mac
- Python Real-time IDEs like Spyder, Jupyter Note Book, PyCharm, MS VS Code, ATOM, Pycharm Pip
Python Language Fundamentals
- Python Implementation Alternatives/Flavours
- Keywords ,Identifiers ,Constants / Literals ,Data types ,Python Syntax
Useful facts and syntax in Python
- Interactive Mode
- Scripting Mode
- Programming Elements
- Structure of Python program
- First Python Application
- Comments in Python
- Python file extensions
- Setting Path in Windows
- Edit and Run python program without IDE
- Edit and Run python program using IDEs
- INSIDE PYTHON
- Programmers View of Interpreter
- What is Byte Code in PYTHON?
- Python Debugger
Variables in Python
- Data Type
- String Formatting in Python
- Introduction
- Initialization of variables
- Local variables
- Global variables
- Input and Output operations
- Data conversion functions – int(), float(), complex(), str(), chr(), ord()
Operators in Python
- Arithmetic Operators
- Comparison Operators
- Python Assignment Operators
- Logical Operators
- Bitwise Operators
- Shift operators
- Membership Operators
- Identity Operators
- Ternary Operator
- Operator precedence
- Difference between “is” vs “==”
Input & Output Operators in Python
- Input
- Command-line arguments
Control Statements in Python
- Conditional control statements
- If
- If-else
- If-elif-else
- Nested-if
- Loop control statements
- for
- while
- Nested loops
- Branching statements
- Break
- Continue
- Pass
- Return
Exception Handling & Types of Errors in Python
- What is Exception?
- Why exception handling?
- Syntax error v/s Runtime error
- Exception codes – AttributeError, ValueError, IndexError, TypeError…
- Handling exception – try except block
- Try with multi except
- Handling multiple exceptions with single except block
- Finally block
- Try-except-finally
- Try with finally
- Case study of finally block
- Raise keyword
- Custom exceptions / User defined exceptions
- Need to Custom exceptions
Data Structures or Collections in Python
- Introduction
- Importance of Data structures
- Applications of Data structures
- Types of Collections
- Sequence
- Strings, List, Tuple, range
- Non sequence
- Set, Frozen set, Dictionary
Strings in Python
- What is string
- Representation of Strings
- Processing elements using indexing
- Processing elements using Iterators
- Manipulation of String using Indexing and Slicing
- String operators
- Methods of String object
- String Formatting
- String functions
- String Immutability
List Collection in Python
- What is List
- Need of List collection
- Different ways of creating List
- List comprehension
- List indices
- Processing elements of List through Indexing and Slicing
- List object methods
- List is Mutable
- Mutable and Immutable elements of List
- Nested Lists
- List_of_lists
- Hardcopy, shallowCopy and DeepCopy
- zip() in Python
- How to unzip?
- Python Arrays
Tuple Collection in Python
- What is tuple?
- Different ways of creating Tuple
- Method of Tuple object
- Tuple is Immutable
- Mutable and Immutable elements of Tuple
- Process tuple through Indexing and Slicing
- List v/s Tuple
Set Collection in Python
- What is set?
- Different ways of creating set
- Difference between list and set
- Iteration Over Sets
- Accessing elements of set
- Python Set Methods
- Python Set Operations
- Union of sets
- functions and methods of set
- Python Frozen set
- Difference between set and frozenset ?
Dictionary Collection in Python
- What is dictionary?
- Difference between list, set and dictionary
- How to create a dictionary?
- PYTHON HASHING?
- Accessing values of dictionary
- Python Dictionary Methods
- Copying dictionary
- Updating Dictionary
- Reading keys from Dictionary
- Reading values from Dictionary
- Reading items from Dictionary
- Delete Keys from the dictionary
- Sorting the Dictionary
- Python Dictionary Functions and methods
- Dictionary comprehension
Functions in Python
- What is Function?
- Advantages of functions
- Syntax and Writing function
- Calling or Invoking function
- Classification of Functions
- No arguments and No return values
- With arguments and No return values
- With arguments and With return values
- No arguments and With return values
- Recursion
- Python argument type functions :
- Default argument functions
- Required(Positional) arguments function
- Keyword arguments function
- Variable arguments functions
- ‘pass’ keyword in functions
- Lambda functions/Anonymous functions
- map()
- filter()
- reduce()
- Nested functions
- Non local variables, global variables
- Closures
- Decorators
- Generators
- Iterators
- Monkey patching
Bio-Python
-Introduction
-Installing Bio-Python
-Working with sequence
-Connecting with biological database
-Sequence annotation Object
-Sequence Input/Output
-Multiple Sequence Alignment Object
-Blast Running over internet
-Blast and other sequence searching tools
-Searing Enterez Database EMBL
-Searching NCBI Database
-Phylogenetic with Bio-Python
-BioSQL connectivity
Bio-Python Academic Project Work (Optional):
- Bio-Python for Sequence Alignment
- Bio-Python for Sequence Search
- Bio-Python for Annotation
BioPython
- The fields of bioinformatics and computational biology involve the development and application of tools such as bioperl to make biological discoveries. some people enter the field as a biologist who learns how to use the tools or as computer scientists/engineers who are able to build tools. A solid background in both biology and BioPython is extremely helpful