Mercurial > repos > goeckslab > chatanalysis
annotate chat_analysis.xml @ 8:13cf52df8751 draft
planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit d5abc2e6d0f950fbc883bde2f153c47b87bd7f8c
| author | goeckslab |
|---|---|
| date | Fri, 20 Jun 2025 17:57:10 +0000 |
| parents | ea1c4179b2b9 |
| children | ebff1089e004 |
| rev | line source |
|---|---|
|
8
13cf52df8751
planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit d5abc2e6d0f950fbc883bde2f153c47b87bd7f8c
goeckslab
parents:
7
diff
changeset
|
1 <tool id="interactive_tool_chat_analysis" tool_type="interactive" name="Data Analysis Agent" 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" /> |
|
8
13cf52df8751
planemo upload for repository https://github.com/goeckslab/ChatAnalysis commit d5abc2e6d0f950fbc883bde2f153c47b87bd7f8c
goeckslab
parents:
7
diff
changeset
|
3 <description>Interactively chats using natural language to explore, visualize, 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> |
