def weblogo(self,fname,format="PNG",**kwds): """ uses the Berkeley weblogo service to download and save a weblogo of itself requires an internet connection. The parameters from **kwds are passed directly to the weblogo server. """ from SAP.Bio._py3k import urlopen, urlencode, Request al= self._to_fasta() url = 'http://weblogo.berkeley.edu/logo.cgi' values = {'sequence': al, 'format': format, 'logowidth': '18', 'logoheight': '5', 'logounits': 'cm', 'kind': 'AUTO', 'firstnum': "1", 'command': 'Create Logo', 'smallsamplecorrection': "on", 'symbolsperline': 32, 'res': '96', 'res_units': 'ppi', 'antialias': 'on', 'title': '', 'barbits': '', 'xaxis': 'on', 'xaxis_label': '', 'yaxis': 'on', 'yaxis_label': '', 'showends': 'on', 'shrink': '0.5', 'fineprint': 'on', 'ticbits': '1', 'colorscheme': 'DEFAULT', 'color1': 'green', 'color2': 'blue', 'color3': 'red', 'color4': 'black', 'color5': 'purple', 'color6': 'orange', 'color1': 'black', } for k, v in kwds.items(): values[k]=str(v) data = urlencode(values) req = Request(url, data) response = urlopen(req) with open(fname,"w") as f: im=response.read() f.write(im)
def _open(cgi, params={}, get=1): """_open(cgi, params={}, get=1) -> UndoHandle Open a handle to SCOP. cgi is the URL for the cgi script to access. params is a dictionary with the options to pass to it. get is a boolean that describes whether a GET should be used. Does some simple error checking, and will raise an IOError if it encounters one. """ from SAP.Bio._py3k import urlopen, urlencode # Open a handle to SCOP. options = urlencode(params) if get: # do a GET if options: cgi += "?" + options handle = urlopen(cgi) else: # do a POST handle = urlopen(cgi, data=options) return handle
def weblogo(self, fname, format="PNG", version="2.8.2", **kwds): """ uses the Berkeley weblogo service to download and save a weblogo of itself requires an internet connection. The parameters from **kwds are passed directly to the weblogo server. Currently, this method uses WebLogo version 3.3. These are the arguments and their default values passed to WebLogo 3.3; see their website at http://weblogo.threeplusone.com for more information: 'stack_width' : 'medium', 'stack_per_line' : '40', 'alphabet' : 'alphabet_dna', 'ignore_lower_case' : True, 'unit_name' : "bits", 'first_index' : '1', 'logo_start' : '1', 'logo_end': str(self.length), 'composition' : "comp_auto", 'percentCG' : '', 'scale_width' : True, 'show_errorbars' : True, 'logo_title' : '', 'logo_label' : '', 'show_xaxis': True, 'xaxis_label': '', 'show_yaxis': True, 'yaxis_label': '', 'yaxis_scale': 'auto', 'yaxis_tic_interval' : '1.0', 'show_ends' : True, 'show_fineprint' : True, 'color_scheme': 'color_auto', 'symbols0': '', 'symbols1': '', 'symbols2': '', 'symbols3': '', 'symbols4': '', 'color0': '', 'color1': '', 'color2': '', 'color3': '', 'color4': '', """ from SAP.Bio._py3k import urlopen, urlencode, Request frequencies = self.format('transfac') url = 'http://weblogo.threeplusone.com/create.cgi' values = { 'sequences': frequencies, 'format': format.lower(), 'stack_width': 'medium', 'stack_per_line': '40', 'alphabet': 'alphabet_dna', 'ignore_lower_case': True, 'unit_name': "bits", 'first_index': '1', 'logo_start': '1', 'logo_end': str(self.length), 'composition': "comp_auto", 'percentCG': '', 'scale_width': True, 'show_errorbars': True, 'logo_title': '', 'logo_label': '', 'show_xaxis': True, 'xaxis_label': '', 'show_yaxis': True, 'yaxis_label': '', 'yaxis_scale': 'auto', 'yaxis_tic_interval': '1.0', 'show_ends': True, 'show_fineprint': True, 'color_scheme': 'color_auto', 'symbols0': '', 'symbols1': '', 'symbols2': '', 'symbols3': '', 'symbols4': '', 'color0': '', 'color1': '', 'color2': '', 'color3': '', 'color4': '', } for k, v in kwds.items(): if isinstance(values[k], bool): if not v: v = "" values[k] = str(v) data = urlencode(values) req = Request(url, data) response = urlopen(req) with open(fname, "w") as f: im = response.read() f.write(im)
def weblogo(self, fname, format="PNG", version="2.8.2", **kwds): """ uses the Berkeley weblogo service to download and save a weblogo of itself requires an internet connection. The parameters from **kwds are passed directly to the weblogo server. Currently, this method uses WebLogo version 3.3. These are the arguments and their default values passed to WebLogo 3.3; see their website at http://weblogo.threeplusone.com for more information: 'stack_width' : 'medium', 'stack_per_line' : '40', 'alphabet' : 'alphabet_dna', 'ignore_lower_case' : True, 'unit_name' : "bits", 'first_index' : '1', 'logo_start' : '1', 'logo_end': str(self.length), 'composition' : "comp_auto", 'percentCG' : '', 'scale_width' : True, 'show_errorbars' : True, 'logo_title' : '', 'logo_label' : '', 'show_xaxis': True, 'xaxis_label': '', 'show_yaxis': True, 'yaxis_label': '', 'yaxis_scale': 'auto', 'yaxis_tic_interval' : '1.0', 'show_ends' : True, 'show_fineprint' : True, 'color_scheme': 'color_auto', 'symbols0': '', 'symbols1': '', 'symbols2': '', 'symbols3': '', 'symbols4': '', 'color0': '', 'color1': '', 'color2': '', 'color3': '', 'color4': '', """ from SAP.Bio._py3k import urlopen, urlencode, Request frequencies = self.format("transfac") url = "http://weblogo.threeplusone.com/create.cgi" values = { "sequences": frequencies, "format": format.lower(), "stack_width": "medium", "stack_per_line": "40", "alphabet": "alphabet_dna", "ignore_lower_case": True, "unit_name": "bits", "first_index": "1", "logo_start": "1", "logo_end": str(self.length), "composition": "comp_auto", "percentCG": "", "scale_width": True, "show_errorbars": True, "logo_title": "", "logo_label": "", "show_xaxis": True, "xaxis_label": "", "show_yaxis": True, "yaxis_label": "", "yaxis_scale": "auto", "yaxis_tic_interval": "1.0", "show_ends": True, "show_fineprint": True, "color_scheme": "color_auto", "symbols0": "", "symbols1": "", "symbols2": "", "symbols3": "", "symbols4": "", "color0": "", "color1": "", "color2": "", "color3": "", "color4": "", } for k, v in kwds.items(): if isinstance(values[k], bool): if not v: v = "" values[k] = str(v) data = urlencode(values) req = Request(url, data) response = urlopen(req) with open(fname, "w") as f: im = response.read() f.write(im)