BIO Assignment Week 3
Assignment for Week 3
Sequence Analysis
Note! This assignment is currently inactive. Major and minor unannounced changes may be made at any time.
Concepts and activities (and reading, if applicable) for this assignment will be topics on next week's quiz.
Contents
Introduction
In this assignment we will
- use the sequence search program BLAST to retrieve a sequence similar to yeast Mbp1 in YFO.
- use a number of tools to annotate the sequence.
Retrieve
In Assignment 2 you looked at sequences in YFO that are related to yeast Mbp1, by following a link from the RefSeq record. I mentioned that there are more principled ways to find related proteins: that principle is to search for similar sequences. Exactly how this works will be the subject of later lectures, but the tool that is most commonly used for this task is called BLAST (Basic Local Alignment And Search Tool). The task of this assignment is to perform a number of sequence annotations to the sequence from YFO that is most similar to Mbp1, or, more precisely, that contains an APSES domain that is most similar[1].
Search input
First, we need to define the sequence we will search with, as the search input. I have highlighted the extent of the APSES domain sequence in the previous assignment, but when you explored the corresponding structure in VMD, you have seen that the structured protein domain is larger and the additional secondary structure elements are in fact well integrated into the overall domain. This is not surprising: canonical domain definitions are compiled from many species and examples, and they generally comprise only the common core. Looking up the source of the domain annotations for Mbp1 is very easy:
Task:
- Access the RefSeq record for yeast Mbp1.
- While you are here, download a FASTA formatted version of the sequence to your R working directory and give it a filename of
mbp1-sacce.fa
. We will need it later. - On the RefSeq page, look for the link Related Information → CDD Search Results and follow it.
This is a domain annotation: CDD is the NCBI's Conserved Domain Database and the annotation was done by a tool that scanned the sequence of Mbp1 for segments that are similar to any of the domain definitions stored in the CDD. We will return to CDD in the next assignment.
- Click on the blue box labeled Kila-N in the graph to access the CDD entry for this domain.
- Read the abstract. You should understand the relationship between Kila-N and APSES domains. One is a subfamily of the other.
- Confirm that the domain definition – as applied to the Mbp1 sequence (which is labeled as "query") – corresponds to the region we highlighted in the last assignment.
What precisely constitutes an APSES domain however is a matter of definition, as you can explore in the following (optional) task.
- In the Graphics → Representations window, select
NewCartoon
as the Drawing Method. - Access the Interpro information page for Mbp1 at the EBI: http://www.ebi.ac.uk/interpro/protein/P39678
- In the section Domains and repeats, mouse over the red annotations and note down the residue numbers for the annotated domains. Also follow the links to the respective Interpro domain definition pages.
At this point we have definitions for the following regions on the Mbp1 protein ...
- The range of structural coordinates, i.e. the "implicit" sequence - from the Sequence Viewer tool of VMD;
- The KilA-N (pfam 04383) domain definition as applied to the Mbp1 protein sequence by CDD;
- The InterPro KilA, N-terminal/APSES-type HTH, DNA-binding (IPR018004) definition annotated on the Mbp1 sequence;
- The InterPro Transcription regulator HTH, APSES-type DNA-binding domain (IPR003163) definition annotated on the Mbp1 sequence;
- (... in addition – without following the source here – the UniProt record for Mbp1 annotates a "HTH APSES-type" domain from residues 5-111)
... each with its distinct and partially overlapping sequence range. Back to VMD:
- In the Graphical Representations window, restrict the selection to the Interpro KilA-N annotation range and colour this fragment red.
- Click on Create Rep, select the residue range(s) by which the CDD KilA-N definition is larger, and colour that fragment orange.
- Click on Create Rep, select the residue range(s) by which the InterPro APSES domain definition is larger, and colour that fragment yellow.
- If the structure contains residues outside these ranges, colour them white.
- Study this in a side-by-side stereo view and get a sense for how the extra sequence beyond the Kil-A N domain(s) is part of the structure, and how the integrity of the folded structure would be affected if these fragments were missing.
- Orient this stereo-image for a clear view of the domain architecture in question and scale it to fill the available window well. Then render it.
- Convert the resulting image to jpeg format, resize it to be no larger than 600px across and upload it to your Lab notebook on the Wiki.
- Also add the category tag
[[Category:BCH441_2013 Notebook]]
to your page. - When you are done, congratulate yourself on having earned a bonus of 10% on the next quiz.
There is a rather important lesson in this: domain definitions may be fluid, and their boundaries may be computationally derived from sequence comparisons across many families, and do not necessarily correspond to individual structures. Make sure you understand this well.
Given this, it seems appropriate to search the sequence database with the sequence of an Mbp1 structure–this being a structured, stable, subdomain of the whole that presumably contains the protein's most unique and specific function. Let us retrieve this sequence. All PDB structures have their sequences stored in the NCBI protein database. They can be accessed simply via the PDB-ID, which serves as an identifier both for the NCBI and the PDB databases. However there is a small catch (isn't there always?). PDB files can contain more than one protein, e.g. if the crystal structure contains a complex[2]. Each of the individual proteins gets a so-called chain ID–a one letter identifier– to identify them uniquely. To find their unique sequence in the database, you need to know the PDB ID as well as the chain ID. If the file contains only a single protein (as in our case), the chain ID is always A
[3]. make sure you understand the concept of protein chains, and chain IDs.
Task:
- Back at the RefSeq record for yeast Mbp1, enter the PDB-ID, an underscore, and the chain ID for one of the crystal structures into the search field. You can use
1MB1_A
or1BM8_A
, but don't use1L3G
: this NMR structure includes a large stretch of unstructured residues. - Click on Display settings and choose FASTA (text). You should get something like:
>gi|157830387|pdb|1BM8|A Chain A, Dna-Binding Domain Of Mbp1 QIYSARYSGVDVYEFIHSTGSIMKRKKDDWVNATHILKAANFAKAKRTRILEKEVLKETHEKVQGGFGKY QGTWVPLNIAKQLAEKFSVYDQLKPLFDF
- Save this sequence in your notebook, in case we need it later.
Next, we use this sequence to find its most similar relative in YFO using BLAST
Task:
- Navigate to the BLAST entry page at the NCBI.
- Click on protein blast as the BLAST program to run.
- Paste the sequence of the yeast Mbp1 DNA-binding domain into the search field.
- Set the following parameters:
- As Database option choose Reference proteins (refseq_protein)
- As Organism enter the binomial name of YFO. Make sure you spell it right, the page will try to autocomplete your entry. Species level is detailed enough, you don't have to specify the strain (e.g. I would specify "Ustilago maydis" not "Ustilago maydis 521").
- Then click on the BLAST button and wait for the result to appear. You will first see a graph of any conserved domains in your query sequence, this is not yet what you are waiting for...
- Patience.
- Patience. The database is large.
- Patience. It took about five minutes to complete for me, but execution times vary greatly by time of day.
- The top "hit" on the results page is what you are looking for. Its alignment and alignment score are shown in the Alignments section a bit further down the page. Your hit should have on the order of more than 40% identities to the query and match at least 80 residues or so. If your match seems less and worse than that, please eMail me to troubleshoot.
- The first item for each hit is a link to its database entry, right next to the checkbox. It says something like
ref|NP_123456789
orref|XP_123456789
... follow that link. - Note the RefSeq ID, and save the sequence in FASTA format, as above. For simplicity I will refer to this sequence as "YFO Mbp1" in the future.
Annotate
Let us perform a few simple sequence annotations with the EMBOSS package, using the Saccharomyces and YFO Mbp1 sequences. As I noted in class, a large number of simple but fundamental sequence analysis tools are combined in the EMBOSS package. This package can be installed locally on your own machine, or run via a public Web interface[4].
Access one of the EMBOSS Explorer services and explore some of the tools:
Task:
- Local composition
- Find
pepinfo
under the PROTEIN COMPOSITION heading. - Paste the YFO Mbp1 sequence in FASTA format into the input field.
- Run with default parameters.
- Do the same in a separate window for yeast Mbp1.
- Try to compare ... kind of hard without reference, overlay and expectation, isn't it?
Task:
- Global composition
- Find
pepstats
under the PROTEIN COMPOSITION heading. - Paste the YFO Mbp1 sequence in FASTA format into the input field.
- Run with default parameters.
- Do the same in a separate window for yeast Mbp1.
- Try to compare ... are there significant and unexpected differences?
Task:
- Motifs
- Find
patmatmotifs
andpepcoils
. - Run these with the YFO Mbp1 sequence and yeast Mbp1.
- Try to compare ... do both sequences have the same motif annotated in approximately comparable regions of the protein?
Task:
- Transmembrane sequences
- Find
tmap
. Also findshuffleseq
. - Use your YFO Mbp1 sequence to annotate transmembrane helices for it and for a few shuffled sequences. YFO Mbp1 should have neither, and the shuffled sequences work as negative controls in any case.
- Also compare the following positive contros:
Gef1 - a yeast chloride channel with 10 trans-membrane helices and outward localized N-terminus:
>gi|6322500|ref|NP_012574.1| Gef1p [Saccharomyces cerevisiae S288c]
MPTTYVPINQPIGDGEDVIDTNRFTNIPETQNFDQFVTIDKIAEENRPLSVDSDREFLNSKYRHYREVIW
DRAKTFITLSSTAIVIGCIAGFLQVFTETLVNWKTGHCQRNWLLNKSFCCNGVVNEVTSTSNLLLKRQEF
ECEAQGLWIAWKGHVSPFIIFMLLSVLFALISTLLVKYVAPMATGSGISEIKVWVSGFEYNKEFLGFLTL
VIKSVALPLAISSGLSVGKEGPSVHYATCCGYLLTKWLLRDTLTYSSQYEYITAASGAGVAVAFGAPIGG
VLFGLEEIASANRFNSSTLWKSYYVALVAITTLKYIDPFRNGRVILFNVTYDRDWKVQEIPIFIALGIFG
GLYGKYISKWNINFIHFRKMYLSSWPVQEVLFLATLTALISYFNEFLKLDMTESMGILFHECVKNDNTST
FSHRLCQLDENTHAFEFLKIFTSLCFATVIRALLVVVSYGARVPAGIFVPSMAVGATFGRAVSLLVERFI
SGPSVITPGAYAFLGAAATLSGITNLTLTVVVIMFELTGAFMYIIPLMIVVAITRIILSTSGISGGIADQ
MIMVNGFPYLEDEQDEEEEETLEKYTAEQLMSSKLITINETIYLSELESLLYDSASEYSVHGFPITKDED
KFEKEKRCIGYVLKRHLASKIMMQSVNSTKAQTTLVYFNKSNEELGHRENCIGFKDIMNESPISVKKAVP
VTLLFRMFKELGCKTIIVEESGILKGLVTAKDILRFKRIKYREVHGAKFTYNEALDRRCWSVIHFIIKRF
TTNRNGNVI
- Evaluate the output: does the algorithm (wrongly) predict tm-helices in your protein? In the shuffled sequences? Does it find the tm-helices in Gef1?
Try to familiarize yourself with the offerings in the EMBOSS package. I find some of the nucleic acid tools indispensable in the lab, such as restriction-site mapping tools, and I frequently use the alignment tools Needle
and Water
, but by and large the utility of many of the components–while fast, efficient and straightforward to use– suffers from lack of reference and comparison and from terse output. The routines show their conceptual origin in the 1970s and 1980s. We will encounter alternatives in later assignments.
Plotting sequence composition in R
It is rather straightforward to code a simple amino acid composition measurement in R and I have shown you an example in the lecture. You need to familiarize yourself with
Task:
- While you already have R open, access the R tutorial and work through the sections on
- Scripts;
- Variables;
- Scalar data; and
- Vectors. This will help you understand the following code.
- Study the following code. Ask on the list if there are parts of the syntax that you don't understand:
# aaFreq.R
# plot amino-acid frequency excess
# Boris Steipe for BCH441, Sept. 2012
# install.packages("seqinr")
library("seqinr")
#load a fasta-formatted sequence from your working directory
mbp1 <- read.fasta("mbp1.fa", seqtype="AA", set.att=FALSE)
# define reference composition, a database average
# (data taken from http://web.expasy.org/docs/relnotes/relstat.html)
refData <- c(
"A"=8.26,
"Q"=3.93,
"L"=9.66,
"S"=6.56,
"R"=5.53,
"E"=6.75,
"K"=5.84,
"T"=5.34,
"N"=4.06,
"G"=7.08,
"M"=2.42,
"W"=1.08,
"D"=5.45,
"H"=2.27,
"F"=3.86,
"Y"=2.92,
"C"=1.37,
"I"=5.96,
"P"=4.70,
"V"=6.87
)
refData = refData / sum(refData) #Normalize
# how many different characters are in the dataset?
lref <- length(refData)
# tabulate the sequence of interest and normalize
obsData <- table(mbp1) # count occurrences
obsData = obsData / sum(obsData) # Normalize
# initialize a vector of zeros, which will hold our results
logRatio <- rep(lref, 0)
# loop over all elements of the reference and calculate log-ratios
for (i in 1:lref) {
aa <- names(refData)[i] # get the name of that amino acid
fObs <- obsData[aa] # retrieve the frequency for that name
fRef <- refData[aa]
logRatio[aa] <- log(fObs / fRef) / log(2)
}
logRatio <- sort(logRatio, decreasing = TRUE) # sort values descending
# generate a y-axis label that also contains a subscript
# (see text() for details)
label <- expression(paste(log[2],"( f(obs) / f(ref) )", sep = ""))
# define colors for the bars
chargePlus <- "#282A3F"
chargeMinus <- "#531523"
hydrophilic <- "#47707F"
hydrophobic <- "#6F7A79"
plain <- "#EDF7F7"
#hydrophilic <- "#194759"
#hydrophobic <- "#3E8C84"
#plain <- "#EDF7F7"
# Assign the colors to the different amino acid types
barColors <- rep(length(refData), 0)
for (i in 1:length(refData)) {
if (names(logRatio[i]) == "A") { barColors[i] <- hydrophobic }
else if (names(logRatio[i]) == "C") { barColors[i] <- plain }
else if (names(logRatio[i]) == "D") { barColors[i] <- chargeMinus }
else if (names(logRatio[i]) == "E") { barColors[i] <- chargeMinus }
else if (names(logRatio[i]) == "F") { barColors[i] <- hydrophobic }
else if (names(logRatio[i]) == "G") { barColors[i] <- plain }
else if (names(logRatio[i]) == "H") { barColors[i] <- chargePlus }
else if (names(logRatio[i]) == "I") { barColors[i] <- hydrophobic }
else if (names(logRatio[i]) == "K") { barColors[i] <- chargePlus }
else if (names(logRatio[i]) == "L") { barColors[i] <- hydrophobic }
else if (names(logRatio[i]) == "M") { barColors[i] <- hydrophobic }
else if (names(logRatio[i]) == "N") { barColors[i] <- hydrophilic }
else if (names(logRatio[i]) == "P") { barColors[i] <- plain }
else if (names(logRatio[i]) == "Q") { barColors[i] <- hydrophilic }
else if (names(logRatio[i]) == "R") { barColors[i] <- chargePlus }
else if (names(logRatio[i]) == "S") { barColors[i] <- hydrophilic }
else if (names(logRatio[i]) == "T") { barColors[i] <- hydrophilic }
else if (names(logRatio[i]) == "V") { barColors[i] <- hydrophobic }
else if (names(logRatio[i]) == "W") { barColors[i] <- hydrophobic }
else if (names(logRatio[i]) == "Y") { barColors[i] <- hydrophobic }
else { barColors[i] <- plain }
}
# create a plot
barplot(logRatio, ylim=c(-4,1), col = barColors, ylab = label, cex.names=0.9)
# draw a line at 0
abline(h=0)
# create a legend that indicates what the colors mean
legend (x = 1,
y = -1,
legend = c("charged (+)",
"charged (-)",
"hydrophilic",
"hydrophobic",
"plain"),
bty = "n",
fill = c(chargePlus,
chargeMinus,
hydrophilic,
hydrophobic,
plain)
)
- 3. Copy the code and execute it in R. First for yeast Mbp1 (you need the appropriate FASTA file in your working directory), then edit and run for YFO. The yeast protein is enriched in hydrophilic residues and has a slight excess of (+) charged residues. This might be compatible with a partially natively disordered protein with DNA-binding properties. How is YFO Mbp1 similar or different?
- That is all.
Links and resources
Footnotes and references
- ↑ As you will see later on in the assignment, Mbp1-related proteins contain "Ankyrin" domains, a very widely distributed protein-protein interaction motif that may give rise to false-positive similarities for full-length sequence searches. Therefore, we search only with the DNA binding domain sequence, since this is the functionality that best characterizes the "function" of the protein we are interested in.
- ↑ Think of the ribosome or DNA-polymerase as extreme examples.
- ↑ Otherwise, you need to study the PDB Web page for the structure, or the text in the PDB file itself, to identify which part of the complex is labeled with which chain ID. For example, immunoglobulin structures some time label the light- and heavy chain fragments as "L" and "H", and sometimes as "A" and "B"–there are no fixed rules. You can also load the structure in VMD, color "by chain" and use the mouse to click on residues in each chain to identify it.
- ↑ Google for EMBOSS explorer, public access points include http://emboss.bioinformatics.nl/ and http://bioinfo.unice.fr/emboss/index.html
Ask, if things don't work for you!
- If anything about the assignment is not clear to you, please ask on the mailing list. You can be certain that others will have had similar problems. Success comes from joining the conversation.
- Do consider how to ask your questions so that a meaningful answer is possible:
- How to create a Minimal, Complete, and Verifiable example on stackoverflow and ...
- How to make a great R reproducible example are required reading.