I think workflow tool is useful for many chemoinformatician such as Knime, Pipeline Pilot(PP) and Orange. In my knowledge, it’s difficult to use user defined conda env in PP. Of course these workflow tools provides enough components to do many tasks. But I would like to have more flexibility to build chemoinformatics pipelines.
Recently I updated Knime in my PC and found nice node for using user defined conda env in Knime.
Conda environment probacation node enable to define conda env in Knime pipeline.
I tried to use it in very simple workflow. Following image is overall view of workflow.
Conda environment probagation can select local conda env for workflow. User can select env very easily. I selected my chemoinfomatics env with python 3.9. The setting is passed as flow valiable.
Then, I defined flow valiable in python script node like below.
And wrote some code in the node.
# Copy input to output output_table_1 = input_table_1.copy() from rdkit import Chem from rdkit.Chem import Descriptors output_table_1['ROMol'] = output_table_1['Molecule'].apply(Chem.MolFromMolBlock) output_table_1['SMILES'] = output_table_1['ROMol'].apply(Chem.MolToSmiles) output_table_1['MolWt'] = output_table_1['ROMol'].apply(Descriptors.MolWt) output_table_1['LogP'] = output_table_1['ROMol'].apply(Descriptors.MolLogP)
Data from SDF reader is processed in python script node under my defiened conda env. It worked fine.
In summary, Knime is really flexible and useful tool IMHO. And now there are lots of useful resource for learning Knime.
Reader who interested in Knime I recommend to check following blog post ;)
Thanks for reading.