def __getitem__(self, id): """__getitem__(self, id) -> object Return a Prodoc entry. id is either the id or accession for the entry. Raises a KeyError if there's an error. """ import time from Bio.WWW import ExPASy # First, check to see if enough time has passed since my # last query. if self.last_query_time is not None: delay = self.last_query_time + self.delay - time.time() if delay > 0.0: time.sleep(delay) self.last_query_time = time.time() try: handle = ExPASy.get_prodoc_entry(id) except IOError: raise KeyError, id try: handle = File.StringHandle(_extract_record(handle)) except ValueError: raise KeyError, id if self.parser is not None: return self.parser.parse(handle) return handle.read()
def scan_sequence_expasy(seq=None, id=None, exclude_frequent=None): """scan_sequence_expasy(seq=None, id=None, exclude_frequent=None) -> list of PatternHit's Search a sequence for occurrences of Prosite patterns. You can specify either a sequence in seq or a SwissProt/trEMBL ID or accession in id. Only one of those should be given. If exclude_frequent is true, then the patterns with the high probability of occurring will be excluded. """ from Bio import ExPASy if (seq and id) or not (seq or id): raise ValueError, "Please specify either a sequence or an id" handle = ExPASy.scanprosite1(seq, id, exclude_frequent) return _extract_pattern_hits(handle)
def sprot_search(accs, outf=sys.stdout): all_results = '' i=0 for acc in accs: outf.write('>'+acc+'\n') sys.stderr.write( acc + "\tNo. " + repr(i) +'\n') try: results=ExPASy.get_sprot_raw(acc) outf.write(results.read()) except IOError: sys.stderr.write( "I/O error: No results \n") i=i+1
def __getitem__(self, id): """__getitem__(self, id) -> object Return a SwissProt entry. id is either the id or accession for the entry. Raises a KeyError if there's an error. """ # First, check to see if enough time has passed since my # last query. self.limiter.wait() try: handle = ExPASy.get_sprot_raw(id) except IOError: raise KeyError, id if self.parser is not None: return self.parser.parse(handle) return handle.read()
def __getitem__(self, id): """__getitem__(self, id) -> object Return a Prosite entry. id is either the id or accession for the entry. Raises a KeyError if there's an error. """ from Bio.WWW import ExPASy # First, check to see if enough time has passed since my # last query. self.limiter.wait() try: handle = ExPASy.get_prosite_entry(id) except IOError: raise KeyError, id try: handle = File.StringHandle(_extract_record(handle)) except ValueError: raise KeyError, id if self.parser is not None: return self.parser.parse(handle) return handle.read()
"""Example of connecting with exPASy and parsing SwissProt records.""" # standard library import string # biopython from Bio.WWW import ExPASy from Bio.SwissProt import SProt from Bio import File # 'O23729', 'O23730', 'O23731', Chalcone synthases from Orchid ids = ['O23729', 'O23730', 'O23731'] all_results = '' for id in ids: results = ExPASy.get_sprot_raw(id) all_results = all_results + results.read() s_parser = SProt.RecordParser() s_iterator = SProt.Iterator(File.StringHandle(all_results), s_parser) while 1: cur_record = s_iterator.next() if cur_record is None: break print "description:", cur_record.description for ref in cur_record.references: print "authors:", ref.authors print "title:", ref.title