Jeff Chang, Brad Chapman, Iddo Friedberg, Thomas Hamelryck, Michiel de Hoon, Peter Cock, Tiago Antao, Eric Talevich, Bartek Wilczyński
Last Update – February 12, 2023 (Biopython 1.81)
- Chapter 1 Introduction
- Chapter 2 Quick Start – What can you do with Biopython?
- 2.1 General overview of what Biopython provides
- 2.2 Working with sequences
- 2.3 A usage example
- 2.4 Parsing sequence file formats
- 2.5 Connecting with biological databases
- 2.6 What to do next
- Chapter 3 Sequence objects
- 3.1 Sequences act like strings
- 3.2 Slicing a sequence
- 3.3 Turning Seq objects into strings
- 3.4 Concatenating or adding sequences
- 3.5 Changing case
- 3.6 Nucleotide sequences and (reverse) complements
- 3.7 Transcription
- 3.8 Translation
- 3.9 Translation Tables
- 3.10 Comparing Seq objects
- 3.11 Sequences with unknown sequence contents
- 3.12 Sequences with partially defined sequence contents
- 3.13 MutableSeq objects
- 3.14 Working with strings directly
- Chapter 4 Sequence annotation objects
- 4.1 The SeqRecord object
- 4.2 Creating a SeqRecord
- 4.3 Feature, location and position objects
- 4.4 Comparison
- 4.5 References
- 4.6 The format method
- 4.7 Slicing a SeqRecord
- 4.8 Adding SeqRecord objects
- 4.9 Reverse-complementing SeqRecord objects
- Chapter 5 Sequence Input/Output
- 5.1 Parsing or Reading Sequences
- 5.2 Parsing sequences from compressed files
- 5.3 Parsing sequences from the net
- 5.4 Sequence files as Dictionaries
- 5.5 Writing Sequence Files
- 5.6 Low level FASTA and FASTQ parsers
- Chapter 6 Multiple Sequence Alignment objects
- 6.1 Parsing or Reading Sequence Alignments
- 6.2 Writing Alignments
- 6.3 Manipulating Alignments
- 6.4 Getting information on the alignment
- 6.5 Alignment Tools
- 6.6 Pairwise sequence alignment
- 6.6.1 Basic usage
- 6.6.2 The pairwise aligner object
- 6.6.3 Substitution scores
- 6.6.4 Affine gap scores
- 6.6.5 General gap scores
- 6.6.6 Using a pre-defined substitution matrix and gap scores
- 6.6.7 Iterating over alignments
- 6.6.8 Alignment objects
- 6.6.9 Aligning to the reverse strand
- 6.6.10 Examples
- 6.6.11 Generalized pairwise alignments
- 6.7 Substitution matrices
- 6.8 Pairwise alignments using pairwise2
- Chapter 7 BLAST
- Chapter 8 BLAST and other sequence search tools
- Chapter 9 Accessing NCBI’s Entrez databases
- 9.1 Entrez Guidelines
- 9.2 EInfo: Obtaining information about the Entrez databases
- 9.3 ESearch: Searching the Entrez databases
- 9.4 EPost: Uploading a list of identifiers
- 9.5 ESummary: Retrieving summaries from primary IDs
- 9.6 EFetch: Downloading full records from Entrez
- 9.7 ELink: Searching for related items in NCBI Entrez
- 9.8 EGQuery: Global Query - counts for search terms
- 9.9 ESpell: Obtaining spelling suggestions
- 9.10 Parsing huge Entrez XML files
- 9.11 HTML escape characters
- 9.12 Handling errors
- 9.13 Specialized parsers
- 9.14 Using a proxy
- 9.15 Examples
- 9.16 Using the history and WebEnv
- Chapter 10 Swiss-Prot and ExPASy
- 10.1 Parsing Swiss-Prot files
- 10.2 Parsing Prosite records
- 10.3 Parsing Prosite documentation records
- 10.4 Parsing Enzyme records
- 10.5 Accessing the ExPASy server
- 10.6 Scanning the Prosite database
- Chapter 11 Going 3D: The PDB module
- 11.1 Reading and writing crystal structure files
- 11.2 Structure representation
- 11.3 Disorder
- 11.4 Hetero residues
- 11.5 Navigating through a Structure object
- 11.6 Analyzing structures
- 11.6.1 Measuring distances
- 11.6.2 Measuring angles
- 11.6.3 Measuring torsion angles
- 11.6.4 Internal coordinates module - distances, angles, torsion angles, distance plots and more
- 11.6.5 Determining atom-atom contacts
- 11.6.6 Superimposing two structures
- 11.6.7 Mapping the residues of two related structures onto each other
- 11.6.8 Calculating the Half Sphere Exposure
- 11.6.9 Determining the secondary structure
- 11.6.10 Calculating the residue depth
- 11.7 Common problems in PDB files
- 11.8 Accessing the Protein Data Bank
- 11.9 General questions
- Chapter 12 Bio.PopGen: Population genetics
- Chapter 13 Phylogenetics with Bio.Phylo
- 13.1 Demo: What’s in a Tree?
- 13.2 I/O functions
- 13.3 View and export trees
- 13.4 Using Tree and Clade objects
- 13.5 Running external applications
- 13.6 PAML integration
- 13.7 Future plans
- Chapter 14 Sequence motif analysis using Bio.motifs
- 14.1 Motif objects
- 14.2 Reading motifs
- 14.3 Writing motifs
- 14.4 Position-Weight Matrices
- 14.5 Position-Specific Scoring Matrices
- 14.6 Searching for instances
- 14.7 Each motif object has an associated Position-Specific Scoring Matrix
- 14.8 Comparing motifs
- 14.9 De novo motif finding
- 14.10 Useful links
- Chapter 15 Cluster analysis
- Chapter 16 Supervised learning methods
- 16.1 The Logistic Regression Model
- 16.2 k-Nearest Neighbors
- 16.3 Naïve Bayes
- 16.4 Maximum Entropy
- 16.5 Markov Models
- Chapter 17 Graphics including GenomeDiagram
- 17.1 GenomeDiagram
- 17.1.1 Introduction
- 17.1.2 Diagrams, tracks, feature-sets and features
- 17.1.3 A top down example
- 17.1.4 A bottom up example
- 17.1.5 Features without a SeqFeature
- 17.1.6 Feature captions
- 17.1.7 Feature sigils
- 17.1.8 Arrow sigils
- 17.1.9 A nice example
- 17.1.10 Multiple tracks
- 17.1.11 Cross-Links between tracks
- 17.1.12 Further options
- 17.1.13 Converting old code
- 17.2 Chromosomes
- 17.1 GenomeDiagram
- Chapter 18 KEGG
- Chapter 19 Bio.phenotype: analyze phenotypic data
- Chapter 20 Cookbook – Cool things to do with it
- 20.1 Working with sequence files
- 20.1.1 Filtering a sequence file
- 20.1.2 Producing randomized genomes
- 20.1.3 Translating a FASTA file of CDS entries
- 20.1.4 Making the sequences in a FASTA file upper case
- 20.1.5 Sorting a sequence file
- 20.1.6 Simple quality filtering for FASTQ files
- 20.1.7 Trimming off primer sequences
- 20.1.8 Trimming off adaptor sequences
- 20.1.9 Converting FASTQ files
- 20.1.10 Converting FASTA and QUAL files into FASTQ files
- 20.1.11 Indexing a FASTQ file
- 20.1.12 Converting SFF files
- 20.1.13 Identifying open reading frames
- 20.2 Sequence parsing plus simple plots
- 20.3 Dealing with alignments
- 20.4 Substitution Matrices
- 20.5 BioSQL – storing sequences in a relational database
- 20.1 Working with sequence files
- Chapter 21 The Biopython testing framework
- 21.1 Running the tests
- 21.2 Writing tests
- 21.3 Writing doctests
- 21.4 Writing doctests in the Tutorial
- Chapter 22 Where to go from here – contributing to Biopython
- Chapter 23 Appendix: Useful stuff about Python
- 23.1 What the heck is a handle?