Skip to content

Commit 8067ca4

Browse files
committed
added more troubleshooting steps
1 parent d8a69a7 commit 8067ca4

2 files changed

Lines changed: 64 additions & 48 deletions

File tree

README.md

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,9 @@
3939

4040
Welcome to the official repository of ROADIES, a novel pipeline for inferring phylogenetic species trees directly from raw genomic assemblies. ROADIES offers a fully automated, scalable, and easy-to-use solution, eliminating manual steps and allowing flexible control over the trade-off between accuracy and runtime.
4141

42-
**For a detailed overview of ROADIES' features and configuration options, please visit our [Wiki](https://turakhialab.github.io/ROADIES/).**
42+
### 🟡 For a detailed overview of ROADIES' features and configuration options, please visit our [Wiki](https://turakhialab.github.io/ROADIES/).
4343

44+
### 🟡 If you encounter issues while running the pipeline, please refer to [this page](https://turakhialab.github.io/ROADIES/troubleshooting/) for common errors and troubleshooting tips.
4445
<br>
4546

4647
<div align="center">
@@ -60,7 +61,7 @@ Please follow any of the options below to install ROADIES in your system.
6061

6162
### <a name="conda"></a> Option 1: Install via Bioconda (Recommended)
6263

63-
1. Install Conda (if not installed):
64+
**Step 1:** Install Conda (if not installed):
6465

6566
```
6667
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
@@ -71,7 +72,7 @@ export PATH="$HOME/miniconda3/bin:$PATH"
7172
source ~/.bashrc
7273
```
7374

74-
2. Configure Conda channels:
75+
**Step 2:** Configure Conda channels:
7576

7677
```
7778
conda config --add channels defaults
@@ -85,7 +86,7 @@ conda config --add channels conda-forge
8586

8687
Verify the installation by running `conda` in your terminal
8788

88-
3. Create and activate a custom environment:
89+
**Step 3:** Create and activate a custom environment:
8990

9091
```
9192
conda create -n roadies_env python=3.9 ete3 seaborn
@@ -94,13 +95,13 @@ conda create -n roadies_env python=3.9 ete3 seaborn
9495
conda activate roadies_env
9596
```
9697

97-
4. Install ROADIES:
98+
**Step 4:** Install ROADIES:
9899

99100
```
100101
conda install roadies=0.1.10
101102
```
102103

103-
5. Locate the installed files:
104+
**Step 5:** Locate the installed files:
104105

105106
```
106107
cd $CONDA_PREFIX/ROADIES
@@ -111,22 +112,22 @@ You will be able to find the contents of the repository within this ROADIES fold
111112

112113
If you would like to install ROADIES using DockerHub, follow these steps:
113114

114-
1. Pull the ROADIES image from DockerHub:
115+
**Step 1:** Pull the ROADIES image from DockerHub:
115116

116117
```
117118
docker pull ang037/roadies:latest
118119
```
119-
2. Launch a container:
120+
**Step 2:** Launch a container:
120121

121122
```
122123
docker run -it ang037/roadies:latest
123124
```
124125

125-
These commands will launch the Docker container in interactive mode, with the roadies_env environment activated and the working directory set to the ROADIES repository containing all necessary files. Once you are able to access the ROADIES repository, refer to the [Quick Start](#start) to run the pipeline.
126+
These commands will launch the Docker container in interactive mode, with the `roadies_env` environment activated and the working directory set to the ROADIES repository containing all necessary files. Once you are able to access the ROADIES repository, refer to the [Quick Start](#start) to run the pipeline.
126127

127128
### <a name="docker"></a> Option 3: Install via Local Docker Build
128129

129-
1. Clone the ROADIES repository:
130+
**Step 1:** Clone the ROADIES repository:
130131

131132
```
132133
git clone https://github.com/TurakhiaLab/ROADIES.git
@@ -135,7 +136,7 @@ git clone https://github.com/TurakhiaLab/ROADIES.git
135136
cd ROADIES
136137
```
137138

138-
2. Build and run the Docker container:
139+
**Step 2:** Build and run the Docker container:
139140

140141
```
141142
docker build -t roadies_image .
@@ -148,7 +149,7 @@ Once you are able to access the ROADIES repository, refer to [Quick Start](#star
148149

149150
### <a name="script"></a> Option 4: Install via Source Script
150151

151-
1. Install the following dependencies (**requires sudo access**):
152+
**Step 1:** Install the following dependencies (**requires sudo access**):
152153

153154
- Java Runtime Environment (Version 1.7 or higher)
154155
- Python (Version 3.9 or higher)
@@ -164,7 +165,7 @@ For Ubuntu, you can install these dependencies with:
164165
sudo apt-get install -y wget unzip make g++ python3 python3-pip python3-setuptools git default-jre libgomp1 libboost-all-dev cmake
165166
```
166167

167-
2. Clone the repository:
168+
**Step 2:** Clone the repository:
168169

169170
```
170171
git clone https://github.com/TurakhiaLab/ROADIES.git
@@ -173,7 +174,7 @@ git clone https://github.com/TurakhiaLab/ROADIES.git
173174
cd ROADIES
174175
```
175176

176-
3. Run the installation script:
177+
**Step 3:** Run the installation script:
177178

178179
```
179180
chmod +x roadies_env.sh
@@ -192,19 +193,19 @@ After successful setup (Setup complete message), your environment `roadies_env`
192193

193194
After installing using one of the options mentioned in [Quick Install](#usage), you're ready to run ROADIES! To get started:
194195

195-
1. Download the test dataset (11 Drosophila genomes):
196+
**Step 1:** Download the test dataset (11 Drosophila genomes):
196197

197198
```
198199
mkdir -p test/test_data && cat test/input_genome_links.txt | xargs -I {} sh -c 'wget -O test/test_data/$(basename {}) {}'
199200
```
200201

201202
This will save the datasets on a separate `test/test_data` folder within the repository
202203

203-
2. Run the pipeline
204+
**Step 2:** Run the ROADIES pipeline
204205

205206
#### IMPORTANT: ROADIES by default runs multiple iterations for generating highly accurate trees. For quick testing, use `--noconverge` to run a single iteration.
206207

207-
**Full run (multiple iterations)**
208+
**Full run (multiple iterations) - Default**
208209
```
209210
python run_roadies.py --cores 16
210211
```
@@ -215,11 +216,13 @@ python run_roadies.py --cores 16
215216
python run_roadies.py --cores 16 --noconverge
216217
```
217218

218-
3. Output:
219+
**Step 3:** Access final species tree
219220

220-
- Final **UNROOTED** newick tree saved as `roadies.nwk` in a separate `output_files` folder.
221-
- Intermediate files (if `--noconverge` not used) saved in a separate `converge_files` folder.
221+
**Default mode:**
222+
Final species tree (in Newick format) for individual iterations (latest one will be the most confident and accurate tree) will be saved in separate `converge_files/iteration_<iteration_number>` folders.
222223

224+
**If `--noconverge` is used:**
225+
Final species tree (in Newick format) will be saved as `roadies.nwk` in a separate `output_files` folder.
223226

224227
#### NOTE: ROADIES outputs unrooted trees by default. You can reroot trees on your own or use the provided `reroot.py` script in `workflow/scripts/` (given a reference rooted species tree as input).
225228

@@ -229,7 +232,7 @@ python run_roadies.py --cores 16 --noconverge
229232

230233
If you want to run ROADIES with your own datasets, follow these steps:
231234

232-
1. Specify Input Dataset:
235+
**Step 1:** Specify Input Dataset:
233236

234237
- Edit `config.yaml` file (found in the ROADIES directory - `config` folder).
235238
- Update the `GENOMES` field with paths to your `.fa` or `.fa.gz` genome assemblies. Ensure all input genomic assemblies are in `.fa` or `.fa.gz` format and named according to the species' name (e.g., `Aardvark.fa`).
@@ -240,12 +243,12 @@ If you want to run ROADIES with your own datasets, follow these steps:
240243
faSplit byname <input_dir> <output_dir>
241244
```
242245

243-
2. Configure Other Parameters:
246+
**Step 2:** Configure Other Parameters:
244247

245248
- Modify other parameters in `config.yaml` as needed.
246249
- Refer to detailed settings on the [Wiki](https://turakhialab.github.io/ROADIES/).
247250

248-
3. Run the Pipeline:
251+
**Step 3:** Run the Pipeline:
249252

250253
```
251254
python run_roadies.py --cores 16
@@ -264,9 +267,9 @@ python run_roadies.py --cores 16 --mode balanced
264267
python run_roadies.py --cores 16 --mode fast
265268
```
266269

267-
The output species tree (unrooted) in Newick format will be saved as `roadies.nwk` in the `output_files` folder.
270+
Final unrooted species tree (in Newick format) for individual iterations (latest one will be the most confident and accurate tree) will be saved in separate `ALL_OUT_DIR/iteration_<iteration_number>` folders (`ALL_OUT_DIR` is configured in `config/config.yaml`).
268271

269-
### For troubleshooting, contributing, or SLURM cluster usage, refer to [Wiki](https://turakhialab.github.io/ROADIES/)
272+
### For contributing to the code, or SLURM cluster usage, refer to [Wiki](https://turakhialab.github.io/ROADIES/contribution)
270273

271274
<br>
272275

docs/troubleshooting.md

Lines changed: 36 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,38 @@
11
# Troubleshooting Steps
22

3-
## 1. Mamba not found in the shell
3+
## Error 1. Issues with PASTA
4+
5+
### Solution
6+
7+
When running the pipeline, if you encounter that the pipeline fails by the failure of PASTA, please install PASTA from source by executing the following commands. Please run the following steps from the main ROADIES repository directory (after doing `cd ROADIES`) - within the activated Conda environment:
8+
9+
```bash
10+
git clone https://github.com/smirarab/pasta.git
11+
git clone https://github.com/smirarab/sate-tools-linux.git
12+
cd pasta
13+
python3 setup.py develop --user
14+
```
15+
16+
Also, in the `align.smk` file (inside the `workflow/rules` directory of the ROADIES repository), please replace any instance of `pasta.py` with `python pasta/run_pasta.py`, AND
17+
`run_seqtools.py` with `python pasta/run_seqtools.py`.
18+
19+
After doing this change, please re-run the ROADIES pipeline.
20+
21+
## Error 2. Environment conflict
22+
23+
### Solution
24+
25+
If you encounter the following error message - `"ls: relocation error: /lib64/libacl.so.1: symbol getxattr, version ATTR_1.0 not defined in file libattr.so.1 with link time reference"`, please run the following command to resolve it:
26+
27+
```bash
28+
export LD_LIBRARY_PATH=/usr/lib64/:${LD_LIBRARY_PATH}
29+
```
30+
31+
## Error 3. Mamba not found in the shell
432

533
When running the following command:
634
```bash
7-
$ python ROADIES-main/run_roadies.py --cores 1
35+
$ python ROADIES/run_roadies.py --cores 1
836
```
937
You may encounter this error:
1038

@@ -17,10 +45,7 @@ Building DAG of jobs...
1745
CreateCondaEnvironmentException:
1846
The 'mamba' command is not available in the shell /usr/bin/bash that will be used by Snakemake. You have to ensure that it is in your PATH, e.g., first activating the conda base environment with `conda activate base`.The mamba package manager (https://github.com/mamba-org/mamba) is a fast and robust conda replacement. It is the recommended way of using Snakemake's conda integration. It can be installed with `conda install -n base -c conda-forge mamba`. If you still prefer to use conda, you can enforce that by setting `--conda-frontend conda`.
1947
```
20-
21-
### Cause
22-
23-
The `mamba` package manager is missing or not available in the environment.
48+
This means `mamba` package manager is missing or not available in the environment.
2449
2550
### Solution
2651
@@ -56,42 +81,30 @@ cmd = [
5681
python run_roadies.py --cores 16
5782
```
5883
59-
## 2. Conda not recognized
60-
61-
### Cause
84+
## Error 4. Conda not recognized
6285
63-
Conda is not added to your system's PATH.
86+
This can happen if conda is not added to your system's PATH.
6487

6588
### Solution
6689

67-
Ensure conda is added to the PATH by running the following commands:
90+
To resolve this, please ensure conda is added to the PATH by running the following commands:
6891

6992
```bash
7093
export PATH="$HOME/miniconda3/bin:$PATH"
7194
source ~/.bashrc
7295
```
7396

74-
## 3. Singularity issues
75-
76-
### Cause
77-
78-
Problems arise when trying to run the pipeline with Singularity.
97+
## Error 5. Handling dependencies (glibc)
7998

8099
### Solution
81100

82-
We recommend using Docker instead of Singularity. Ensure Docker is installed and running on your system. We have also provided Bioconda support for users who face issues with Singularity.
83-
84-
## 4. Handling dependencies (glibc)
85-
86101
Ensure that the glibc version on your system is updated to 2.29 or higher. Update your system libraries if necessary. Otherwise you may encounter this error:
87102

88103
```bash
89104
workflow/scripts/lastz_32: /lib64/libm.so.6: version 'GLIBC_2.29' not found
90105
```
91106

92-
## 5. PASTA fails with insufficient core count
93-
94-
### Cause
107+
## Error 6. PASTA fails with insufficient core count
95108

96109
Pasta fails when the number of cores is insufficient for the number of instances.
97110

0 commit comments

Comments
 (0)