CovertLab / vEcoli

Whole cell model of E. coli implemented with Vivarium
https://covertlab.github.io/vEcoli/
MIT License
12 stars 3 forks source link

Create __init__.py to allow antibiotics module to be installed with setup.py #198

Closed rgiessmann closed 1 year ago

rgiessmann commented 1 year ago

Hi there again -- not sure whether this is good, but it fixed the following:

(wcm) r.giessmann@debian:~/git/vivarium-ecoli$ $ python setup.py install 
[...]
Using /home/r.giessmann/miniconda3/envs/wcm/lib/python3.8/site-packages
Finished processing dependencies for vivarium-ecoli==0.0.1

(wcm) r.giessmann@debian:~/git/vivarium-ecoli$ python ecoli/experiments/ecoli_master_sim.py
WARNING:matplotlib.font_manager:Matplotlib is building the font cache; this may take a moment.
Traceback (most recent call last):
  File "ecoli/experiments/ecoli_master_sim.py", line 24, in <module>
    import ecoli.composites.ecoli_nonpartition
  File "/home/r.giessmann/miniconda3/envs/wcm/lib/python3.8/site-packages/vivarium_ecoli-0.0.1-py3.8-linux-x86_64.egg/ecoli/composites/ecoli_nonpartition.py", line 22, in <module>
    from ecoli.library.sim_data import LoadSimData
  File "/home/r.giessmann/miniconda3/envs/wcm/lib/python3.8/site-packages/vivarium_ecoli-0.0.1-py3.8-linux-x86_64.egg/ecoli/library/sim_data.py", line 9, in <module>
    from ecoli.processes.polypeptide_elongation import MICROMOLAR_UNITS
  File "/home/r.giessmann/miniconda3/envs/wcm/lib/python3.8/site-packages/vivarium_ecoli-0.0.1-py3.8-linux-x86_64.egg/ecoli/processes/__init__.py", line 2, in <module>
    from ecoli.processes.antibiotics.lysis_initiation import LysisInitiation
ModuleNotFoundError: No module named 'ecoli.processes.antibiotics'

(wcm) r.giessmann@debian:~/git/vivarium-ecoli$ ls /home/r.giessmann/miniconda3/envs/wcm/lib/python3.8/site-packages/vivarium_ecoli-0.0.1-py3.8-linux-x86_64.egg/ecoli/processes/
allocator.py               chromosome_structure.py    enzyme_kinetics.py         metabolism_redux.py        registries.py              stubs/
bulk_timeline.py           complexation.py            equilibrium.py             partition.py               rna_degradation.py         tf_binding.py
cell_division.py           concentrations_deriver.py  __init__.py                polypeptide_elongation.py  rna_interference.py        transcript_elongation.py
chemostat.py               division_detector.py       listeners/                 polypeptide_initiation.py  shape.py                   transcript_initiation.py
chemotaxis/                engine_process.py          membrane/                  protein_degradation.py     spatiality/                two_component_system.py
chromosome_replication.py  environment/               metabolism.py              __pycache__/               struct_array_demo.py       unique_update.py

After adding the init.py and doing again python setup.py install, it's there:

(wcm) r.giessmann@debian:~/git/vivarium-ecoli$ ls /home/r.giessmann/miniconda3/envs/wcm/lib/python3.8/site-packages/vivarium_ecoli-0.0.1-py3.8-linux-x86_64.egg/ecoli/processes/
allocator.py      chromosome_replication.py  environment         metabolism.py              __pycache__          struct_array_demo.py      unique_update.py
antibiotics       chromosome_structure.py    enzyme_kinetics.py  metabolism_redux.py        registries.py        stubs
bulk_timeline.py  complexation.py            equilibrium.py      partition.py               rna_degradation.py   tf_binding.py
cell_division.py  concentrations_deriver.py  __init__.py         polypeptide_elongation.py  rna_interference.py  transcript_elongation.py
chemostat.py      division_detector.py       listeners           polypeptide_initiation.py  shape.py             transcript_initiation.py
chemotaxis        engine_process.py          membrane            protein_degradation.py     spatiality           two_component_system.py
thalassemia commented 1 year ago

Great catch. I've since modified the README to encourage users to build the Cython extensions in place. This should get rid of the issues you were observing.