Date post: | 02-Nov-2014 |
Category: |
Self Improvement |
Upload: | abebebd |
View: | 253 times |
Download: | 2 times |
BioBike: a web-based environment for integration and analysis of Biological knowledge
Biniam Abebe
• Scope
• How to use BioBike?
• Introduction
• What is BioBike ?
• How can we use BioBike to solve some of the question we have on our research?
globin
Highly filtered output • Easy to grasp• High-level insights
Unfiltered output• Confusing• Basic insights
PROGRAMMER
Integration- Information
-Resources
We need…
Biologists . . .
. . . and Programmers
We need…
Biologists . . .
. . . and Programmers
We need…
What is BioBike ?
biobike.csbc.vcu.edu
BioBIKE INSTANCES AND THEIR KNOWLEDGE AND DATA BASES
① A BioBIKE instance provides a framework for all available information needed by a given research communityIncluding
1. Sets of genomic sequences2. Gene annotations3. Functional descriptions4. Formal categories (e.g. COG)5. hierarchical groupings of metabolic reactions
linked with genes (from KEGG
More………….
Current BioBIKEs
• CyanoBIke• 42 – Cyanobacteria
• Phantome/BioBIKE • 6 - Archeal virus , 758 – Bacteriophage, 754- Eubacteria,
1 - Eukaryotic Virus • Sterptobike
• stephylobike• ViroBike
BioBIKE provides access to several programs that are commonly used:Blast - for sequence searchesClustal - for multiple sequence
alignmentsMeme - for motif discovery;RNAz - for discovery of conserved RNA
sequences; Phylip - for construction of phylogenetic
trees. All are accessed through the same interface,
Way BioBIKE?
• Intelligibility• Computability of results and
nesting• Small working vocabulary• Implied iteration• Extensibility
WELCOME TO BioBIKE !
Biological Integrated
Knowledge Environment
The BioBIKE environment is divided into three areas as shown. You'll bring functions down from the function palette to the workspace, execute them, and note the results in the results window
Function palette
Workspace
Results window
Construct the code you want to execute here!
For a visual guide to the VPL, click here
Two very important buttons on the function palette:
On-line help (general)
Something went wrong? Tell us!
HELP!
PROBLEM
Construct the code you want to execute here!
For a visual guide to the VPL, click here
Two very important buttons in the workspace:
Undo (return to workspace before last action)
Redo (Get back the workspace you undid)
Construct the code you want to execute here!
For a visual guide to the VPL, click here
Construct the code you want to execute here!
For a visual guide to the VPL, click here
A COUNT-OF function box is now in the workspace.
Before continuing with the problem, let's consider what function boxes mean.
A COUNT-OF function box is now in the workspace.
Before continuing with the problem, let's consider what function boxes mean.
General Syntax of BioBIKE
Function-name Argument(object)
Keyword object Flag
The basic unit of BioBIKE is the function box. It consists of the name of a function, perhaps one or more required arguments, and optional keywords and flags.
A function may be thought of as a black box: you feed it information, it produces a product.
• Function-name (e.g. SEQUENCE-OF or LENGTH-OF)
• Argument: Required, acted on by function
• Keyword clause: Optional, more information
General Syntax of BioBIKE
• Flag: Optional, more (yes/no) information
Function-name Argument(object)
Keyword object Flag
Function boxes contain the following elements:
General Syntax of BioBIKE
Function-name Argument(object)
Keyword object Flag
… and icons to help you work with functions:
• Option icon: Brings up a menu of keywords and flags
• Clear/Delete icon: Removes information you entered or removes box entirely
• Action icon: Brings up a menu enabling you to execute a function, copy and paste, information, get help, etc
Functions
SinAngle
Sin (angle)
Functions
Length
Entity
Functions
Length
Entity"icahLnlna bormA" 14
Abraham Lincoln
"Abraham Lincoln"
192
14
variable vs literal
Functions
Length
Entity"icahLnlna bormA" 14
Abraham Lincoln
"Abraham Lincoln"
192
14
US-presidents 44
list vs single value
Functions
Length
Entity"icahLnlna bormA" 14
Abraham Lincoln
"Abraham Lincoln"
192
14
US-presidents 44(188 170 189 163 …)
single application of a function vs
iteration of a function
Arcsin
Functions
SinAngle
Angle
Arcsin
Functions
Angle
Sin (angle)
Nested functionsEvaluated from the inside outA box is replaced by its value
Gene (npf0076)
Functions
"transposase"
Gene (npf0076)
Nested functions
Evaluated from the inside outA box is replaced by its value
Gene (npf0076)
Functions
OptionsModify the characteristics of the function they govern
Gene (npf0076)
Pitfalls(the most common error in the language)
CLOSE BOXES BEFORE EXECUTINGWhite is incompatible with execution
Distinction between
a result and
a display
result
display
• Speaks molecular biology
• Speaks common bioinformatic tools
• Speaks common bioinformatic tools
• Speaks common bioinformatic tools
Dem
o
BioBIKE
Tour of BioBIKE : Integration of sequences across organisms &
human insight
We are interested in a highly conserved hypothetical protein:
asr1156
Very strange it start in different place different cyanobacteria!
Is the start Wrong ?A. Collect the NT sequence
including the upstream region. HOW ???
B. Translate into AA sequenceC. Repeat X timesD. Make an alignment
STEP IA. Find orthologs in other
cyanobacteria
STEP IA. Find orthologs in other
cyanobacteria
STEP IA. Find orthologs in other
cyanobacteria
STEP IA. Find orthologs in other
cyanobacteria
STEP IA. Find orthologs in other
cyanobacteria
STEP IA. Find orthologs in other
cyanobacteria
STEP IA. Find orthologs in other
cyanobacteria
STEP IIA. Align the proteins of the
previous result
STEP IIA. Align the proteins of the
previous result
STEP IIA. Align the proteins of the
previous result
STEP IIA. Align the proteins of the
previous result
STEP IIA. Align the proteins of the
previous result
STEP IIA. Align the proteins of the
previous resultB. Align the protein sequences
extended uspstream
STEP IIA. Align the proteins of the
previous resultB. Align the protein sequences
extended uspstream
STEP IIA. Align the proteins of the
previous resultB. Align the protein sequences
extended uspstream
STEP IIA. Align the proteins of the
previous resultB. Align the protein sequences
extended uspstream
A function may directly be applied
on another function
STEP IIA. Align the proteins of the
previous resultB. Align the protein sequences
extended uspstream
STEP IIA. Align the proteins of the
previous resultB. Align the protein sequences
extended uspstream
STEP IIA. Align the proteins of the
previous resultB. Align the protein sequences
extended uspstream
STEP IIA. Align the proteins of the
previous resultB. Align the protein sequences
extended uspstream
STEP IIA. Align the proteins of the
previous resultB. Align the protein sequences
extended uspstream
STEP IIA. Align the proteins of the
previous resultB. Align the protein sequences
extended uspstream
STEP IIA. Align the proteins of the
previous resultB. Align the protein sequences
extended uspstream
STEP IIA. Align the proteins of the
previous resultB. Align the protein sequences
extended uspstream
STEP IIA. Align the proteins of the
previous resultB. Align the protein sequences
extended uspstream
The start is wrong !
Tour of BioBIKE : integration of metabolism information,
Bioinformatic tools & human knowledge
How to find a regulatory motive?
Example: GlnA
Mission im
possible !!!
A. Find GlnA in the cyanobacterial genomes
A. Find GlnA in the cyanobacterial genomes
B. Collect the sequences upstream
A. Find GlnA in the cyanobacterial genomes
B. Collect the sequences upstream
A. Find GlnA in the cyanobacterial genomes
B. Collect the sequences upstream
A. Find GlnA in the cyanobacterial genomes
B. Collect the sequences upstream
C. Search for a conserved motif among these sequences using MEME
A. Find GlnA in the cyanobacterial genomes
B. Collect the sequences upstream
C. Search for a conserved motif among these sequences using MEME
A. Find GlnA in the cyanobacterial genomes
B. Collect the sequences upstream
C. Search for a conserved motif among these sequences using MEME
OR
We have found a potential NtcA binding site!
GT9NTAC
Dem
o
In this tour, you'll see how to:
Tour of BioBIKE II
• Find the number of contigs in a metagenome• Find the average contig size in a metagenome• Find the average GC content within a metagenome• Visualize the distribution of GC content amongst the contigs of a metagenome
Construct the code you want to execute here!
For a visual guide to the VPL, click here
Our Story
Suppose you have a special interest in a sequence, a contig, derived from the metagenome taken from the Arctic Ocean. The metagenome is called p-arct.
How many sequences does that metagenome contain?
Clicking on or hovering over any palette button brings down choices of functions or data to bring into the workspace. Click on the LISTS-TABLES button to reach a function that will count how many sequences are within the list of sequences that make up the metagenome p-Arct.
Construct the code you want to execute here!
For a visual guide to the VPL, click here
Construct the code you want to execute here!
For a visual guide to the VPL, click here
A COUNT-OF function box is now in the workspace.
Before continuing with the problem, let's consider what function boxes mean.
Back to our story… we wanted to count the number of contiguous sequences in our favorite metagenome p-Arct.
Click on the gray argument box to activate it for entry, either from the keyboard or by insertion.
GC fraction of contigs in p-Arct
0
2000
4000
6000
8000
10000
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
GC-fraction
Nu
mb
er o
f co
nti
gs
• Display the sequence of a metagenome contig• Find similar sequences amongst metagenomes• Find similar sequences amongst known viruses• Find similar sequences amongst everything in GenBank• Make a sequence alignment• Make a phylogenetic tree• Save your work session
In this tour, you'll see how to:
Tour of BioBIKE III Sequence comparison
Our Story
Suppose you have a special interest in a sequence, a contig, derived from the metagenome taken from the Arctic Ocean.
The metagenome is called p-arct.
The sequence is called C60790.
What does the sequence look like?
Clicking on any palette button brings down choices of functions or data to bring into the workspace.
Click the function DISPLAY-SEQUENCE-OF.
A DISPLAY-SEQUENCE-OF function box is now in the workspace.
Before continuing with the problem, let's consider what function boxes mean.
Back to our story… we were displaying the sequence of our favorite metagenome contig, C60790.
Click on the gray argument box to activate it for entry, either from the keyboard or by insertion.
Now that the box is open, type in the name of the contig, C60790. Upper/lower case doesn't matter.
When you're done, close the box by pressing Enter or Tab. If you forget to close the box, the function will not work.
To set the length of the lines to be displayed by mousing over the Options icon and clicking LINE-LENGTH.
Actually, the default line length is perfectly OK. I did this just to show you an option in action.
Enter a value into the option entry box in the same way you entered a value into the argument box: Click on the box, type, then close the box by pressing Enter or Tab.
The default format for sequences is lines preceded by coordinates. If you want the sequence in FastA format, mouse over the Options icon and click FastA.
(An example of a Flag in action)
The function is now complete. To execute it, mouse over the Action icon and click Execute.
Displayed results appear in popup windows, which you can copy or save. When your done with it, click the red X in the upper right hand corner to get rid of it.
FireFox has an upper limit on popup windows, so it's a good idea to clean up as you go.
Is the DNA sequence similar to any other metagenome sequence?
To find out, mouse over the STRINGS-SEQUENCES menu and click SEQUENCE-SIMILAR-TO.
This function allows you to search for similarity by pattern, by mismatches, or by Blast (default).
The function asks for two arguments: the query sequence and the target sequences against which the query will be compared.
The query is c60790, of course. We could enter it by typing, as before, but it is more interesting to copy and paste what you already typed. To do this mouse over the Action icon of the box containing c60790.
Click Copy.
To paste, mouse over the Action icon of the box into which you're pasting and click Paste.
Now to enter the target sequences – the set of all metagenome sequences. Click on the target box to open it for entry.
Once the box is open, you could specify by typing that you want to search metagenomic sequences… if you knew what to type.
If you don't know, then mouse over the DATA button, then Organisms, then Metagenomes.
Clicking on Metagenomes transfers it to the open target box.
Execute the completed function as before, mousing over the Action icon of the function and clicking Execute.
Doing so starts Blast, which may take several seconds to complete execution.
You might expect that your sequence from P-Arct would find other sequences from the same metagenome. It does, but interestingly, after itself, the next 10 best hits are from the P-BBC metagenome.
Use browser controls to save the box, if you like, then X out of it.
Of course the metagenome sequences are not annotated. Perhaps you can learn more about your sequence by comparing it to sequences from known viruses.
To do this, clear the target box, open it up again by clicking on it…
…and bring down Known Viruses into the box.
Protein searches will find more sequences, mouse over the Options icon and specify that your DNA sequence is to be translated and compared to viral proteins.
Execute the completed function. Again, execution may take several seconds.
Only one hit, and a very poor one at that!
This is typical, because while ViroBIKE has virtually all known viral genomes, those that are known cover only a tiny fraction of viruses that exist in nature.
X out of the window and clear known viruses so that we can try another approach.
There is a good deal more variety in organismal genomes than viral genomes, so let's search them.
ViroBIKE does not keep organismal genomes locally, so we need to go out to GenBank.
Click on the DATA button again.
…and this time click GenBank.
Execute the function as usual. This time we will be at the mercy of NCBI, and depending on the time of day and the phase of the moon, execution may take a minute or longer.
By default, ViroBIKE times out execution at 40 seconds. If this occurs, you'll get a message like…
*** TIMEOUT ! TIMEOUT ! TIMEOUT *** *** COMPUTATION ABORTED AFTER 40 SECONDS *** *** YOU CAN: *** - contact support for help: [email protected] *** - use the TOOLS -> PREFS menu or the SET-TIMELIMIT function to extend your timeout up to 1 hour *** - use RUNJOB to run your code in a separate process *** - type (explain-timeout) at the weblistener for detailed info.
You can change the time limit, but let's say that fate is with us and you get your result.
Interesting! Many highly significant hits from various bacteria…
…at different regions of your sequence.
At NCBI, that would be the end of the story. In ViroBIKE, it's the beginning, since you can work with your Blast results.
First, we'll want to give the result a name.
To name a result, mouse over the DEFINITION menu and click DEFINE.
The DEFINE function asks for two arguments: the name of the variable and the value that will be assigned to it.
Click on the variable entry box.
You can name the result anything you like, so long as the name does not contain spaces (hyphens and underscores are OK).
I chose c67090-vs-NR.
Press Tab after typing a name.
Tabbing opens up the next argument, the value box.
The value to be assigned is the Blast table. There are many ways to retrieve that result. One way is to recognize that it is the result of the previous function.
Click the OTHER-COMMAND button...
…and click Previous-Result.
Executing the function will cause the variable you named to spring into existence, accessible through a new button. Watch for it!
We'll be using that VARIABLES button in a moment. For now, mouse over STRINGS-SEQUENCES, then SEARCH/COMPARE, and…
Click on BLAST-VALUE.
This function allows you to extract values from the Blast table.
What values do we want to extract?
Recall…
7 of the top 27 hits came from the same region of your sequence, from coordinates 15 to 503. Notice also that the reading frame is the same in all cases, negative, indicating that the match is on the complementary strand.
Let's extract the 7 sequences that matched. First specify the blast-table from which you'll extract data.
After opening up the blast-table entry box, mouse over the VARIABLES button and click the name of the variable you just created.
This brings the variable into the open box.
Now specify the cells you want, by row numbers (lines) and column.
Click to open the line box
Type the lines you want into the open box as a set: (2 6 10 14 17 20 23)
In BioBIKE, elements of sets are separated by spaces, not commas.
After typing in the list in parentheses, press TAB to move to the column box.
You can enter any column shown in the Blast table plus several other fields that are normally not displayed. One of these fields is the sequence of the target ("T-SEQ"). Type this into the column box and press Enter.
Executing the function will get you the seven bacterial target sequences matching the coordinate 15 – 503 region of your sequence.
We'd like to compare these bacteral sequences with the region from your sequence.
But that region is a DNA sequence. We'll need to translate it.
To do this, click on the GENES-PROTEINS button
Mouse over TRANSLATION and click the TRANSLATION-OF function.
Open the argument box of TRANSLATION-OF for input.
We want to put into this box your sequence, but just the portion from 15 to 503, and on the complementary strand.
Mouse over the GENES-PROTEINS button to get a function that will extract what you want.
Click the SEQUENCE-OF function.
And paste it into the argument of SEQUENCE-OF.
Executing now will translate the entire sequence. But we want only part of the sequence.
So mouse over Options icon and click the FROM option.
And do the same thing to get the TO option.
Now type into the FROM entry box the beginning coordinate, 15, and press TAB.
And type into the TO entry box the end coordinate, 503, and press ENTER.
The sequence needs to be inverted (read from the complementary strand), so choose that option.
And finally, we want to give the sequence a name so we can keep track of it during sequence comparisons. Uh-oh… The option, WITH-LABEL is off screen.
One way to handle this is to make space by clearing a now unnecessary box.
Better. Now click on the Options icon
And this time the WITH-LABEL option appears. Click on it.
And fill in its entry box with a descriptive name. I chose "c60790-15-503R", indicating the contig, coordinates, and orientation.
Note that the name must be in quotes.
Executing the function should give an amino acid sequence resulting from the translation of the desired region of your sequence.
We now have all the relevant sequences, ready to be joined together into a single list and compared.
To join the sequences, mouse over the LISTS-TABLES button, then LIST-PRODUCTION, and click on the JOIN function
We could define names for the bacterial sequence and the translated sequence, but… too much bother. Instead, cut and paste.
Click on the Action icon of the function that produced the bacterial sequences…
Cut the function box and paste it into the first argument box of JOIN.
Then cut the TRANSLATION function…
…and paste it into the second argument box of JOIN.
Again, we could name the joined sequences and then align them, but it is easier simply to surround the JOIN function with the function that will do the aligning.
Click on Surround with, from the Action icon menu.
Then select ALIGNMENT-OF from the STRINGS-SEQUENCES menu, BIOINFORMATI-TOOLS submenu.
It was a bit of work, but we finally have what we want: a single list consisting of the region of your sequence that is similar to the collection of bacterial sequences, all ready to be aligned.
Go to the Action icon to execute.
This is another function that usually requires several seconds.
The alignment in the popup window shows us which regions are conserved in the putative open reading frame in your sequence. By including more divergent protein, we can assess whether the putative ORF retains motifs typical of this class of protein.
From the alignment we can also generate a phylogenetic tree. X out of the window.
And to save space, collapse the alignment box into a stub.
The full function is still there, but it occupies less space on the screen.
Now click on the Action icon of the ALIGNMENT-OF box to begin surrounding the function by a function that will create a phylogenetic tree.
Click Surround with.
…and go to STRINGS-SEQUENCES, PHYLOGENETIC-TREE, TREE-OF to surround the alignment with the tree function.
The function will store much tree-related information on disk, in case you want to modify the tree later. It needs to know the name of a new directory in which to put the information. I chose "c60790-orf1".
There are many ways of constructing trees. I chose PARSIMONY -- estimating phylogenetic proximity by the number of steps it takes to go from one sequence to another.
Execute. After several seconds, the function will give you the same alignment you saw before and a few seconds after that a tree.
The three Sphingomonas proteins cluster together, as do the Erythrobacter proteins. Then there's yours.
If you want to return to this session or refer to it later, you can save it by mousing over the EDIT button and clicking Save user session.