Hello, thanks so much for the prompt reply ! I managed to get most things flowing (I'm going to try and figure out the cuda part now). 

I am still struggling on a few things : 
1. the install from source distribution for packages such as crispr : https://pypi.org/project/cripser/ . I contacted the author to turn his install with pip -U {url} into a regular one, and running pip install cripser on my python works. I think the compilation of the source files silently fails when installing through Chimerax, and have no idea on how to fix it
2. I don't quite understand how to play with the help API, if a user types >>help mybundle, I don't know how to add the per argument documentation and go beyond typing hints.
3. For now, I am using the name of mrc/map volume files and opening them with python, I don't know if it would be possible to directly retrieve them as python objects in my bundle ? The possibility to use volume data is mentioned in the doc, but there seems to be a missing section ( https://www.cgl.ucsf.edu/chimerax/docs/devel/data_interface.html#builtin-data-formats )

Maybe you can answer some of these questions, and again, thank you so much for the support !

Best,
Vincent

On Sat, Oct 21, 2023 at 1:37 AM Tom Goddard <goddard@sonic.net> wrote:
Hi Vincent,

  ChimeraX bundles can list dependencies on PyPi packages.  Here's an example of PyPi dependencies in bundle_info.xml of the SEQCROW ChimeraX plugin.  ChimeraX will install these when the bundle is installed.

https://github.com/QChASM/SEQCROW/blob/971de45120b9cb1b7f1e5ff0f2cee4b998ec6cb5/bundle_info.xml#L68

            <Dependencies>
                <Dependency name="ChimeraX-Core" version=">=1.3, <=1.7"/>
                <Dependency name="scipy"/>
                <Dependency name="Send2Trash"/>
                <Dependency name="psutil"/>
                <Dependency name="jinja2"/>
                <!--
                bse is large and may fail to install with bad internet
                <Dependency name="basis-set-exchange"/>
                -->
                <!-- wait for numpy to fix fortran stuff in python 3.8
                I've tried installing this with just gfortran on windows, but no luck
                <Dependency name="stripy"/>
                -->
            </Dependencies>

With PyTorch I don't know if the PyPi packages include CUDA support or how the CUDA version is handled.  Maybe they are CPU-only unless compiled from source on the install machine, which of course would require a compiler that only Linux (not Windows) would likely have installed.

We should have some documentation on how to handle PyPi dependencies.  I don't see anything useful about how to include them in the bundle_info.xml or pyproject.toml documentation for ChimeraX.

https://www.cgl.ucsf.edu/chimerax/docs/devel/writing_bundles.html#bundle-format
https://www.cgl.ucsf.edu/chimerax/docs/devel/tutorials/pyproject.html

I'll made a ticket to add some documentation for that.

https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/10036

  Tom

On Oct 20, 2023, at 4:58 AM, Vincent Mallet via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:

Hello,

Thanks for the tool and the tutorials. I have a machine learning tool based on pytorch to analyse cryo-EM data. I was hoping to package (bundle) it for Chimerax and started to follow tutorials, but I don't think you mention the right way to set up a code environment with depencies. I see a numpy import in the save_new_format tutorial, but it's not listed in the "dependencies" section of the xml file.

I guess my question is : can I add arbitrary packages in a bundle ? Is there a way to install pip packages only ? Should I copy all source code in the folder and deal with my imports like that ? In particular, I am thinking of torch that is not so easy to replace... 

I am hoping you can help me, thanks in advance for the help !

Best,
Vincent
_______________________________________________
ChimeraX-users mailing list -- chimerax-users@cgl.ucsf.edu
To unsubscribe send an email to chimerax-users-leave@cgl.ucsf.edu
Archives: https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/