# ****************************************************** # SPARQL Generator for Glycan Search: # Last update: 2015/12/14 # Query Structure: # WURCS=2.0/3,5,4/[a2122h-1b_1-5_2*NCC/3=O][a1122h-1b_1-5][a1122h-1a_1-5]/1-1-2-3-3/a4-b1_b4-c1_c3-d1_c6-e1 # ****************************************************** DEFINE sql:select-option "order" PREFIX glycan: PREFIX wurcs: SELECT DISTINCT ?glycan (COUNT (?glycan) AS ?gcount) (STR (?wurcs) AS ?WURCS) FROM FROM NAMED WHERE { ?glycan glycan:has_glycosequence ?gseq . ?gseq wurcs:count_RES ?rescount . ?gseq wurcs:count_uniqueRES ?urescount . ?gseq wurcs:count_LIN ?lincount . ?gseq glycan:has_sequence ?wurcs . # GLIN1 ## GRES1 ?gseq wurcs:has_GRES ?GRES1 . ?GRES1 wurcs:is_monosaccharide ?MS1 . GRAPH { wurcs:subsumes ?MS1 . } ?GRES1 wurcs:is_acceptor_of ?GLIN1 . ?GLIN1 wurcs:has_donor_position 1 . ?GLIN1 wurcs:has_acceptor_position 4 . ## GRES2 ?gseq wurcs:has_GRES ?GRES2 . ?GRES2 wurcs:is_monosaccharide ?MS1 . FILTER ( ?GRES2 != ?GRES1 ) ?GRES2 wurcs:is_donor_of ?GLIN1 . # GLIN2 ?GRES2 wurcs:is_acceptor_of ?GLIN2 . ?GLIN2 wurcs:has_donor_position 1 . ?GLIN2 wurcs:has_acceptor_position 4 . ## GRES3 ?gseq wurcs:has_GRES ?GRES3 . ?GRES3 wurcs:is_monosaccharide ?MS2 . GRAPH { wurcs:subsumes ?MS2 . } FILTER ( ?GRES3 != ?GRES1 && ?GRES3 != ?GRES2 ) ?GRES3 wurcs:is_donor_of ?GLIN2 . # GLIN3 ?GRES3 wurcs:is_acceptor_of ?GLIN3 . ?GLIN3 wurcs:has_donor_position 1 . ?GLIN3 wurcs:has_acceptor_position 3 . ## GRES4 ?gseq wurcs:has_GRES ?GRES4 . ?GRES4 wurcs:is_monosaccharide ?MS3 . GRAPH { wurcs:subsumes ?MS3 . } FILTER ( ?GRES4 != ?GRES1 && ?GRES4 != ?GRES2 && ?GRES4 != ?GRES3 ) ?GRES4 wurcs:is_donor_of ?GLIN3 . # GLIN4 ?GRES3 wurcs:is_acceptor_of ?GLIN4 . ?GLIN4 wurcs:has_donor_position 1 . ?GLIN4 wurcs:has_acceptor_position 6 . ## GRES5 ?gseq wurcs:has_GRES ?GRES5 . ?GRES5 wurcs:is_monosaccharide ?MS3 . FILTER ( ?GRES5 != ?GRES1 && ?GRES5 != ?GRES2 && ?GRES5 != ?GRES3 && ?GRES5 != ?GRES4 ) ?GRES5 wurcs:is_donor_of ?GLIN4 . # MAP ?GLIN1 wurcs:has_MAP ""^^xsd:string . ?GLIN2 wurcs:has_MAP ""^^xsd:string . ?GLIN3 wurcs:has_MAP ""^^xsd:string . ?GLIN4 wurcs:has_MAP ""^^xsd:string . } ORDER BY ?rescount ?urescount ?lincount ?glycan desc (?gcount)