PathSys
Query LanguageIntroduction Query language functionality is implemented as Query Window, from 'Tools' menu, where users can type and run their queries. Results of user's queries are immediately visualized in the main window. Pull-down menu of the query window describes six different types of queries as examples. To run these queries, start from applying annotations to your graph. To check what kind of annotations are applied to your nodes/edges just right click on them. If 'Node Attribute Browser' does not appear, you need to download yeast-context.jar. Save it on your computer and upload through 'Plugins'->'Load plugins from Jar File' submenu. Note, for your plugins to work, they should be loaded before opening your graphs. Apply your ontology annotations: GO, KEGG,.. . Click on the Ontology icon of the menu and add levels you are going to search by your queries. In general case of querying you need to apply all ontology levels. After all annotations and ontologies are added you can start querying by clicking on 'Query Engine' from 'Tools' menu. Be aware of next: Language Definition.• //SELECTSELECTStatement ::= SELECT ("P_UNION" | "P_INTERSECTION" | "P_DIFFERENCE") SELECTSELECT ::= "SELECT" ("DISTINCT")? SELECTList FROMClause [WHEREClause]SELECTList ::= SELECTItem(","SELECTItem)*SELECTItem::= (AggFunction"("ReturnType")")|(ReturnType) •//FROMFROMClause ::= "FROM" ( Database(sb) "." DAG(sb) ( "AS" (f = ) ()? )? )*Database::= DAG::= •//WHEREWHEREClause ::= "WHERE" SQLExpressionSQLExpression::=SQLPrimaryExpression(sb) (","SQLPrimaryExpression(sb))*SQLPrimaryExpression::= (( "." ) | ) "=" (( "." ) | NodeFunctionExp | ("REG_EXP" "(\"" LinkType(sb) ) ) ) Query examples.You can see the language syntax from the list of following examples: 1.a SELECT path_bindings(a) FROM dag(x,y,z) WHERE a = idlist(1|2|3|999) 1.b SELECT path_bindings(a//b) FROM dag(x,y,z) WHERE a = idlist(1|3), b = idList(16|) 2.a SELECT path_expression(a//b) FROM dag(x,y,z) WHERE a = idlist(1|3), b = idList(16|) 2.b SELECT full_path_expression(a//b) FROM dag(x,y,z) WHERE a = idlist(1|3), b = idList(16|) 3.a SELECT full_path_expression(a//b/c) FROM dag(x,y,z) WHERE a = nameEquals(nervous_system) union nameEquals(pns), b = idlist(31|57|), c=idlist(22|21) 3.b SELECT path_bindings(a//b/c) FROM dag(x,y,z) WHERE a = nameEquals(nervous_system) union nameEquals(pns), b = idlist(31|57|), c = idlist(22|21) 4 SELECT full_path_expression(a//b/c//d) FROM dag(x,y,z) WHERE a = idlist(1|) difference idList(2|), b = idlist(48|), c = idlist(5|31|67|3), d = idlist(12|) 5.a SELECT path_bindings(a//b, c//d) FROM dag(x,y,z) WHERE a = nameEquals(nervous_system), b = idList(19|20|), c = idlist(46|), d = nameEquals(dendrite) 5.b SELECT path_expression(a//b), full_path_expression(c//d) FROM dag(x,y,z) WHERE a = nameEquals(nervous_system), b = idList(19|20|), c = idlist(46|), d = nameEquals(dendrite) 5.c SELECT path_bindings(a{l1}//b{l2}//c//d{l3}/e//f, g//h{l4}//i), path_expression(j{l5}//k/l) FROM dag(database,username,passwd) WHERE a = idlist(12|13|14) intersect nameEquals(protein) union idList(4|), l3= "isa", b = idList(23|24|25) 6. SELECT full_path_expression(a{l1}//b) FROM dag(x,y,z) WHERE a = idlist(1|), b = idlist(31|57|), l1 = "isa" 7. SELECT path_expression(a{l1}//b{l2}/c) FROM dag(x,y,z) WHERE a = idlist(1|), b = idlist(49|50|48|52|), c = idlist(5|31|67|3), l2 = "has" 8. SELECT full_path_expression(a{l1}//{l2}//{l3}b{l4}//d) FROM dag(x,y,z) WHERE a = idlist(23), b = idList(49), d = idlist(12), l2 = "has" , l3 = "has" l4 = "has" Querying biological networks.
|