Monday, June 6, 2011
Agilent Integrated Biology Grant Program
Funds will support academic or nonprofit research projects covering the development of open source Agilent-compatible software tools for integrating data from different omics platforms—genomics, transcriptomics, proteomics, and metabolomics. Click here for full details on eligibility, submission, and the review process.
Grant 1: Validating Protein Pathway Information—Integrating Proteomic Data with Transcriptomic or Metabolomic Data Sets. The purpose of this initiative is to support the development or improvement of advanced mass spectrometry informatics tools that drive integration of gene expression, metabolomic, and targeted proteomics data. Specifically, we are looking for proposals that focus on automation of targeted mass spectrometry-based proteomics experiments (e.g., SRM, exact mass) aimed at hypothesis testing or validation of protein pathways and/or interaction networks generated by integrating existing transcriptomic and/or metabolomic datasets.
Grant 2: Modeling Disease Progression—Combining Gene Expression and Copy Number Variation Data. The purpose of this initiative is to support the development of advanced microarray and next-generation sequencing-based informatics tools to drive the integration of gene expression and genomic copy number data. Specifically, we are looking for proposals that focus on the correlation of copy number events and whole transcriptome measurements aimed at hypothesis testing or validation of disease progression models.
Agilent Integrated Biology Grant Program
Wednesday, June 1, 2011
Resources for Pathway Analysis, Functional Annotation, and Interactome Reconstruction with Omics Data
Tieri, P., Fuente, A. D., Termanini, A., & Franceschi, C. (2011). Integrating Omics Data for Signaling Pathways, Interactome Reconstruction, and Functional Analysis. In Bioinformatics for Omics Data, Methods in Molecular Biology, vol. 719. doi: 10.1007/978-1-61779-027-0. (PubMed).
The authors give a description about how each of these tools can be used in pathway analysis and functional annotation, along with an example of using several of these resources for mapping the interactome for transcription factor NF-kappa-B.
While a more extensive list of hundreds of tools and databases for biological pathway analysis can be found at Pathguide, this looks like a good starting point.
| • | APID Agile Protein Interaction DataAnalyzer – http://bioinfow.dep.usal.es/apid/index.htm |
| • | Ariadne Genomics Pathway Studio – http://www.ariadnegenomics.com/products/pathway-studio |
| • | BIND Biomolecular Interaction Network Database – http://www.bind.ca |
| • | BioCarta Pathways – http://www.biocarta.com/genes/index.asp |
| • | BioGRID The Biological General Repository for Interaction Datasets – http://www.thebiogrid.org |
| • | BiologicalNetworks – http://biologicalnetworks.net |
| • | CellDesigner – http://www.celldesigner.org |
| • | ClusterMaker – http://www.cgl.ucsf.edu/cytoscape/cluster/clusterMaker.html |
| • | Cytoscape – http://www.cytoscape.org |
| • | DIP Database of Interacting Proteins – http://dip.doe-mbi.ucla.edu/dip/Main.cgi |
| • | Entrez Gene – http://www.ncbi.nlm.nih.gov/gene |
| • | GenMAPP Gene Map Annotator and Pathway Profiler – http://www.genmapp.org |
| • | GraphWeb – http://biit.cs.ut.ee/graphweb |
| • | HPRD Human Protein Reference Database – http://www.hprd.org |
| • | HUBBA Hub objects analyzer – http://hub.iis.sinica.edu.tw/Hubba |
| • | Ingenuity Systems – http://www.ingenuity.com |
| • | IntAct – http://www.ebi.ac.uk/intact |
| • | KEGG Kyoto Encyclopedia of Genes and Genomes – http://www.genome.jp/kegg |
| • | MINT the Molecular INTeraction database – http://mint.bio.uniroma2.it/mint |
| • | NCI-Nature Pathway Interaction Database – http://pid.nci.nih.gov |
| • | NetPath – http://www.netpath.org |
| • | NetworkAnalyzer – http://med.bioinf.mpi-inf.mpg.de/netanalyzer |
| • | |
| • | Pathguide: the pathway resource list – http://www.pathguide.org |
| • | PathVisio – http://www.pathvisio.org |
| • | Pathway Commons – http://www.pathwaycommons.org |
| • | R Project for Statistical Computing – http://www.r-project.org |
| • | Reactome – http://www.reactome.org |
| • | SBW Systems Biology Workbench – http://sbw.sourceforge.net |
| • | TRANSFAC & TRANSPATH – http://www.gene-regulation.com |
| • | TRED Transcriptional Regulatory Element Database – http://rulai.cshl.edu/cgi-bin/TRED |
| • | UniProt – http://www.uniprot.org |
| • | WikiPathways – http://www.wikipathways.org/index.php/WikiPathways |
Integrating Omics data for signaling pathways, interactome reconstruction, and functional analysis.
Friday, May 20, 2011
Using NCBI E-Utilities
What most people don't realize is that this Entrez system is easily adapted for programmatic access (there are lots of details here). For example, recently I was interested in building a co-authorship network for a few investigators in our center, and rather than searching for and exporting this information using the pubmed website, I used the Entrez E-utilities inside a perl script. Python, Ruby and other scripting languages work great too, but I have gotten used to perl for tasks like this. If you don't have access to a linux distribution with perl installed, you can use strawberry perl in Windows.
To start, we need a web retrieval library called LWP::Simple. If for some reason you don't have this installed by default, you should be able to find it in a CPAN search.
use LWP::Simple;
Then, I set up the base url for the entrez utilities.
my $esearch = "http://www.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?" . "db=pubmed&retmax=10000&usehistory=y&term=";
In the above line, you can change the db= to any of the databases listed here. The retmax= value is the maximum number of results to return. The term= value is the collection of search terms you wish to use. In my case, I used an authors last name, initials, and our home institution, Vanderbilt. We then execute the query.
my $q = "Bush WS Vanderbilt";
my $esearch_result = get($esearch . $q);
So here, we use a two-step process --
1. First, the program submits a search to the system. When this happens, their web-servers accept the search request and tag it with WebEnv ID (which the web-dev geeks would call a session variable) and a query key, then conducts the search to find identifiers that match the search request. Since we searched the pubmed database, the identifiers are all pubmed ids. This list of ids is stored on the NCBI servers for a brief time until it expires.
To do anything useful with our list of identifiers sitting on the NCBI servers out there, we need to pull the WebEnv ID and the QueryKey from the esearch result. The following code will yank these out of the XML stuff the web server sends back, and it also gives us a count of the records our query found.
$esearch_result =~
m|
my $Count = $1;
my $QueryKey = $2;
my $WebEnv = $3;
To see these, you can print them if you like:
print "Count = $Count; QueryKey = $QueryKey; WebEnv $WebEnv\n";
2. Next, our program must submit a fetch request to fish out the details for each of these identifiers. We do this using their eSummary engine, which works like so:
my $efetch = "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgidb=gds&query_key=$QueryKey&WebEnv=$WebEnv";
my $efetch_result = get($efetch);
Now within perl, you can parse through this result to pull out any relevant information you might want. In case you don't know, perl is great for parsing text -- all the slashes and squigglies are for doing regular expression pattern matching. For my example, I was curious to see how many people I've been co-author with and on how many publications. I used the following to pull each author/pubmed id combination for a given search term.
@lines = split(/\n/,$efetch_result);
%citarray = ();
$opendoc = 0;
$id = 0;
foreach $line (@lines)
{
if($line =~ /
{
$opendoc = 1;
}
if($line =~ /<\/DocSum>/)
{
$opendoc = 0;
}
if($opendoc == 1 && $line =~ /
{
$id = $1;
}
if($opendoc == 1 && $line =~ /
{
print "$id\t$1\n";
}
}
For the sake of brevity, I'll skip a protracted discussion of the parsing logic I used, but if there is interest, I can elaborate.
In case you are wondering, I loaded this into a database table, joined that table to itself matching on pubmed id, and imported this into Gephi to build our co-authorship network. This was a big hit at the faculty meeting!

Thursday, May 19, 2011
More Command-Line Text Munging Utilities
- changecolumn.jar - replace values in a column of an input file.
- changeline.jar - replace values in a line of an input file.
- cut.jar - extract columns from a file.
- filtercolumns.jar - filters columns of input data according to the values in a line.
- filterlines.jar - filters lines of input data according to the values in a column.
- paste.jar - pastes together files that have shared initial columns followed by data columns.
- transpose.jar - transposes rows and columns of an input file.
BEAGLE Utilities for text manipulation
Tuesday, May 17, 2011
How to Run a Bioinformatics Core
The full editorial recently appeared in Bioinformatics (PubMed):
A few of the key points are:
- Bioinformatics departments should separate service roles from research laboratories (maintains transparency and clarifies allocation of funds).
- Separation of the core into "units" that offer clearly defined services, and installation of "users committees" for each unit that will assist in prioritizing projects needing bioinformatics support.
- Bioinformatics cores should provide training to "bench" biologists, and should nominate a point person for outreach and education in publicly available bioinformatics tools and databases to encourage biologists to incorporate bioinformatics into their research workflow.
The authors tell us that at their respective institutions, they have approximately 1 full-time bioinformatician to support 100 scientists. This seems woefully imbalanced to me, and I wonder how this will change in the near future as more basic science research labs start incorporating large-scale -omics data into their research programs.
Kallioniemi, O., Wessels, L., & Valencia, A. (2011). On the organization of bioinformatics core services in biology-based research institutes. Bioinformatics (Oxford, England), 27(10), 2011-2011. doi: 10.1093/bioinformatics/btr125 (PubMed).
Monday, May 16, 2011
gcol == awk++
For a demonstration of several other "data science hand tools", check out this post at O'Reilly that covers other handy Unix utilities such as grep, colrm, awk, find, xargs, sort, uniq, and others.
gcol - get columns text utility
Monday, May 9, 2011
Accessing Databases From R
Also, if you're new to databases, check out Will's previous post on how to store and organize results from a genetic study using MySQL, or take a look at the w3schools SQL tutorial.
Greater Boston UseR Group Files via (@RevoDavid)
Wednesday, May 4, 2011
PLINK/SEQ for Analyzing Large-Scale Genome Sequencing Data
PLINK/SEQ boasts an impressive feature set for a project still in the beta testing phase. It supports several data types (multiallelic, phased, imputation probabilities, indels, and structural variants), and can handle datasets much larger than what can fit into memory. PLINK/SEQ also comes bundled with several reference databases of gene transcripts and sequence & variation projects, including dbSNP and 1000 Genomes Project data.
As with PLINK, the documentation is good, and there's a tutorial using 1000 Genomes Project data.
PLINK/SEQ - A library for the analysis of genetic variation data