def __get_dna(self, ice_id): '''Gets the sequence ICE entry.''' url = self.__url + '/rest/file/' + self.get_ice_number(ice_id) + \ '/sequence/sbol1?sid=' + self.__sid temp_file = tempfile.NamedTemporaryFile(delete=False) with codecs.open(temp_file.name, 'w', 'utf-8') as text_file: text_file.write(net_utils.get(url)) return sbol_utils.read(temp_file.name)
def get_genbank(self, ice_id, out=None): '''Get Genbank file.''' url = self.__url + '/rest/file/' + self.get_ice_number(ice_id) + \ '/sequence/genbank' genbank = net_utils.get(url, self.__headers) if out: with open(out, 'w') as out_file: out_file.write(genbank) return genbank
def __get_meta_data(self, ice_id): '''Returns an ICE entry metadata.''' return _read_resp( net_utils.get( self.__url + '/rest/parts/' + self.get_ice_number(ice_id), self.__headers))
def search(self, term, limit=5): '''Searches ICE.''' url = self.__url + '/rest/search?offset=0&limit=' + str(limit) + \ '&sort=relevance&q="' + term + '"' return _read_resp(net_utils.get(url, self.__headers))
def search_groups(self, term): '''Gets groups from search terms.''' url = self.__url + '/rest/groups/autocomplete?token=' + term return _read_resp(net_utils.get(url, headers=self.__headers))
def get_groups(self): '''Gets a group name to id map.''' url = self.__url + '/rest/groups?offset=0&limit=4096' groups = _read_resp(net_utils.get(url, headers=self.__headers)) return {group['label']: group['id'] for group in groups['data']}