Mercurial > repos > jay > gaiac_sensor_performance_evaluation
changeset 3:957d0bc600d3 draft default tip
planemo upload for repository https://github.com/jaidevjoshi83/gaiac commit e9587f93346c7b55e1be00bad5844bf2db3ed03d-dirty
author | jay |
---|---|
date | Thu, 10 Jul 2025 19:41:22 +0000 |
parents | abc767b6d4f4 |
children | |
files | gaiac_pm_data_pulling/.ipynb_checkpoints/Untitled-checkpoint.ipynb gaiac_pm_data_pulling/Untitled.ipynb gaiac_pm_data_pulling/gaiac_pm_data_pulling.py gaiac_sensor_performance_evaluation/gaiac_sensor_performance_evaluation.py gaiac_sensor_performance_evaluation/gaiac_sensor_performance_evaluation.xml |
diffstat | 5 files changed, 180 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gaiac_pm_data_pulling/.ipynb_checkpoints/Untitled-checkpoint.ipynb Thu Jul 10 19:41:22 2025 +0000 @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 5 +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gaiac_pm_data_pulling/Untitled.ipynb Thu Jul 10 19:41:22 2025 +0000 @@ -0,0 +1,136 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "4707b84c-b2f9-4740-bd62-a159e2c7e123", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "c9870ed9-90cc-427b-b811-bd94c6b867c9", + "metadata": {}, + "outputs": [], + "source": [ + "a = [1,2,4,6]\n", + "b = [4,5,6,7]\n", + "\n", + "df = pd.DataFrame([a,b])" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "502e66d5-022d-47af-a299-a918f0ebd887", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>0</th>\n", + " <th>1</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>1</td>\n", + " <td>4</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>2</td>\n", + " <td>5</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>4</td>\n", + " <td>6</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>6</td>\n", + " <td>7</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " 0 1\n", + "0 1 4\n", + "1 2 5\n", + "2 4 6\n", + "3 6 7" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.T" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f39e7015-3e8b-4123-8ec7-c05547ee28b1", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}
--- a/gaiac_pm_data_pulling/gaiac_pm_data_pulling.py Fri May 23 17:56:46 2025 +0000 +++ b/gaiac_pm_data_pulling/gaiac_pm_data_pulling.py Thu Jul 10 19:41:22 2025 +0000 @@ -7,9 +7,6 @@ from html import escape from urllib.parse import urljoin import requests - -log = logging.getLogger("tools.iuc.data_managers.data_manager_refgenie_pull") - import urllib.request import json @@ -57,4 +54,4 @@ if __name__ == '__main__': - simulate_dynamic_options('http://iotprojects.ddns.net') + print(simulate_dynamic_options('http://iotprojects.ddns.net'))
--- a/gaiac_sensor_performance_evaluation/gaiac_sensor_performance_evaluation.py Fri May 23 17:56:46 2025 +0000 +++ b/gaiac_sensor_performance_evaluation/gaiac_sensor_performance_evaluation.py Thu Jul 10 19:41:22 2025 +0000 @@ -16,14 +16,16 @@ import statsmodels.api as sm from sklearn.metrics import mean_squared_error import argparse +# python 'gaiac_sensor_performance_evaluation.py' -I 'dataset_6.dat' --column_1 '4,7,11' --column_2 '1' --html_out_dir 'out_dir' --html_file_name 'out.html' parser = argparse.ArgumentParser() parser.add_argument("-I", "--infile", required=True, default=None, help="Path to the input data file.") parser.add_argument("-c1", "--column_1", required=True, default=None, help="Name of the first column to use.") parser.add_argument("-c2", "--column_2", required=True, default=None, help="Name of the second column to use.") parser.add_argument("--html_out_dir", required=False, default=os.path.join(os.getcwd(), 'report_dir'), help="Directory to save the HTML output report (default: './report_dir').") -parser.add_argument("--html_file_name", required=False, default="jai.html", help="Name of the HTML output file (default: 'jai.html').") +parser.add_argument("--html_file_name", required=False, default="out.html", help="Name of the HTML output file (default: 'out.html').") parser.add_argument("--workdir_path", required=False, default=os.getcwd(), help="Working directory path (default: current directory).") +parser.add_argument("--tsv_file_name", required=False, default="out.tsv", help="Name of the HTML output file (default: 'out.tsv').") args = parser.parse_args() @@ -236,12 +238,31 @@ f.write(' </tr>'+'\n') f.write('<thead>'+'\n') +r_value_lst = [] +r_square_lst = [] +b_lst = [] +r_lst = [] +s_lst = [] +RMSE_v_lst = [] +NRMSE_v_lst = [] + + for c in args.column_1.split(','): _,_,r_value, r_square = Reg(df,c, args.column_2) + b = Bias_abs(df, args.column_2, c) r, s= R(df, args.column_2, c) RMSE_v, NRMSE_v = RMSE(df, args.column_2, c) + r_value_lst.append(r_value) + r_square_lst.append(r_square) + b_lst.append(b) + r_lst.append(r[1]) + s_lst.append(s[1]) + RMSE_v_lst.append(RMSE_v) + NRMSE_v_lst.append(NRMSE_v) + + f.write(' <tr>'+'\n') f.write(' <td>'+str(round(float(r[1]),2))+ u"\u00B1" +str(round(float(r[2]),2))+'</td>'+'\n') f.write(' <td>'+str(round(float(s[1]),2))+ u"\u00B1" +str(round(float(s[2]),2))+'</td>'+'\n') @@ -252,6 +273,11 @@ f.write(' <td>'+str(b)+'</td>'+'\n') f.write(' <tr>'+'\n') +out_df = pd.DataFrame([r_value_lst, r_square_lst, b_lst, r_lst, s_lst, RMSE_v_lst, NRMSE_v_lst]) +out_df_T= out_df.T +out_df_T.columns = ['Intercept', 'R Squre', 'Bias', 'r', 'Slop', 'RMSE', 'NRMSE' ] + +out_df_T.to_csv( 'out.tsv', sep="\t", index=False) f.write(a2) f.close() \ No newline at end of file
--- a/gaiac_sensor_performance_evaluation/gaiac_sensor_performance_evaluation.xml Fri May 23 17:56:46 2025 +0000 +++ b/gaiac_sensor_performance_evaluation/gaiac_sensor_performance_evaluation.xml Thu Jul 10 19:41:22 2025 +0000 @@ -10,7 +10,13 @@ </requirements> <command detect_errors="exit_code"><![CDATA[ - python '$__tool_directory__/gaiac_sensor_performance_evaluation.py' -I '$infile' --column_1 '$clm2' --column_2 '$clm1' --html_out_dir '$output2.extra_files_path' --html_file_name '$output2' + + python '$__tool_directory__/gaiac_sensor_performance_evaluation.py' -I '$infile' --column_1 '$clm2' --column_2 '$clm1' --html_out_dir '$html_output.extra_files_path' --html_file_name '$html_output' --tsv_file_name '$tabular_output' + + && + + ls -a + ]]></command> <inputs> @@ -27,20 +33,19 @@ </inputs> <outputs> - <data name='output2' format='html' label="${tool.name} on $on_string (html)" /> + <data name='html_output' format='html' label="${tool.name} on $on_string (html)" /> + <data name='tabular_output' format='tabular' label="${tool.name} on $on_string (tabular)" from_work_dir="out.tsv" /> </outputs> <tests> <test> <!-- input data file --> <param name="infile" value="test.tsv"/> - <!-- assume clm1 is the 'Reference' column, clm2 is 'SensorA' and 'SensorB' --> <param name="clm1" value="1"/> <param name="clm2" value="1,2"/> - <!-- expected output html file --> - <output name="output2" file="testout.html" compare="contains"/> + <output name="html_output" file="testout.html" compare="contains"/> </test> </tests>