Skip to content

Commit 3522632

Browse files
Enhance README.md by adding a comprehensive Table of Contents, Developer Setup instructions, and troubleshooting guidelines. This update improves documentation clarity and usability for both end users and developers.
1 parent 9fefd8b commit 3522632

File tree

1 file changed

+99
-1
lines changed

1 file changed

+99
-1
lines changed

README.md

Lines changed: 99 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,26 @@
22

33
BioAlign is a user-friendly tool for DNA sequence alignment and visualization. It uses Clustal Omega for alignment and creates nicely formatted Word documents with customizable sequence highlighting.
44

5+
## Table of Contents
6+
- [Features](#features)
7+
- [Installation](#installation)
8+
- [Usage](#usage)
9+
- [Preparing Your Sequences](#preparing-your-sequences)
10+
- [Running the Application](#running-the-application)
11+
- [Search Options](#search-options)
12+
- [Output](#output)
13+
- [Example](#example)
14+
- [Notes](#notes)
15+
- [Developer Setup](#developer-setup)
16+
- [Installing Python Dependencies](#installing-python-dependencies)
17+
- [Installing Clustal Omega](#installing-clustal-omega)
18+
- [Required Files Structure](#required-files-structure)
19+
- [Requirements](#requirements)
20+
- [Troubleshooting](#troubleshooting)
21+
- [Contributing](#contributing)
22+
- [License](#license)
23+
- [Acknowledgements](#acknowledgements)
24+
525
## Features
626

727
- Automatic DNA sequence alignment using Clustal Omega
@@ -77,9 +97,87 @@ For the provided example sequences, searching for "CTG" with spaced mode enabled
7797
- The Word document uses Courier New font for consistent spacing
7898
- Highlighting uses yellow by default, or green/blue/pink when using separate colors
7999

100+
## Developer Setup
101+
102+
If you only want to work with the source code (main.py), you'll need to set up the following dependencies:
103+
104+
### Installing Python Dependencies
105+
106+
```bash
107+
pip install biopython python-docx
108+
```
109+
110+
### Installing Clustal Omega
111+
112+
1. **Windows**:
113+
- Download Clustal Omega from http://www.clustal.org/omega/
114+
- Extract the files to a directory named `clustal-omega-1.2.2-win64` in the same folder as main.py
115+
- Ensure that `clustalo.exe` is directly inside this directory
116+
117+
2. **macOS**:
118+
- Install via Homebrew: `brew install clustal-omega`
119+
- Modify the path in the prepare_seq function where Clustal Omega is called to use: `command_return = subprocess.run(f"clustalo --infile {input_file_name} --outfile {output_file_name} --outfmt clustal --force", shell=True)`
120+
121+
3. **Linux**:
122+
- Install via package manager: `sudo apt install clustal-omega` (Ubuntu/Debian) or equivalent
123+
- Modify the path in the prepare_seq function where Clustal Omega is called to use: `command_return = subprocess.run(f"clustalo --infile {input_file_name} --outfile {output_file_name} --outfmt clustal --force", shell=True)`
124+
125+
### Required Files Structure
126+
127+
Create the following files in your working directory:
128+
- `main.py` - The main program
129+
- `sequences.json` - Your DNA sequences in JSON format
130+
- `start.bat` (optional) - For easy launching on Windows
131+
80132
## Requirements
81133

82-
This package is self-contained and works on Windows systems without additional installations.
134+
For end users, the release package is self-contained and works on Windows systems without additional installations.
135+
136+
For developers working with just the source code:
137+
- Python 3.6 or higher
138+
- Biopython library
139+
- python-docx library
140+
- Clustal Omega (installed as described above)
141+
- Access to write files in the working directory
142+
143+
## Troubleshooting
144+
145+
### Common Issues
146+
147+
1. **"No module named 'Bio'"**
148+
- Make sure you've installed Biopython: `pip install biopython`
149+
150+
2. **"No module named 'docx'"**
151+
- Make sure you've installed python-docx: `pip install python-docx`
152+
153+
3. **"An error occurred while running clustal-omega"**
154+
- Verify that Clustal Omega is installed correctly in the expected location
155+
- Check that you have executable permissions for the Clustal Omega binary
156+
- Try running Clustal Omega manually to verify it works outside the application
157+
158+
4. **"ModuleNotFoundError: No module named 'sequences'"**
159+
- Ensure that `sequences.json` exists in the same directory as main.py
160+
- Check that the JSON file is properly formatted
161+
162+
5. **Word document has no highlighting**
163+
- Make sure you entered a valid sequence pattern that exists in your DNA sequences
164+
- Verify you selected the appropriate search mode for your pattern
165+
166+
## Contributing
167+
168+
Contributions to improve BioAlign are welcome! Here's how you can contribute:
169+
170+
1. Fork the repository
171+
2. Create a feature branch: `git checkout -b new-feature`
172+
3. Make your changes
173+
4. Test your changes thoroughly
174+
5. Submit a pull request with a clear description of the improvements
175+
176+
Please ensure your code maintains compatibility with the existing functionality and follows the project's coding style.
177+
178+
## License
179+
180+
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
83181

84182
## Acknowledgements
85183

0 commit comments

Comments
 (0)