#!/bin/env python27 from getwiki import GlycoMotifWiki import sys w = GlycoMotifWiki() if len(sys.argv) > 1: w.deletemany(regex=sys.argv[1],verbose=True) else: w.deletemany(category='Motif')
#!/bin/env python2 import findpygly from getwiki import GlycoMotifWiki # we must instantiate early, before any use of the command-line. w = GlycoMotifWiki() #print w._prefix import sys, os, os.path dir = sys.argv[1] try: os.makedirs(dir) except OSError: pass format = sys.argv[2] assert format in ('wurcs', 'glycoct') seen = set() for m in w.itermotif(): glytoucan = m.get('glytoucan') if glytoucan in seen: continue seen.add(glytoucan) seq = m.get(format) if not seq: continue print glytoucan fn = os.path.join(dir, glytoucan + '.txt') wh = open(fn, 'w') wh.write(seq.strip() + "\n")
#!/bin/env python2 from collections import defaultdict from getwiki import GlycoMotifWiki import findpygly from pygly.GlycanResource import GlyTouCan import sys w = GlycoMotifWiki() gtc = None def accs(): global gtc if len(sys.argv) > 1: gtc = GlyTouCan(prefetch=False, usecache=False) for acc in sys.argv[1:]: yield acc else: gtc = GlyTouCan(prefetch=True, usecache=False) for m in w.itermotif(): yield m.get('id') for acc in accs(): m = w.get(acc) gtcacc = m.get('glytoucan') wurcs = gtc.getseq(gtcacc, 'wurcs')
#!/bin/env python27 import sys,traceback from getwiki import GlycoMotifWiki, GlycoEpitopeMotif w = GlycoMotifWiki() import csv from gtccache import GlyTouCanCache gtccache = GlyTouCanCache() current = set() for r in csv.DictReader(open(sys.argv[1]),dialect='excel-tab'): if not r['glytoucan']: continue redend = None aglycon = None if r['sequence'].endswith('Cer'): redend = True aglycon = 'Cer' elif r['sequence'].endswith('Ser/Thr'): redend = True aglycon = 'Ser/Thr' elif r['sequence'].endswith('-R'): redend = False aglycon = 'R' wurcs=gtccache.gtc2wurcs(r['glytoucan']) glycoct=gtccache.gtc2glycoct(r['glytoucan']) motif = GlycoEpitopeMotif(accession=r['acc'],name=r['name'],glytoucan=r['glytoucan'],redend=redend,aglycon=aglycon,wurcs=wurcs,glycoct=glycoct) if w.update(motif): print >>sys.stderr, r['acc']
#!/bin/env python2 import sys from getwiki import GlycoMotifWiki, GlyTouCanMotif w = GlycoMotifWiki() if len(sys.argv) > 1: if sys.argv[1] == "-": for p in w.iterpages(exclude_categories=['Motif', 'Collection']): print >> sys.stderr, p.name w.refresh(p) elif sys.argv[1] == "Publications": for p in w.iterpages(include_categories=['Publication']): print >> sys.stderr, p.name w.refresh(p) elif sys.argv[1] == "Collections": for p in w.iterpages(include_categories=['Collection']): print >> sys.stderr, p.name w.refresh(p) else: for p in w.iterpages(regex=sys.argv[1]): print >> sys.stderr, p.name
#!/bin/env python2 from getwiki import GlycoMotifWiki import sys w = GlycoMotifWiki() w.dumpsite(sys.argv[1], exclude_regex='^GM\.')
#!/bin/env python27 from getwiki import GlycoMotifWiki import sys w = GlycoMotifWiki() m = w.get(sys.argv[1]) if m: coll,acc = sys.argv[2].split('.') m.delete('sameas') m.set('accession',acc) m.set('collection',coll) m.set('id',sys.argv[2]) if w.put(m): print "Copied:",sys.argv[1],"to",m.get('id')
#!/bin/env python2 import sys, traceback, time from getwiki import GlycoMotifWiki, Publication w = GlycoMotifWiki() refs = [] if len(sys.argv) > 1: h = open(sys.argv[1]) else: h = sys.stdin for l in h: sl = l.split() try: refid = int(sl[0]) except: refid = sl[0] if refid == "-": refid = None pmid = sl[1] refs.append((refid, pmid)) currentpmids = set() for pub in w.iterpages(include_categories=['Publication']): pmid = w.get(pub.name).get('pmid') if pmid != None: currentpmids.add(pmid) from Bio import Entrez
#!/bin/env python27 from getwiki import GlycoMotifWiki import sys fromwiki = sys.argv[1].upper() towiki = sys.argv[2].upper() assert fromwiki in ("PROD", "DEV", "TEST") assert towiki in ("PROD", "DEV", "TEST") assert fromwiki != towiki w1 = GlycoMotifWiki(smwenv=fromwiki, quiet=True) print >> sys.stderr, "from: %s" % (w1.title(), ) w2 = GlycoMotifWiki(smwenv=towiki, quiet=True) print >> sys.stderr, " to: %s" % (w2.title(), ) dummy = raw_input("Enter to proceed, <Ctrl-C> to abort:") currentcoll = set() for c1 in w1.itercollection(): id = c1.get('id') assert (id) currentcoll.add(id) if w2.put(c1): print >> sys.stderr, "Pushing %s to %s" % (id, w2.title()) else: print >> sys.stderr, "No change to %s in %s" % (id, w2.title()) currentmotif = set() for m1 in w1.itermotif():
#!/bin/env python27 from getwiki import GlycoMotifWiki, GlyTouCanMotif w = GlycoMotifWiki() for m in w.itermotif(collection='GGM'): print m # print m.get('collection'), m.get('accession'), m.get('id')
#!/bin/env python27 import sys, traceback from getwiki import GlycoMotifWiki, UniCarbMotif w = GlycoMotifWiki() from pygly.GlyTouCan import GlyTouCan gtc = GlyTouCan() from gtccache import GlyTouCanCache gtccache = GlyTouCanCache() from pygly.GlycanFormatter import GlycoCTFormat, IUPACParserExtended1 gparser = GlycoCTFormat() imparser = IUPACParserExtended1() from dataset import XLSXFileTable rows = XLSXFileTable(sys.argv[1]) possibleaglycon = ["Cer", "R", "Ser/Thr"] reaglycon = ["Ser/Thr", "Cer", "Other"] current = set() for r in rows: id = r["ID"] name = r["Name"] iupacseq = r["IUPAC"] accession = "%06d" % id if not iupacseq: continue
#!/bin/env python27 from getwiki import GlycoMotifWiki import sys w = GlycoMotifWiki() w.dumpsite(sys.argv[1], exclude_categories=['Motif', 'Collection'])
#!/bin/env python27 from getwiki import GlycoMotifWiki, Collection, GlyTouCanMotif, CCRCMotif, GlycoEpitopeMotif, AllMotif, GlyGenMotif from getwiki import GlydinMotif, GlydinCummingsMotif, GlydinHayesMotif, GlydinCermavMotif, GlydinSugarbindMotif, GlydinBioligoMotif from getwiki import UniCarbMotif import sys w = GlycoMotifWiki() current = set() w.put( Collection(id=GlyTouCanMotif.id, name="GlyTouCan Motifs", contact="Kiyoko Aoki-Kinoshita", email="*****@*****.**", url="https://glytoucan.org/Motifs/listAll")) current.add(GlyTouCanMotif.id) w.put( Collection( id=CCRCMotif.id, name="CCRC Motifs", contact="Rene Ranzinger", email="*****@*****.**", url= "https://github.com/glygen-glycan-data/PyGly/raw/master/smw/glycomotif/data/MotifsMP2.xlsx" )) current.add(CCRCMotif.id) w.put( Collection(id=GlycoEpitopeMotif.id, name="GlycoEpitope Epitopes", contact="Toshisuke Kawasaki", email="*****@*****.**",
#!/bin/env python27 from getwiki import GlycoMotifWiki import sys, re w = GlycoMotifWiki() for m in w.itermotif(collection="GGM"): match = False if re.search(sys.argv[2], m.get('accession')): match = True if not match: for name in m.get('name', []): if re.search(sys.argv[2], name): match = True break if match: keywords = m.get("keyword", set()) keywords.add(sys.argv[1]) m.set("keyword", keywords) if w.put(m): print >> sys.stderr, m.get('id'), sys.argv[1]
#!/bin/env python27 from getwiki import GlycoMotifWiki, GlyTouCanMotif w = GlycoMotifWiki()
#!/bin/env python27 from getwiki import GlycoMotifWiki import sys w = GlycoMotifWiki() w.loadsite(sys.argv[1])
#!/bin/env python2 from collections import defaultdict from getwiki import GlycoMotifWiki w = GlycoMotifWiki() gtc2motif = defaultdict(list) for m in w.itermotif(): gtc = m.get('glytoucan') if gtc: gtc2motif[gtc].append(m) for gtc, motiflist in sorted(gtc2motif.iteritems()): print gtc for m in motiflist: sameas = sorted(map(lambda m1: m1.get('id'), motiflist)) sameas.remove(m.get('id')) m.set('sameas', sameas) w.update(m)
#!/bin/env python27 import sys, traceback, re from collections import defaultdict from getwiki import GlycoMotifWiki, GlyGenMotif w = GlycoMotifWiki() motif2gd = defaultdict(set) from dataset import CSVFileTable for r in CSVFileTable(sys.argv[1]): entry = r['term (main_entry)'].strip() xrefs = r['term_xref'] gdacc = r['glycan_dictionary_accession'] allmid = set() for xr in filter(None, xrefs.split('|')): try: src, mid = xr.split(':', 1) except ValueError: continue if src.lower() == "glycomotif": if not re.search(r'^GGM\.\d{6}$', mid): print "Bad motif id: %s (%s)" % (mid, entry) continue motif2gd[mid].add((gdacc, entry)) for mid in w.site.allpages(prefix='GGM.', generator=False): # print mid m = w.get(mid) entries = motif2gd[mid]
#!/bin/env python27 from collections import defaultdict import sys from getwiki import GlycoMotifWiki, AllMotif w = GlycoMotifWiki() gtc2motif = defaultdict(list) for m in w.itermotif(): if m.get('collection') != AllMotif.id: gtc = m.get('glytoucan') gtc2motif[gtc].append(m) current = set() for gtc, motiflist in sorted(gtc2motif.iteritems()): names = [] redend = set() aglycon = set() for m in motiflist: if m.has('name'): for n in m.get('name'): if n not in names: names.append(n) if m.has('redend'): redend.update(m.get('redend', [])) if m.has('aglycon'): aglycon.update(m.get('aglycon', [])) if len(redend) == 0: redend = None if len(aglycon) == 0:
#!/bin/env python27 import sys, traceback, os, csv from getwiki import GlycoMotifWiki from getwiki import GlydinMotif, GlydinCummingsMotif, GlydinHayesMotif, GlydinCermavMotif, GlydinSugarbindMotif, GlydinBioligoMotif w = GlycoMotifWiki() from dataset import XLSXFileTable rows = XLSXFileTable(sys.argv[1]) from pygly.GlyTouCan import GlyTouCan gtc = GlyTouCan() from gtccache import GlyTouCanCache gtccache = GlyTouCanCache() """ [x]collection structure key: id (not row number) value: {"aglycon":"String"/None, "name":""/None, "gtcid":""} """ ccollection = {} hcollection = {} vcollection = {} sbcollection = {} bcollection = {} collections = { "c": ccollection, "h": hcollection,