Bioinformatics · Universitat Politècnica de Catalunya
Nucleotide
Protein Sequence
Protein Structure
Genetic Variability
Expression
Disease
Metabolic/Proteic Pathways
In-level (nucleotide \leftrightarrows nucleotide)
Cross-level (nucleotide \leftrightarrows protein)
Databases can be accessed locally or online.
Most DBs offer a dual access (web based, API services).
There are two main types of DBs access.
Human access. Exploratory queries. Few queries.
Mostly used in cross-reference.
Massive programmatic access.
Some DBs limit the access/IP/hour.
Most can be downloaded.
Raw experimental results.
Initial interpretation (Nucleotide sequences).
Protein sequence records. Reviewed annotations add a derived layer of interpretation.
Collection of conserved protein motifs.
Aggregation of Primary databases.
Results are very specific of query time. Is the database updated regularly?
Formal and explicit specifications of the terms used, and the relationship between them.
from Groß et al. 2009
from Groß et al. 2009
from Groß et al. 2009
from Groß et al. 2009
Sequence of chromosomal DNA.
Derived from genome sequencing projects (GenBank).
Sequences of DNA molecules that have been synthesized by reverse transcription of mRNA molecules).lack any intronic/control sequences related to the gene.
An EST is a partial cDNA sequence.
A library of EST, indicates the range of genes being expressed in a sample.
| Symbol | Meaning | Origin of designation |
|---|---|---|
| G | G | Guanine |
| A | A | Adenine |
| T | T | Thymine |
| C | C | Cytosine |
| R | G or A | puRine |
| Symbol | Meaning | Origin of designation |
|---|---|---|
| Y | T or C | pYrimidine |
| M | A or C | aMino |
| K | G or T | Keto |
| S | G or C | Strong interaction (3 H bonds) |
| W | A or T | Weak interaction (2 H bonds) |
| Symbol | Meaning | Origin of designation |
|---|---|---|
| H | A or C or T | not-G, H follows G in the alphabet |
| B | G or T or C | not-A, B follows A |
| V | G or C or A | not-T (not-U), V follows U |
| D | G or A or T | not-C, D follows C |
| N | G or A or T or C | aNy |
RefSeq accessions have an underscore after the two-letter prefix.
| Prefix | Common meaning |
|---|---|
NC_ |
Complete genomic molecule |
NM_ / NR_ |
RefSeq mRNA / non-coding RNA |
NP_ |
RefSeq protein |
XM_ / XR_ / XP_ |
Computational model transcript / protein |
The accession version identifies a specific sequence version.
The Gene Ontology Project (http://www.geneontology.org/)
Human Gene Mutation Database (HGMD) (http://www.hgmd.cf.ac.uk)
Gene Cards (http://www.genecards.org)
The Mouse Genome Informatics (http://www.informatics.jax.org)
Protein Structure Classification CATH (http://www.cathdb.info/)
NCBI Short Genetic Variations Database (dbSNP) (https://www.ncbi.nlm.nih.gov/snp/)
Human Phenotype Ontology (https://hpo.jax.org)
PRINTS Database (Protein Fingerprints) (http://bioinf.man.ac.uk/dbbrowser/PRINTS/)
Kyoto encyclopedia of Genes and Genomes (just PATHWAY Section) (http://www.genome.jp/kegg/)
Database of Genomic Variants (http://projects.tcag.ca/variation/)
Reactome (https://reactome.org)
STRING - Known and Predicted Protein-Protein Interactions (http://string-db.org/)
BioGRID - Biological General Repository for Interaction Datasets (http://thebiogrid.org/)
OMIM - Online Mendelian Inheritance in Man (https://www.omim.org)
Pfam protein families in InterPro (https://www.ebi.ac.uk/interpro/entry/pfam/)
Describe the following items for your database (if applicable).
Historic remark, research group/company, url, purpose, primary/secondary.
Database architecture and organization.
Annotation Statistics.
Annotation format, main IDs description.
Entry example/s description.
Curation (manual, automatic, evidence codes or levels).
Programmatic access (webservice, location, available software packages for remote access).
Access conditions/license.
The European Molecular Biology Open Software Suite. EMBOSS is a free Open Source software analysis package specially developed for the needs of the molecular biology (e.g. EMBnet) user community.
The software automatically copes with data in a variety of formats and even allows transparent retrieval of sequence data from the web.
Extensive libraries are provided with the package, it is a platform to allow other scientists to develop and release software in true open source spirit.
EMBOSS also integrates a range of currently available packages and tools for sequence analysis into a seamless whole. EMBOSS breaks the historical trend towards commercial software packages
Sequence alignment .
Rapid database searching with sequence patterns.
Protein motif identification, including domain analysis
EST analysis
Nucleotide sequence pattern analysis, for example to identify CpG islands.
Simple and species-specific repeat identification
Codon usage analysis for small genomes
Rapid identification of sequence patterns in large scale sequence sets.
Presentation tools for publication.
…
Annual Database Issue of Nucleic Acids Research
Bio-Perl.
Bio-Java.
Bio-Python.
R, through Bioconductor.
Perl is a general-purpose language with a long history in text processing.
http://perl.org
Interpreted.
Some features similar to UNIX shell.
Some other features extracted from AWK, regexp and sed.
Automatic memory-management.
Extremely fast on text processing.
Classic language for CGI-scripting on web.
Also used in finance and bioinformatics.
BioPerl is a toolkit of perl modules useful in building bioinformatics solutions in Perl.
http://bioperl.org
Object oriented.
bioperl-live repository consists of the core of the functionality of bioperl.
bioperl-db persistent storage in RDMBS.
bioperl-gui auxiliary modules for creating graphical interfaces.
bioperl-pipeline software to automate bioinformatic analyses.
bioperl-pedigree objects for Pedigrees, Individuals, Markers, & Genotypes.
from Bio import SeqIO
records = list(SeqIO.parse("data/example.fa", "fasta"))
total = sum(len(r) for r in records)
if total == 0:
raise ValueError("No sequence bases found")
gc = sum(str(r.seq).upper().count(b)
for r in records for b in "GC")
print(f"Total bases: {total}")
print(f"GC content: {100 * gc / total:.1f}%")This is a Python example. It includes ambiguous symbols in the denominator.
A open source project dedicated to providing a Java framework for processing biological data.
http://biojava.org
Manipulating biological sequences, file parsers.
DAS client and server support.
Access to BioSQL and Ensembl databases.
Tools for making sequence analysis GUIs.
Powerful analysis and statistical routines including a dynamic programming toolkit.
Web programming, multiplatform.
This example uses the modern org.biojava.nbio namespace. For FASTA files, use BioJava’s FastaReaderHelper.
Powerful dynamic programming language (“batteries included”)
http://python.org
Very clear, readable syntax.
Intuitive object orientation
Natural expression of procedural code
Full modularity, supporting hierarchical packages
Very high level dynamic data types
Extensive standard libraries and third party modules for virtually every task.
Extensions and modules easily written in C, C++ (or Java for Jython, or .NET languages for IronPython)
Embeddable within applications as a scripting interface
Biopython provides Python tools for working with biological data.
Bio.SeqIO.Biopython Tutorial and Cookbook, By Jeff Chang, Brad Chapman, Iddo Friedberg, Thomas Hamelryck, Michiel de Hoon, Peter Cock, Tiago Antao, Eric Talevich, Bartek Wilczyński.
The denominator includes all symbols. Ambiguous bases contribute to length but not to the G + C count.
For "aCgTN", the GC content under this convention is 40%.
from Bio import SeqIO
from Bio.Graphics import GenomeDiagram
from reportlab.lib import colors
record = SeqIO.read("data/NC_005816.gb", "genbank")
diagram = GenomeDiagram.Diagram(record.id)
track = diagram.new_track(1, name="Coding sequences")
features = track.new_set()
for feature in record.features:
if feature.type == "CDS":
features.add_feature(feature, color=colors.teal)SeqIO.read() expects one record. Use SeqIO.parse() for a file containing several records.
The diagram uses the annotated coding-sequence coordinates in the GenBank record.

Bioinformatics · UPC · b2slab