annotate chat_analysis.xml @ 7:ea1c4179b2b9 draft

planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit ca6d6493b0ebe9daa65de5ff5ea13b3e412c86c3
author goeckslab
date Sat, 14 Jun 2025 02:45:41 +0000
parents 1ee654186809
children 13cf52df8751
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
ea1c4179b2b9 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit ca6d6493b0ebe9daa65de5ff5ea13b3e412c86c3
goeckslab
parents: 6
diff changeset
1 <tool id="interactive_tool_chat_analysis" tool_type="interactive" name="Chat with your data" version="0.3.0">
6
1ee654186809 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 8da37a699458454bcb1ce336754404206485b0ff
goeckslab
parents: 5
diff changeset
2 <icon src="datachat.png" />
1ee654186809 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 8da37a699458454bcb1ce336754404206485b0ff
goeckslab
parents: 5
diff changeset
3 <description>Use natural language to work with and analyze your data</description>
0
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
4 <requirements>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
5 <container type="docker">
7
ea1c4179b2b9 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit ca6d6493b0ebe9daa65de5ff5ea13b3e412c86c3
goeckslab
parents: 6
diff changeset
6 quay.io/goeckslab/chatanalysis:0.3.0
0
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
7 </container>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
8 </requirements>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
9 <entry_points>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
10 <entry_point name="Chat with $input_dataset.element_identifier" requires_domain="True">
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
11 <port>
7
ea1c4179b2b9 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit ca6d6493b0ebe9daa65de5ff5ea13b3e412c86c3
goeckslab
parents: 6
diff changeset
12 9090
0
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
13 </port>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
14 <url>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
15 /
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
16 </url>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
17 </entry_point>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
18 </entry_points>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
19 <command>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
20 <![CDATA[
5
569f6683ef2d planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit a6103a83156aec5d739cae71b0507c5774731bb2
goeckslab
parents: 4
diff changeset
21 #import re
0
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
22 echo "Starting Streamlit" &&
2
5c1018ad5eb3 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit f4ecf0087e42199a991ed4d9556e16cefdb7d4cb
goeckslab
parents: 1
diff changeset
23 echo "working dir now: `pwd`" &&
7
ea1c4179b2b9 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit ca6d6493b0ebe9daa65de5ff5ea13b3e412c86c3
goeckslab
parents: 6
diff changeset
24 mkdir -p outputs_dir &&
5
569f6683ef2d planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit a6103a83156aec5d739cae71b0507c5774731bb2
goeckslab
parents: 4
diff changeset
25 #set $sanitized_input_dataset = re.sub('[^\w\-_\.]', '_', $input_dataset.element_identifier.strip())
569f6683ef2d planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit a6103a83156aec5d739cae71b0507c5774731bb2
goeckslab
parents: 4
diff changeset
26 ln -sf '$input_dataset' "./${sanitized_input_dataset}";
569f6683ef2d planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit a6103a83156aec5d739cae71b0507c5774731bb2
goeckslab
parents: 4
diff changeset
27 echo "sanitized input dataset: $sanitized_input_dataset" &&
4
dd4874a77f62 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 81dd1e732f7264affc7b8acdf5ba174dbc0c32a9
goeckslab
parents: 3
diff changeset
28 echo "input dataset: $input_dataset" &&
5
569f6683ef2d planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit a6103a83156aec5d739cae71b0507c5774731bb2
goeckslab
parents: 4
diff changeset
29 echo "$input_dataset.ext" &&
4
dd4874a77f62 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 81dd1e732f7264affc7b8acdf5ba174dbc0c32a9
goeckslab
parents: 3
diff changeset
30 ln -sf $__tool_directory__/.env /ChatAnalysis/.env &&
7
ea1c4179b2b9 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit ca6d6493b0ebe9daa65de5ff5ea13b3e412c86c3
goeckslab
parents: 6
diff changeset
31 python /ChatAnalysis/chat_dspy.py
ea1c4179b2b9 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit ca6d6493b0ebe9daa65de5ff5ea13b3e412c86c3
goeckslab
parents: 6
diff changeset
32 --user_id "$__user_email__"
ea1c4179b2b9 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit ca6d6493b0ebe9daa65de5ff5ea13b3e412c86c3
goeckslab
parents: 6
diff changeset
33 --openai_key_file "$openai_api_key_file"
ea1c4179b2b9 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit ca6d6493b0ebe9daa65de5ff5ea13b3e412c86c3
goeckslab
parents: 6
diff changeset
34 --groq_key_file "$groq_api_key_file"
ea1c4179b2b9 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit ca6d6493b0ebe9daa65de5ff5ea13b3e412c86c3
goeckslab
parents: 6
diff changeset
35 --chat_history "$chat_history"
ea1c4179b2b9 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit ca6d6493b0ebe9daa65de5ff5ea13b3e412c86c3
goeckslab
parents: 6
diff changeset
36 --outputs_dir "./outputs_dir"
ea1c4179b2b9 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit ca6d6493b0ebe9daa65de5ff5ea13b3e412c86c3
goeckslab
parents: 6
diff changeset
37 --input_file "$input_dataset"
ea1c4179b2b9 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit ca6d6493b0ebe9daa65de5ff5ea13b3e412c86c3
goeckslab
parents: 6
diff changeset
38 --input_type "$input_dataset.ext" &&
ea1c4179b2b9 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit ca6d6493b0ebe9daa65de5ff5ea13b3e412c86c3
goeckslab
parents: 6
diff changeset
39 echo "finished" &&
5
569f6683ef2d planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit a6103a83156aec5d739cae71b0507c5774731bb2
goeckslab
parents: 4
diff changeset
40 echo "working dir now: '.' "
569f6683ef2d planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit a6103a83156aec5d739cae71b0507c5774731bb2
goeckslab
parents: 4
diff changeset
41
0
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
42 ]]>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
43 </command>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
44 <configfiles>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
45 <configfile name="openai_api_key_file"><![CDATA[
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
46 $__user__.extra_preferences.get('chatgpt|api_key')
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
47 ]]></configfile>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
48 <configfile name="groq_api_key_file"><![CDATA[
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
49 $__user__.extra_preferences.get('groq|api_key')
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
50 ]]>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
51 </configfile>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
52 </configfiles>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
53 <stdio>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
54 <exit_code range="0:0" level="log"/>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
55 </stdio>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
56 <inputs>
4
dd4874a77f62 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 81dd1e732f7264affc7b8acdf5ba174dbc0c32a9
goeckslab
parents: 3
diff changeset
57 <param name="input_dataset" type="data" format="csv,tsv,h5ad,xlsx,xls,json,parquet,h5,fa,fasta,vcf,gtf,gff,bed" label="Data you want to chat with" optional="false"/>
0
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
58 </inputs>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
59 <outputs>
4
dd4874a77f62 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 81dd1e732f7264affc7b8acdf5ba174dbc0c32a9
goeckslab
parents: 3
diff changeset
60 <data name="chat_history" format="json" label="${tool.name} -- chat history json on ${on_string} -- use to restore chat history next time"/>
5
569f6683ef2d planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit a6103a83156aec5d739cae71b0507c5774731bb2
goeckslab
parents: 4
diff changeset
61 <collection name="generated_files" type="list" label="${tool.name} -- generated files">
569f6683ef2d planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit a6103a83156aec5d739cae71b0507c5774731bb2
goeckslab
parents: 4
diff changeset
62 <discover_datasets pattern="__name_and_ext__" directory="generated_files" />
4
dd4874a77f62 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 81dd1e732f7264affc7b8acdf5ba174dbc0c32a9
goeckslab
parents: 3
diff changeset
63 </collection>
0
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
64 </outputs>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
65 <tests>
4
dd4874a77f62 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 81dd1e732f7264affc7b8acdf5ba174dbc0c32a9
goeckslab
parents: 3
diff changeset
66 <test>
0
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
67 </test>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
68 </tests>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
69 <help>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
70 Analyze and visualize a dataset with a Chat Agent.
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
71
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
72 Start a ChatAnalysis instance after selecting a dataset — we provide free access to some LLMs.
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
73
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
74 You are encouraged to use your own API keys, as the provided free access has limits. You can obtain a **free API key** for BambooLLM by signing up at https://pandas-ai.com and a **free API key** for Groq by signing up at https://groq.com.
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
75
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
76 If you wish to set the OpenAI API key beforehand, go to **User → Preferences → Manage Information → ChatGPT → OpenAI API Key**. This way, you won’t need to set the OpenAI API key each time you use the app.
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
77
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
78 Similarly, to set the Groq API key beforehand, navigate to **User → Preferences → Manage Information → Groq → API Key**.
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
79
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
80 Alternatively, you can set the API key directly in the ChatAnalysis instance after it has started.
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
81 </help>
be4bfd3e9342 planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit 2d72b2974a22a70ca07ed81baaa01e9ade8c1acc
goeckslab
parents:
diff changeset
82 </tool>