annotate COBRAxy/docs/installation.md @ 544:540ab7dd1322 draft default tip

Uploaded
author francesco_lapi
date Sun, 26 Oct 2025 19:43:31 +0000
parents fcdbc81feb45
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
492
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
1 # Installation
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
2
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
3 This guide walks you through installing COBRAxy on your system.
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
4
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
5 ## System Requirements
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
6
542
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
7 - **Python**: 3.8-3.13
492
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
8 - **Operating System**: Linux (recommended), macOS, Windows
542
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
9 - **Build tools**: C/C++ compiler (gcc, clang, or MSVC), CMake, pkg-config
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
10
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
11 ## System Dependencies
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
12
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
13 Install required build tools before installing COBRAxy:
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
14
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
15 ```bash
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
16 # Ubuntu/Debian
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
17 sudo apt-get install build-essential cmake pkg-config libvips libglpk40 glpk-utils
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
18
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
19 # macOS
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
20 xcode-select --install
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
21 brew install cmake pkg-config vips glpk
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
22
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
23 # Windows (with Chocolatey)
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
24 choco install cmake visualstudio2022buildtools pkgconfiglite
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
25 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
26
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
27 ## Installation Methods
492
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
28
542
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
29 ### Recommended: Using Conda
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
30
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
31 Create an isolated environment with all dependencies:
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
32
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
33 ```bash
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
34 # Create a new conda environment
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
35 conda create -n cobraxy python=3.13 -y
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
36 conda activate cobraxy
492
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
37
542
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
38 # Install build tools via conda
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
39 conda install -c conda-forge cmake pkg-config swiglpk -y
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
40
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
41 # Clone and install COBRAxy
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
42 git clone https://github.com/CompBtBs/COBRAxy.git
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
43 cd COBRAxy/src
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
44 pip install .
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
45 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
46
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
47 ### Alternative: Direct Installation
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
48
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
49 If you have system dependencies already installed:
492
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
50
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
51 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
52 # Clone the repository
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
53 git clone https://github.com/CompBtBs/COBRAxy.git
542
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
54 cd COBRAxy/src
492
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
55
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
56 # Install COBRAxy
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
57 pip install .
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
58 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
59
542
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
60 ### Development Install
492
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
61
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
62 For development or if you want to modify COBRAxy:
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
63
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
64 ```bash
542
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
65 # Clone and install in editable mode
492
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
66 git clone https://github.com/CompBtBs/COBRAxy.git
542
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
67 cd COBRAxy/src
492
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
68 pip install -e .
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
69 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
70
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
71 ## Verify Installation
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
72
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
73 Test your installation:
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
74
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
75 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
76 # Check if COBRAxy tools are available
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
77 ras_generator --help
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
78 flux_simulation --help
542
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
79 marea --help
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
80
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
81 # Check Python can import COBRAxy modules
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
82 python -c "import ras_generator; print('COBRAxy installed successfully!')"
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
83 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
84
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
85 ## Troubleshooting Installation
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
86
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
87 ### Missing Compiler Errors
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
88
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
89 If you see errors about missing compilers during installation:
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
90
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
91 ```bash
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
92 # Ubuntu/Debian
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
93 sudo apt-get install build-essential
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
94
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
95 # macOS
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
96 xcode-select --install
492
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
97 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
98
542
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
99 ### CMake Not Found
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
100
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
101 ```bash
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
102 # Ubuntu/Debian
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
103 sudo apt-get install cmake
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
104
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
105 # macOS
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
106 brew install cmake
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
107
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
108 # Or via conda
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
109 conda install -c conda-forge cmake
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
110 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
111
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
112 ### pkg-config Issues
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
113
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
114 ```bash
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
115 # Ubuntu/Debian
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
116 sudo apt-get install pkg-config
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
117
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
118 # macOS
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
119 brew install pkg-config
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
120
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
121 # Or via conda
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
122 conda install -c conda-forge pkg-config
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
123 ```
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
124
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
125 ## Alternative: Virtual Environment (without Conda)
492
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
126
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
127 Using a virtual environment prevents conflicts with other Python packages:
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
128
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
129 ```bash
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
130 # Create virtual environment
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
131 python -m venv cobraxy-env
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
132
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
133 # Activate environment
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
134 source cobraxy-env/bin/activate # Linux/macOS
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
135 # cobraxy-env\Scripts\activate # Windows
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
136
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
137 # Install COBRAxy
542
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
138 cd COBRAxy/src
492
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
139 pip install .
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
140
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
141 # When done, deactivate
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
142 deactivate
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
143 ```
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
144
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
145 ## Next Steps
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
146
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
147 After successful installation:
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
148
542
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
149 1. **[Quick Start Guide](/quickstart.md)** - Run your first analysis
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
150 2. **[Tutorial: Galaxy Setup](/tutorials/galaxy-setup.md)** - Set up web interface
492
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
151
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
152 ## Getting Help
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
153
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
154 If you encounter issues:
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
155
542
fcdbc81feb45 Uploaded
francesco_lapi
parents: 538
diff changeset
156 1. Check the [Troubleshooting Guide](/troubleshooting.md)
492
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
157 2. Search [existing issues](https://github.com/CompBtBs/COBRAxy/issues)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
158 3. Create a [new issue](https://github.com/CompBtBs/COBRAxy/issues/new) with:
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
159 - Your operating system
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
160 - Python version (`python --version`)
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
161 - Complete error message
4ed95023af20 Uploaded
francesco_lapi
parents:
diff changeset
162 - Installation method used