From 7f4200d0ce281b0e2a64c1cd07ca237f378dd5bc Mon Sep 17 00:00:00 2001 From: t-kimber Date: Tue, 7 Dec 2021 11:29:03 +0100 Subject: [PATCH 1/5] Add entry point. --- setup.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setup.py b/setup.py index 970c737..f956ef0 100644 --- a/setup.py +++ b/setup.py @@ -38,6 +38,8 @@ # Customize MANIFEST.in if the general case does not suit your needs # Comment out this line to prevent the files from being packaged with your software include_package_data=True, + + entry_points={"console_scripts": ["maxsmi = maxsmi.full_workflow"]}, # Allows `setup.py test` to work correctly with pytest setup_requires=[] + pytest_runner, # Additional entries you may want simply uncomment the lines you want and fill in the data From 7bc79f00d199c4aa60db652ac78694c27ac82bee Mon Sep 17 00:00:00 2001 From: dominiquesydow Date: Wed, 8 Dec 2021 14:51:43 +0100 Subject: [PATCH 2/5] Add main() function to user-relevant python scripts --- maxsmi/full_workflow.py | 6 +++++- maxsmi/full_workflow_earlystopping.py | 7 ++++++- maxsmi/prediction_unlabeled_data.py | 11 +++++++++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/maxsmi/full_workflow.py b/maxsmi/full_workflow.py index b50801b..3ea60dd 100644 --- a/maxsmi/full_workflow.py +++ b/maxsmi/full_workflow.py @@ -50,7 +50,8 @@ NB_EPOCHS, ) -if __name__ == "__main__": +def main(): + warnings.filterwarnings("ignore") parser = argparse.ArgumentParser() @@ -432,3 +433,6 @@ ) results_metrics = results_metrics.to_pickle(f"{folder}/results_metrics.pkl") logging.info("Script completed. \n \n") + +if __name__ == "__main__": + main() diff --git a/maxsmi/full_workflow_earlystopping.py b/maxsmi/full_workflow_earlystopping.py index 33d52ca..b230a72 100644 --- a/maxsmi/full_workflow_earlystopping.py +++ b/maxsmi/full_workflow_earlystopping.py @@ -50,7 +50,8 @@ NB_EPOCHS, ) -if __name__ == "__main__": +def main(): + warnings.filterwarnings("ignore") parser = argparse.ArgumentParser() @@ -451,3 +452,7 @@ ) results_metrics = results_metrics.to_pickle(f"{folder}/results_metrics.pkl") logging.info("Script completed. \n \n") + +if __name__ == "__main__": + main() + \ No newline at end of file diff --git a/maxsmi/prediction_unlabeled_data.py b/maxsmi/prediction_unlabeled_data.py index 6af40d0..ab644e9 100644 --- a/maxsmi/prediction_unlabeled_data.py +++ b/maxsmi/prediction_unlabeled_data.py @@ -2,6 +2,7 @@ From smiles to predictions """ +from pathlib import Path import argparse import logging import logging.handlers @@ -36,7 +37,10 @@ from maxsmi.pytorch_evaluation import out_of_sample_prediction from maxsmi.utils_optimal_model import retrieve_optimal_model -if __name__ == "__main__": +PATH_MAXSMI = Path(__file__).parent + +def main(): + warnings.filterwarnings("ignore") parser = argparse.ArgumentParser() @@ -170,7 +174,7 @@ (ml_model_name, ml_model) = model_type(ml_model, device, smi_dict, max_length_smi) logging.info(f"Summary of ml model used for the prediction: {ml_model} ") - file_path = f"maxsmi/prediction_models/{args.task}" + file_path = PATH_MAXSMI / f"prediction_models/{args.task}" ml_model.load_state_dict( torch.load(f"{file_path}/model_dict.pth", map_location=device) ) @@ -246,3 +250,6 @@ logging.info("Script completed. \n \n") print(f"Script completed. Output can be found at {folder}/") + +if __name__ == "__main__": + main() \ No newline at end of file From 5b28c926956042343720ac41bb54fc0e7866cc27 Mon Sep 17 00:00:00 2001 From: dominiquesydow Date: Wed, 8 Dec 2021 14:52:06 +0100 Subject: [PATCH 3/5] Add entry points to setup.py for user-relevant scripts --- setup.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index f956ef0..b649e1e 100644 --- a/setup.py +++ b/setup.py @@ -39,7 +39,13 @@ # Comment out this line to prevent the files from being packaged with your software include_package_data=True, - entry_points={"console_scripts": ["maxsmi = maxsmi.full_workflow"]}, + entry_points={ + "console_scripts": [ + "maxsmi = maxsmi.full_workflow:main", + "maxsmi-earlystopping = maxsmi.full_workflow_earlystopping:main", + "maxsmi-pred = maxsmi.prediction_unlabeled_data:main" + ] + }, # Allows `setup.py test` to work correctly with pytest setup_requires=[] + pytest_runner, # Additional entries you may want simply uncomment the lines you want and fill in the data From 2d37d682a74c6495d0722953ecd43c981cc83b1f Mon Sep 17 00:00:00 2001 From: t-kimber Date: Wed, 8 Dec 2021 15:33:54 +0100 Subject: [PATCH 4/5] fix flake8 --- maxsmi/full_workflow.py | 4 +++- maxsmi/full_workflow_earlystopping.py | 5 +++-- maxsmi/prediction_unlabeled_data.py | 4 +++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/maxsmi/full_workflow.py b/maxsmi/full_workflow.py index 3ea60dd..dfcb788 100644 --- a/maxsmi/full_workflow.py +++ b/maxsmi/full_workflow.py @@ -50,8 +50,9 @@ NB_EPOCHS, ) + def main(): - + warnings.filterwarnings("ignore") parser = argparse.ArgumentParser() @@ -434,5 +435,6 @@ def main(): results_metrics = results_metrics.to_pickle(f"{folder}/results_metrics.pkl") logging.info("Script completed. \n \n") + if __name__ == "__main__": main() diff --git a/maxsmi/full_workflow_earlystopping.py b/maxsmi/full_workflow_earlystopping.py index b230a72..17eec40 100644 --- a/maxsmi/full_workflow_earlystopping.py +++ b/maxsmi/full_workflow_earlystopping.py @@ -50,8 +50,9 @@ NB_EPOCHS, ) + def main(): - + warnings.filterwarnings("ignore") parser = argparse.ArgumentParser() @@ -453,6 +454,6 @@ def main(): results_metrics = results_metrics.to_pickle(f"{folder}/results_metrics.pkl") logging.info("Script completed. \n \n") + if __name__ == "__main__": main() - \ No newline at end of file diff --git a/maxsmi/prediction_unlabeled_data.py b/maxsmi/prediction_unlabeled_data.py index ab644e9..266bc96 100644 --- a/maxsmi/prediction_unlabeled_data.py +++ b/maxsmi/prediction_unlabeled_data.py @@ -39,6 +39,7 @@ PATH_MAXSMI = Path(__file__).parent + def main(): warnings.filterwarnings("ignore") @@ -251,5 +252,6 @@ def main(): logging.info("Script completed. \n \n") print(f"Script completed. Output can be found at {folder}/") + if __name__ == "__main__": - main() \ No newline at end of file + main() From 8fc801512aab6b75bc2f00189ea711bb9d1c8f3b Mon Sep 17 00:00:00 2001 From: t-kimber Date: Wed, 8 Dec 2021 15:35:25 +0100 Subject: [PATCH 5/5] fix flake8 --- setup.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index b649e1e..49e5a0e 100644 --- a/setup.py +++ b/setup.py @@ -38,12 +38,11 @@ # Customize MANIFEST.in if the general case does not suit your needs # Comment out this line to prevent the files from being packaged with your software include_package_data=True, - entry_points={ "console_scripts": [ - "maxsmi = maxsmi.full_workflow:main", - "maxsmi-earlystopping = maxsmi.full_workflow_earlystopping:main", - "maxsmi-pred = maxsmi.prediction_unlabeled_data:main" + "maxsmi = maxsmi.full_workflow:main", + "maxsmi-earlystopping = maxsmi.full_workflow_earlystopping:main", + "maxsmi-pred = maxsmi.prediction_unlabeled_data:main", ] }, # Allows `setup.py test` to work correctly with pytest