| 1 | = Summary of PDBj-DDBJ-KEGG workflow demo = |
| 2 | == Who we are == |
| 3 | * [http://www.ddbj.nig.ac.jp DDBJ] (Sugawara & Shigemoto) |
| 4 | * [http://www.pdbj.org PDBj] (Standley & Kinjo) |
| 5 | * [http://www.kegg.jp KEGG] (Kawashima) |
| 6 | |
| 7 | == Our ''Task'' == |
| 8 | Somehow integrate DDBJ, PDBj, and KEGG. |
| 9 | |
| 10 | == What it is == |
| 11 | Annotate a protein sequence by homology based on sequence and structure. |
| 12 | |
| 13 | === Input: Given an unannotated protein sequence ("hypothetical", "putative", etc.) === |
| 14 | 1. Run BLAST against DAD at DDBJ. |
| 15 | 1. When annotated homologs are found, get their annotations from DDBJ. |
| 16 | 1. When only hypothetical proteins are found, run BLAST against PDB. |
| 17 | 1. If any homologs are found (annotated or not), they are sent to Structural-Navigator (structure search) at PDBj. |
| 18 | 1. If any similar structures are found, get the annotations from PDBj and KEGG. |
| 19 | === Output: homology-based annotation from DDBJ, KEGG, and PDBj === |
| 20 | |
| 21 | == How we implemented it == |
| 22 | * We used Taverna. |
| 23 | * DDBJ and KEGG have plenty of SOAP services which are actually used. |
| 24 | * PDBj's SOAP services are very poor (no SOAP service for Structure-Navi), but there are some REST services which were used ''after some modifications''. |
| 25 | * Only one of us knew Java (Mr. Shigemoto from DDBJ) so he did most of the programming (!BeanShell scripts). |
| 26 | |
| 27 | [[Image(DDBJ-KEGG-PDBj.jpg)]] |
| 28 | |
| 29 | == What we learned == |
| 30 | * No conditional branch in Taverna. |
| 31 | * We needed to write many small glue codes to connect different services. |
| 32 | * !BeanShell scripts are handy. |
| 33 | * But, writing !BeanShell scripts requires a Java programmer (We had only Shigemoto-san...). |
| 34 | * SOAP is usable (AK's comment). |
| 35 | * It's nice to have knowledgeable people around. We can ask questions and modify codes instantly. |
| 36 | |
| 37 | == What can be improved == |
| 38 | * Server-side programming? |
| 39 | * Lots of small widgets? |
| 40 | * Knowing the target users. (Who are they, any way?) |
| 41 | |
| 42 | == Sort of conclusions... == |
| 43 | * It's unrealistic to make strictly standardized data format and/or API. |
| 44 | * First of all, individual providers should hack to make usable services. |
| 45 | * Only after then, we can make interfaces interoperable by hacking. |
| 46 | * Thus, it's nice to have a Hackathon once in a while... |
| 47 | |