# Database of position weight matrices for protein motifs?

I am trying to identify proteins that carry a consensus target sequence for a kinase. Usually if I am working with, for e.g. transcription factors binding to DNA I would use position weight matrices (PWMs) from one of a number of databases of PWMs to search the sequences with something like FIMO.

However, I don't know of any databases that contain protein motif PWMs. Specially I am looking for one for yeast Cdc28, but it seems like it would be a generally useful resource that I can't believe doesn't exist. For example, while the MEME suite was originally developed to identify protein motifs, and ouputs PWMs, all of its databases refer to DNA or RNA.

• As the sequence of a protein usually is set on the DNA level, why should there be one specific for proteins? Given a DNA sequence you can find the amino acids, but not the other way around, so it is usually done with DNA (AFAIK)
– llrs
Jan 25 '18 at 14:32
• Thats true, but usually DNA/RNA PWMs encode the binding sites of proteins on DNA/RNA. I am looking for the binding sites of proteins on other proteins. A DNA PWM is probably not suitable for this because, for example Cdc28 binds the amino acid consensus S/T-P-X-K/R and there are many many ways of encoding this in DNA because each amino acid can be coded for by many codons. I doubt that a PWM built on the DNA sequences of the genes with this consensus would return a sensible PWM. Jan 25 '18 at 17:07
• I think it easy enough to do it yourself with the sequences you want. You can use Biopython to build the PWM once you have the sequences (which could be downloaded from Uniprot).
– llrs
Jan 25 '18 at 21:25
• My problem is I don't know the PWM - I only know the consensus sequence, not the frequency variation about that. That is why I was hopeing someone could point me to a database that might contain the full PWM. (e.g. The first amino acid of the target site can be Serine or Threonine, but I have no idea if one is favoured over the other) Jan 26 '18 at 0:57
• And how has you built the consensus sequence? If it is consensus you have a MSA, so you can use it to calculate the PWM.
– llrs
Jan 26 '18 at 7:27

PFam has HMM models for protein domains, this is almost certainly what you're after. You can download all PFam-A models from ftp://ftp.ebi.ac.uk/pub/databases/Pfam/current_release/Pfam-A.hmm.gz.

Then, you're looking for the "Pkinase", PF00069 family (I found this simply by searching the PFam website for "kinase"), so extract it from the file:

zcat Pfam-A.hmm.gz | awk -vRS='//' -vORS='//' '/PF00069/' > PF00069.pfam


Then, format it for HMMER format (you will need to install HMMER)

hmmpress PF00069.hmm


And now you can use it to search your sequences (fasta or flat file, probably others; see the documentation for details):

hmmscan PF00069.hmm prots.pep


I tried this on a fasta file with the sequences of CBK1_YEAST, CSK21_YEAST (kinases) and FLNA_HUMAN (non-kinase control) and got:

# hmmscan :: search sequence(s) against a profile database
# HMMER 3.1b2 (February 2015); http://hmmer.org/
# Copyright (C) 2015 Howard Hughes Medical Institute.
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# query sequence file:             prots.pep
# target HMM database:             PF00069.hmm
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Query:       sp|P53894|CBK1_YEAST  [L=756]
Description: Serine/threonine-protein kinase CBK1 OS=Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GN=CBK1 PE=1 SV=1
Scores for complete sequence (score includes all domains):
--- full sequence ---   --- best 1 domain ---    -#dom-
E-value  score  bias    E-value  score  bias    exp  N  Model    Description
------- ------ -----    ------- ------ -----   ---- --  -------- -----------
2.7e-64  203.2   9.0    3.5e-46  143.8   0.2    3.1  3  Pkinase   Protein kinase domain

Domain annotation for each model (and alignments):
>> Pkinase  Protein kinase domain
#    score  bias  c-Evalue  i-Evalue hmmfrom  hmm to    alifrom  ali to    envfrom  env to     acc
---   ------ ----- --------- --------- ------- -------    ------- -------    ------- -------    ----
1 ?   -2.9   3.2      0.19      0.19     198     226 ..     222     243 ..     191     277 .. 0.57
2 !  143.8   0.2   3.5e-46   3.5e-46       1     153 [.     352     505 ..     352     522 .. 0.95
3 !   63.6   0.0   9.8e-22   9.8e-22     154     264 .]     568     672 ..     551     672 .. 0.83

Alignments for each domain:
== domain 1  score: -2.9 bits;  conditional E-value: 0.19
TTSSCHHHHHHHHHTHHHHHHHCTSHH.. CS
Pkinase 198 sgekgkekvekeldqlekilkilgetkek 226
+ +++++++++      + ++i ++++++
sp|P53894|CBK1_YEAST 222 Q-QQQQQQQQQ------QHMQIQQQQQQQ 243
1.111111111......122222221222 PP

== domain 2  score: 143.8 bits;  conditional E-value: 3.5e-46
EEEEEEEEEESSEEEEEEEETTTTEEEEEEEEEHHCCCHHHH.HHHHHHHHHHHHHSSTTB--EEEEEEESSEEEEEEE--TTEBHHHH CS
+++++ +G+G+fG+V  + +k+tgki+A+K++ k+++ kk++  +v +E  +l+ +++p +v ly++f++ ++lyl++e+++gg+l+++
sp|P53894|CBK1_YEAST 352 FHTVKVIGKGAFGEVRLVQKKDTGKIYAMKTLLKSEMYKKDQlAHVKAERDVLAGSDSPWVVSLYYSFQDAQYLYLIMEFLPGGDLMTM 440
67899********************************999999********************************************** PP

HHHHSS--HHHHHHHHHHHHHHHHHHHHTTEE-SS-SGGGEEEETTTEEEE-SGTTSEECCSSCS CS
Pkinase  89 lsrkgslseeeakkiakqilegleylHskgiiHrDlKpeNiLidekgelKitDFGlakelesssk 153
l r + ++e+ +++++++ + ++e +H+ g+iHrD+Kp+NiLid +g++K++DFGl++ ++++++
sp|P53894|CBK1_YEAST 441 LIRWQLFTEDVTRFYMAECILAIETIHKLGFIHRDIKPDNILIDIRGHIKLSDFGLSTGFHKTHD 505
**999*****************************************************9999876 PP

== domain 3  score: 63.6 bits;  conditional E-value: 9.8e-22
BCTCCSCGGGS-HHHHTTSTCSHHHHHHHHHHHHHHHHHSS-STTTSSCHHHHHHHHHTHHHHHHHCTSHH......TTS-HHHHHHHH CS
Pkinase 154 ltsfvgtreYlAPEvlkeneyskkvDvWslGvilyelltgkppfsgekgkekvekeldqlekilkilgetkeklpeaselseeakdllk 242
+ s vgt++Y+APE+  +++y++++D+WslG i+ye l g ppf +e+ +e+++k+++          e+++++p + ++s ea dl++
sp|P53894|CBK1_YEAST 568 AYSTVGTPDYIAPEIFLYQGYGQECDWWSLGAIMYECLIGWPPFCSETPQETYRKIMNF---------EQTLQFPDDIHISYEAEDLIR 647
6789*****************************************66665533333333.........557799*************** PP

HHT-SSGCCSTT....HHHHHTSGGG CS
Pkinase 243 kllkkdpkkRlt....aeellqhpyl 264
+ll+    +Rl+    a+e+++hp++
***875.678877779********98 PP

Internal pipeline statistics summary:
-------------------------------------
Query sequence(s):                         1  (756 residues searched)
Target model(s):                           1  (264 nodes)
Passed MSV filter:                         1  (1); expected 0.0 (0.02)
Passed bias filter:                        1  (1); expected 0.0 (0.02)
Passed Vit filter:                         1  (1); expected 0.0 (0.001)
Passed Fwd filter:                         1  (1); expected 0.0 (1e-05)
Initial search space (Z):                  1  [actual number of targets]
Domain search space  (domZ):               1  [number of targets reported over threshold]
# CPU time: 0.01u 0.00s 00:00:00.01 Elapsed: 00:00:00.00
# Mc/sec: inf
//
Query:       sp|P15790|CSK21_YEAST  [L=372]
Description: Casein kinase II subunit alpha OS=Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GN=CKA1 PE=1 SV=1
Scores for complete sequence (score includes all domains):
--- full sequence ---   --- best 1 domain ---    -#dom-
E-value  score  bias    E-value  score  bias    exp  N  Model    Description
------- ------ -----    ------- ------ -----   ---- --  -------- -----------
7.5e-62  195.1   7.2    3.2e-55  173.4   0.7    2.1  2  Pkinase   Protein kinase domain

Domain annotation for each model (and alignments):
>> Pkinase  Protein kinase domain
#    score  bias  c-Evalue  i-Evalue hmmfrom  hmm to    alifrom  ali to    envfrom  env to     acc
---   ------ ----- --------- --------- ------- -------    ------- -------    ------- -------    ----
1 !   25.5   1.1   4.3e-10   4.3e-10       1      60 [.      40      94 ..      40     115 .. 0.87
2 !  173.4   0.7   3.2e-55   3.2e-55      56     264 .]     128     363 ..     101     363 .. 0.92

Alignments for each domain:
== domain 1  score: 25.5 bits;  conditional E-value: 4.3e-10
EEEEEEEEEESSEEEEEEEETTTTEEEEEEEEEHHCCCHHHHHHHHHHHHHHHHHSSTTB CS
Pkinase  1 yekleklGeGsfGkVykaveketgkivAvKkikkekakkkkekkvlrEikilkklkhpni 60
ye ++k+G+G++++V+++v+ +++ ++++K++k  k+kk k     rEikil  l+ +++
sp|P15790|CSK21_YEAST 40 YEIENKVGRGKYSEVFQGVKLDSKVKIVIKMLKPVKKKKIK-----REIKILTDLSNEKV 94
78999****************************99888855.....7******9998877 PP

== domain 2  score: 173.4 bits;  conditional E-value: 3.2e-55
S.STTB--EEEEEEE..SSEEEEEEE--TTEBHHHHHHHHSS--HHHHHHHHHHHHHHHHHHHHTTEE-SS-SGGGEEEE.TTTEEEE CS
+ h ni++l++++++  +++  lv+eyv++ ++  l+    +l++ e+++++ ++l++l+y+Hs+gi+HrD+Kp+N++id ++++l++
sp|P15790|CSK21_YEAST 128 NgHANIIHLFDIIKDpiSKTPALVFEYVDNVDFRILYP---KLTDLEIRFYMFELLKALDYCHSMGIMHRDVKPHNVMIDhKNKKLRL 212
35*************8878888*********9988887...5**************************************66677*** PP

-SGTTSEECCSSCSBCTCCSCGGGS-HHHH.TTSTCSHHHHHHHHHHHHHHHHHSS-STTTSSCHHHHHHHHHTHHHHHHHCTSHH.. CS
Pkinase 140 tDFGlakelessskltsfvgtreYlAPEvl.keneyskkvDvWslGvilyelltgkppfsgekgkekvekeldqlekilkilgetkek 226
+D+Gla+ ++ + +++ +v++r +  PE+l ++++y+ + D+Ws G +l++++++++pf   +g++    ++dql+ki+k+lg+++++
sp|P15790|CSK21_YEAST 213 IDWGLAEFYHVNMEYNVRVASRFFKGPELLvDYRMYDYSLDLWSFGTMLASMIFKREPFF--HGTS----NTDQLVKIVKVLGTSDFE 294
******************************999***************************..3443....789**********77766 PP

....TTS...............................-HHHHHHHHHHT-SSGCCSTTHHHHHTSGGG CS
Pkinase 227 lpeasel...............................seeakdllkkllkkdpkkRltaeellqhpyl 264
+                                 ++e++dl+++ll++d+++Rlta+e++ hp++
sp|P15790|CSK21_YEAST 295 KYLLKYEitlprefydmdqyirkpwhrfindgnkhlsgNDEIIDLIDNLLRYDHQERLTAKEAMGHPWF 363
5554444588999999****************************************************9 PP

Internal pipeline statistics summary:
-------------------------------------
Query sequence(s):                         1  (372 residues searched)
Target model(s):                           1  (264 nodes)
Passed MSV filter:                         1  (1); expected 0.0 (0.02)
Passed bias filter:                        1  (1); expected 0.0 (0.02)
Passed Vit filter:                         1  (1); expected 0.0 (0.001)
Passed Fwd filter:                         1  (1); expected 0.0 (1e-05)
Initial search space (Z):                  1  [actual number of targets]
Domain search space  (domZ):               1  [number of targets reported over threshold]
# CPU time: 0.01u 0.00s 00:00:00.01 Elapsed: 00:00:00.02
# Mc/sec: 4.91
//
Query:       sp|P21333|FLNA_HUMAN  [L=2647]
Description: Filamin-A OS=Homo sapiens GN=FLNA PE=1 SV=4
Scores for complete sequence (score includes all domains):
--- full sequence ---   --- best 1 domain ---    -#dom-
E-value  score  bias    E-value  score  bias    exp  N  Model    Description
------- ------ -----    ------- ------ -----   ---- --  -------- -----------

[No hits detected that satisfy reporting thresholds]

Domain annotation for each model (and alignments):

[No targets detected that satisfy reporting thresholds]

Internal pipeline statistics summary:
-------------------------------------
Query sequence(s):                         1  (2647 residues searched)
Target model(s):                           1  (264 nodes)
Passed MSV filter:                         0  (0); expected 0.0 (0.02)
Passed bias filter:                        0  (0); expected 0.0 (0.02)
Passed Vit filter:                         0  (0); expected 0.0 (0.001)
Passed Fwd filter:                         0  (0); expected 0.0 (1e-05)
Initial search space (Z):                  1  [actual number of targets]
Domain search space  (domZ):               0  [number of targets reported over threshold]
# CPU time: 0.00u 0.00s 00:00:00.00 Elapsed: 00:00:00.00
# Mc/sec: inf
//


HMMER is a great tool and can also analyse multiple sequence alignments to build the hmms if that's what you need. I strongly urge you to reads its documentation which is both informative and a surpisingly fun read (it includes such phrases as "Their format is “proprietary”, which is an open source term of art that means both “I haven’t found time to document them yet” and “I still might decide to change them arbitrarily without telling you”").

• I was sure that with pfam and hmmer it could be possible to find a specific protein motif. But given that the OP has a consensus it might be hard to use it to search in pfam.
– llrs
Jan 26 '18 at 15:22
• @Llopis pfam has HMM models which are essentially PWMs. And this isn't a way of searching PFam, it's a way of using PFam to search protein sequences. The OP says: "I am trying to identify proteins that carry a consensus target sequence for a kinase.", so I assume Ian has a list of proteins and needs to search through them for a kinase domain. I may be wrong, but that's what I got from the question. Jan 26 '18 at 15:58
• I need to review my notes on HMM. Thanks for the answer!
– llrs
Jan 26 '18 at 16:02
• Thanks, but its the pwm for the kinase targets rather than the kinase domain i was looking for. Jan 27 '18 at 7:35