# Tool for storing and debugging QIIME2 codes

**URL:** https://forum.qiime2.org/t/tool-for-storing-and-debugging-qiime2-codes/14449
**Category:** Ideas and Suggestions
**Created:** [April 12, 2020, 6:33pm UTC](https://forum.qiime2.org/t/tool-for-storing-and-debugging-qiime2-codes/14449 "2020-04-12T18:33:09Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Negin](https://forum.qiime2.org/user_avatar/forum.qiime2.org/negin/32/5030_2.png) [@Negin](https://forum.qiime2.org/u/Negin)
#### Post date: [April 12, 2020, 6:33pm UTC](https://forum.qiime2.org/t/tool-for-storing-and-debugging-qiime2-codes/14449/1 "2020-04-12T18:33:09Z")

</div>

Hi all,

I am wondering if there is a tool similar to Atom or Virtual Code Studio that is specific to QIIME2 codes. I know QIIME2 has been written in Python but it does not necessary follow Python rules so we cannot set Python for storing and debugging QIIME2 codes. Are there any tools available for this?

---

<div class="post-metadata">

### Author: ![colinbrislawn](https://forum.qiime2.org/user_avatar/forum.qiime2.org/colinbrislawn/32/6221_2.png) [@colinbrislawn](https://forum.qiime2.org/u/colinbrislawn)
#### Post date: [April 12, 2020, 8:38pm UTC](https://forum.qiime2.org/t/tool-for-storing-and-debugging-qiime2-codes/14449/2 "2020-04-12T20:38:56Z")

</div>

Hello Negin,

> [@Negin](#):
>
> I know QIIME2 has been written in Python but it does not necessary follow Python rules so we cannot set Python for storing and debugging QIIME2 codes.

I'm not sure I understand your goal. Qiime 2 includes a [artifact API written in Python](https://docs.qiime2.org/2020.2/interfaces/artifact-api/).

> [@Negin](#):
>
> debugging QIIME2 codes

Are you asking about debugging the [Qiime 2 command line interface (q2cli)](https://docs.qiime2.org/2020.2/interfaces/q2cli/)?

Are you asking about using a Jupyter Notebook to manage a series of Qiime 2 commands in a single document?

Colin

---

<div class="post-metadata">

### Author: ![jwdebelius](https://forum.qiime2.org/user_avatar/forum.qiime2.org/jwdebelius/32/9655_2.png) [@jwdebelius](https://forum.qiime2.org/u/jwdebelius)
#### Post date: [April 14, 2020, 1:00am UTC](https://forum.qiime2.org/t/tool-for-storing-and-debugging-qiime2-codes/14449/3 "2020-04-14T01:00:36Z")

</div>

I second @colinbrislawn's suggestion of [Jupyter notebooks](https://jupyter.org/). They have served me well for _years_.

I've also been playing with running qiime2 with the CLI-interface in [snakemake](https://snakemake.readthedocs.io/en/stable/). I particularly like it when I have multiple sequencing runs I want to combine, because then I just have to make a per-run manifest, and run a single command.

Best,  
Justine

---

<div class="post-metadata">

### Author: ![Negin](https://forum.qiime2.org/user_avatar/forum.qiime2.org/negin/32/5030_2.png) [@Negin](https://forum.qiime2.org/u/Negin)
#### Post date: [May 10, 2020, 3:42am UTC](https://forum.qiime2.org/t/tool-for-storing-and-debugging-qiime2-codes/14449/4 "2020-05-10T03:42:11Z")

</div>

Yes, I mean for both debugging purposes and storing codes. So then debugging can happen if we set for Python in VS code or Jupyter Notebook then? Great!
