def test_namespace_entry(self): model = NamespaceEntry(name='entry', namespace=Namespace(keyword='test')) expected = {NAMESPACE: 'test', NAME: 'entry'} self.assertEqual(model.to_json(), expected) expected['id'] = model.id = 1 self.assertEqual(model.to_json(include_id=True), expected) expected[IDENTIFIER] = model.identifier = 'test:00001' self.assertEqual(model.to_json(include_id=True), expected)
def test_drop_namespace(self): keyword, url = n(), n() namespace = Namespace(keyword=keyword, url=url) self.manager.session.add(namespace) n_entries = 5 for _ in range(n_entries): entry = NamespaceEntry(name=n(), namespace=namespace) self.manager.session.add(entry) self.manager.session.commit() self.assertEqual(1, self.manager.count_namespaces(), msg='Should have one namespace') self.assertEqual(n_entries, self.manager.count_namespace_entries(), msg='Should have {} entries'.format(n_entries)) self.manager.drop_namespace_by_url(url) self.assertEqual(0, self.manager.count_namespaces(), msg='Should have no namespaces') self.assertEqual(0, self.manager.count_namespace_entries(), msg='Entries should have been dropped')
def _create_namespace_entry_from_model( self, model: Pathway, namespace: Namespace) -> NamespaceEntry: """Create a namespace entry from the model.""" return NamespaceEntry(encoding='B', name=model.name, identifier=model.wikipathways_id, namespace=namespace)
def _create_namespace_entry_from_model(self, model: FlyGene, namespace: Namespace) -> NamespaceEntry: return NamespaceEntry( encoding='GRP', name=model.symbol, identifier=model.flybase_id, namespace=namespace, )
def _create_namespace_entry_from_model(self, model: Drug, namespace: Namespace) -> NamespaceEntry: return NamespaceEntry( encoding='A', name=model.name, identifier=model.drugbank_id, namespace=namespace, )
def _create_namespace_entry_from_model(self, gene: Gene, namespace: Namespace) -> NamespaceEntry: return NamespaceEntry( encoding=gene.bel_encoding, name=gene.name, identifier=gene.entrez_id, namespace=namespace, )
def _create_namespace_entry_from_model( self, model: Antibody, namespace: Namespace) -> NamespaceEntry: return NamespaceEntry( namespace=namespace, identifier=model.antibodyregistry_id, name=model.name, encoding='A', )
def _create_namespace_entry_from_model( self, term: Term, namespace: Namespace) -> NamespaceEntry: return NamespaceEntry( name=term.name, identifier=term.go_id, encoding=term.bel_encoding, namespace=namespace, )
def _create_namespace_entry_from_model( self, model: Homologene, namespace: Namespace) -> NamespaceEntry: return NamespaceEntry( namespace=namespace, name=model.homologene_id, identifier=model.homologene_id, encoding=model.bel_encoding, )
def _create_namespace_entry_from_model( self, sequence: Sequence, namespace: Namespace) -> NamespaceEntry: return NamespaceEntry( name=sequence.name, identifier=sequence.mirbase_id, encoding='GM', namespace=namespace, )
def _create_namespace_entry_from_model( self, model: Enzyme, namespace: Namespace) -> NamespaceEntry: return NamespaceEntry( namespace=namespace, name=model.expasy_id, identifier=model.expasy_id, encoding='GRP', )
def _create_namespace_entry_from_model( self, model: CompathPathwayMixin, namespace: Namespace) -> NamespaceEntry: """Create a namespace entry from the model.""" return NamespaceEntry(encoding='B', name=model.name, identifier=model.identifier, namespace=namespace)
def _create_namespace_entry_from_model( self, descriptor: Descriptor, namespace: Namespace) -> NamespaceEntry: return NamespaceEntry( namespace=namespace, name=descriptor.name, identifier=descriptor.descriptor_ui, encoding=descriptor.bel_encoding, )
def _create_namespace_entry_from_model(self, model: Model, namespace=None): """Create a namespace entry.""" return NamespaceEntry( name=model.name, identifier=model.test_id, namespace=namespace, )
def _create_namespace_entry_from_model( self, mouse_gene: MouseGene, namespace: Namespace) -> NamespaceEntry: return NamespaceEntry( encoding=mouse_gene.bel_encoding, name=mouse_gene.symbol, identifier=mouse_gene.mgi_id, namespace=namespace, )
def _create_namespace_entry_from_model( self, chemical: Chemical, namespace: Namespace) -> NamespaceEntry: """Create a namespace entry from a chemical model.""" if chemical.name: return NamespaceEntry( encoding=chemical.bel_encoding, name=chemical.name, identifier=chemical.chebi_id, namespace=namespace, )
def make_dummy_namespaces(manager, graph, namespaces): """ :param pybel.manager.Manager manager: :param pybel.BELGraph graph: :param dict[str,iter[str]] namespaces: """ for keyword, names in namespaces.items(): url = n() graph.namespace_url[keyword] = url namespace = Namespace(keyword=keyword, url=url) manager.session.add(namespace) manager.namespace_model[url] = namespace for name in names: entry = manager.namespace_object_cache[url][ entry.name] = NamespaceEntry(name=name, namespace=namespace) manager.session.add(entry) manager.session.commit()
def _create_namespace_entry_from_model( self, gene: RatGene, namespace: Namespace) -> NamespaceEntry: return NamespaceEntry(encoding=gene.bel_encoding, name=gene.symbol, identifier=gene.rgd_id, namespace=namespace)