From 8a8c5ede1573a9a781c7e5c0977baf3e1a48d7a4 Mon Sep 17 00:00:00 2001 From: Sulstice Date: Thu, 31 Mar 2022 07:51:13 -0400 Subject: [PATCH] ss-main: added first pass --- .../global_chem_extensions.py | 23 ++++++++++++- .../smarts_pattern_visualizer.py | 7 ---- .../__init__.py | 0 .../smarts_visualizer/smarts_visualizer.py | 34 +++++++++++++++++++ global_chem_extensions/setup.py | 2 +- 5 files changed, 57 insertions(+), 9 deletions(-) delete mode 100644 global_chem_extensions/global_chem_extensions/software_adapters/smarts_pattern_visualizer/smarts_pattern_visualizer.py rename global_chem_extensions/global_chem_extensions/software_adapters/{smarts_pattern_visualizer => smarts_visualizer}/__init__.py (100%) create mode 100644 global_chem_extensions/global_chem_extensions/software_adapters/smarts_visualizer/smarts_visualizer.py diff --git a/global_chem_extensions/global_chem_extensions/global_chem_extensions.py b/global_chem_extensions/global_chem_extensions/global_chem_extensions.py index 2c312548..48c7b6eb 100644 --- a/global_chem_extensions/global_chem_extensions/global_chem_extensions.py +++ b/global_chem_extensions/global_chem_extensions/global_chem_extensions.py @@ -17,11 +17,15 @@ from global_chem_extensions.analysis_tools.drug_design_filters.drug_design_filters import DrugDesignFilters from global_chem_extensions.analysis_tools.node_pca_analysis.node_pca_analysis import PCAAnalysis -# Adapters +# Software Adapters from global_chem_extensions.software_adapters.pdf_adapter.molpdf_parser import MolPDFAdapter from global_chem_extensions.software_adapters.networkx_adapter.networkx_adapter import NetworkxAdapter +from global_chem_extensions.software_adapters.smarts_visualizer.smarts_visualizer import SmartsVisualizer from global_chem_extensions.software_adapters.dimorphite_dl_adapter.dimorphite_dl import DimorphiteAdapter + +# Language Adapters + from global_chem_extensions.language_adapters.amino_acid_converter.amino_acid_converter import AminoAcidConverter # Machine Learning @@ -474,3 +478,20 @@ def initialize_cgenff_molecule(stream_file): return cgenff_molecule + + @staticmethod + def visualize_smarts(smarts): + + ''' + + Arguments: + smarts (String): Viusalize the SMARTS string + + ''' + + visualizer = SmartsVisualizer( + smarts + ) + + return visualizer.get_image() + diff --git a/global_chem_extensions/global_chem_extensions/software_adapters/smarts_pattern_visualizer/smarts_pattern_visualizer.py b/global_chem_extensions/global_chem_extensions/software_adapters/smarts_pattern_visualizer/smarts_pattern_visualizer.py deleted file mode 100644 index 03d09984..00000000 --- a/global_chem_extensions/global_chem_extensions/software_adapters/smarts_pattern_visualizer/smarts_pattern_visualizer.py +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env python3 -# -# GlobalChemExtensions - SMARTS Pattern Visualizer -# -# ------------------------------------------------ - - diff --git a/global_chem_extensions/global_chem_extensions/software_adapters/smarts_pattern_visualizer/__init__.py b/global_chem_extensions/global_chem_extensions/software_adapters/smarts_visualizer/__init__.py similarity index 100% rename from global_chem_extensions/global_chem_extensions/software_adapters/smarts_pattern_visualizer/__init__.py rename to global_chem_extensions/global_chem_extensions/software_adapters/smarts_visualizer/__init__.py diff --git a/global_chem_extensions/global_chem_extensions/software_adapters/smarts_visualizer/smarts_visualizer.py b/global_chem_extensions/global_chem_extensions/software_adapters/smarts_visualizer/smarts_visualizer.py new file mode 100644 index 00000000..544dfa21 --- /dev/null +++ b/global_chem_extensions/global_chem_extensions/software_adapters/smarts_visualizer/smarts_visualizer.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 +# +# GlobalChemExtensions - SMARTS Pattern Visualizer +# +# ------------------------------------------------ + + +# Imports +# ------- + +import urllib +import requests + +from rdkit import Chem +from IPython.display import Image + +class SmartsVisualizer(object): + + __version__ = '0.0.1' + + + def __init__(self, + smarts_pattern + ): + + self.smarts_pattern = smarts_pattern + + self.base_url = "https://smarts.plus/smartsview/download_rest?" + self.url = self.base_url + f"smarts={self.smarts_pattern}" + + def get_image(self): + + res = requests.get(self.url) + return Image(res.content) \ No newline at end of file diff --git a/global_chem_extensions/setup.py b/global_chem_extensions/setup.py index 91fbea7b..41c63c1e 100644 --- a/global_chem_extensions/setup.py +++ b/global_chem_extensions/setup.py @@ -36,7 +36,7 @@ # ---- setup( name="global_chem_extensions", - version="0.6.6", + version="0.7.5", packages=find_packages(), license='MPL 2.0', author="Suliman Sharif",