def setUp(self): lib = Library(name="JBS") lib.save() for frag_code in ["j001", "j002"]: frag = Fragment(library=lib, code=frag_code, smiles="C") frag.save()
def setUp(self): mylib = Library(name="FragMAXlib") mylib.save() frag = Fragment(library=mylib, code="VT00249", smiles="O=C1N[C@@H](CO1)C1=CC=CC=C1") frag.save()
def test_frag_svg(self): """ check that we can generate valid SVG for a simple fragment """ lib = Library(name="ZeLib") lib.save() frag = Fragment(library=lib, code="F1", smiles="C") frag.save() resp = self.client.get(reverse("fragment_svg", args=(frag.id, ))) self.assertEqual(200, resp.status_code) self.assertEqual(resp["Content-Type"], "image/svg+xml") self._assert_svg(resp.content)
def get_fragment_by_id(fragment_id: str) -> Fragment: try: fragment = Fragment.get_by_id(fragment_id) except Fragment.DoesNotExist: raise Http404(f"no fragment with id '{fragment_id}' exist") return fragment
def get_crystals_fragment(crystal) -> Optional[Fragment]: """ get Crystal's Fragment, returns None for apo crystals """ if crystal.is_apo(): return None return Fragment.get_by_id(crystal.fragment_id)
def get_fragment_id(crystal: Crystal) -> Optional[str]: fragment = crystal.get_fragment() if fragment is None: # pony ORM uses empty string as 'None' return "" db_frag = Fragment.get(fragment.library, fragment.code) return str(db_frag.id)
def _create_library(lib_desc: Dict): lib_name = lib_desc["name"] # check if this library already exist if Library.objects.filter(name=lib_name).exists(): raise CommandError( f"Fragments library '{lib_name}' already exists, refusing to overwrite." ) lib = Library(name=lib_name) lib.save() for code, smiles in lib_desc["fragments"].items(): frag = Fragment(library=lib, code=code, smiles=smiles) frag.save() num_frags = len(lib_desc["fragments"].keys()) print(f"added library '{lib_name}' with {num_frags} fragments")
def get_project_libraries(project: Project) -> Set[Library]: libs = set() for crystal in project.get_crystals(): if crystal.is_apo(): continue frag = Fragment.get_by_id(crystal.fragment_id) libs.add(frag.library) return libs
def _setup_frags_lib(self): library = Library(name="TSLib") library.save() for n in range(3): Fragment(library=library, code=f"T{n}", smiles="C").save()
def setUp(self): mylib = Library(name="MyLib") mylib.save() frag = Fragment(library=mylib, code="VT000", smiles="CN1CCCC1CO") frag.save()