Exemple #1
0
from pygly.GlycanImage import GlycanImage
from pygly.GlyTouCan import GlyTouCan

if len(sys.argv) <= 1:
    print >> sys.stderr, "glyimg.py [ image options ] <gtc-accession> [ <gtc-accession> ... ]"
    print >> sys.stderr, """
    Image options:
    scale        <float>                               [1.0]
    reducing_end (true|false)                          [true]
    orientation  (RL|LR|TB|BT)                         [RL]
    notation     (cfg|cfgbw|cfglink|uoxf|text|uoxfcol) [cfg]
    display      (normal|normalinfo|compact)           [normalinfo]
    """.strip()
    sys.exit(1)

gtc = GlyTouCan(usecache=True)

imageWriter = GlycanImage()
lastopt = 0
for i in range(1, len(sys.argv), 2):
    if sys.argv[i].startswith('G'):
        break
    key = sys.argv[i]
    value = sys.argv[i + 1]
    imageWriter.set(key, value)
    lastopt = i + 1

for acc in sys.argv[(lastopt + 1):]:
    outfile = acc + ".png"
    g = gtc.getGlycan(acc)
    imageWriter.writeImage(g, outfile)
Exemple #2
0
#!/bin/env python27

import sys

import findpygly

from pygly.GNOme import GNOme, SubsumptionGraph
from pygly.GlyTouCan import GlyTouCan

g = SubsumptionGraph()
g.readfile(sys.argv[1])
sys.argv.pop(1)
# g = GNOme()
gtc = GlyTouCan(usecache=True)

for acc in sys.argv[1:]:
    taccs = set(filter(g.istopology, g.descendants(acc)))
    # print " ".join(sorted(taccs))
    toremove = set()
    for tacc in taccs:
        gly = gtc.getGlycan(tacc)
        if gly.undetermined():
            toremove.add(tacc)
        for m in gly.all_nodes():
            if m.stem() == None:
                toremove.add(tacc)
                break
    for tacc in toremove:
        taccs.remove(tacc)
    toremove = set()
    for tacc in taccs:
Exemple #3
0
#!/bin/env python27

import sys, traceback

from getwiki import GlycoMotifWiki, CCRCMotif

w = GlycoMotifWiki()

from pygly.GlyTouCan import GlyTouCan

gtc = GlyTouCan()

from gtccache import GlyTouCanCache

gtccache = GlyTouCanCache()

from dataset import XLSXFileTable

rows = XLSXFileTable(sys.argv[1])

current = set()
for r in rows:

    try:
        index = int(r['#'])
    except ValueError:
        traceback.print_exc()
        continue

    name = r['Trivial Name-Cummings']
    if name:
Exemple #4
0
from getwiki import GPTWiki, Glycan

import findpygly
from pygly.GlyTouCan import GlyTouCan

import os, sys, urllib, string
import Bio.SeqIO

gtc = GlyTouCan(usecache=True)
w = GPTWiki()
try:
    os.mkdir('../glycoct')
except OSError:
    pass

for gc in sorted(w.iterglycans(), key=lambda gc: gc.get('accession')):
    acc = gc.get('accession')
    topos = map(str.strip, map(str, gc.get('topo')))
    for tacc in topos:
        glycoct = gtc.getseq(tacc, 'glycoct')
        if not glycoct:
            gly = gtc.getGlycan(tacc)
            glycoct = gly.glycoct()
        f = open('../glycoct/' + acc + '.' + tacc + '.txt', 'w')
        f.write(glycoct)
        f.close()
        print >> sys.stderr, "Dump GlycoCT to %s.%s.txt" % (acc, tacc)
Exemple #5
0
#!/bin/env python27

import os, sys
import json
import findpygly
from pygly.GlycanFormatter import GlycoCTFormat, WURCS20Format
from pygly.GlyTouCan import GlyTouCan

g = GlyTouCan()

wurcs_parser = WURCS20Format()
glycoct_parser = GlycoCTFormat()

wpath = "dumps/wurcs"
gpath = "dumps/glycoct"

wlist = os.listdir(wpath)
glist = os.listdir(gpath)
alllist = list(set(wlist+glist))
print "Total glycan number %s" % len(alllist)

glycanobj = {}
for filename in alllist:
    acc = filename.rstrip(".txt")

    try:
        gseq = open(os.path.join(gpath, filename)).read().strip()
        obj = glycoct_parser.toGlycan(gseq)

    except:
        try:
Exemple #6
0
#!/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
Exemple #7
0
#!/usr/bin/env python27

import sys, os, os.path
import findpygly
from pygly.GlyTouCan import GlyTouCan
from pygly.GlycanFormatter import GlycoCTFormat

glycoct_format = GlycoCTFormat()
gtc = GlyTouCan()

for l in sys.stdin:
    acc = l.strip()
    g = gtc.getGlycan(acc)
    if g and g.fully_determined():
        print acc, True
        if not os.path.exists('%s.txt' % (acc, )):
            seq = gtc.getseq(acc, 'glycoct')
            if not seq:
                try:
                    seq = glycoct_format.toStr(g)
                except:
                    pass
            if seq:
                wh = open('%s.txt' % (acc, ), 'w')
                wh.write(seq.strip() + '\n')
                wh.close()
    else:
        print acc, (False if g else None)
Exemple #8
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,