Repository files navigation

AGEseq: Analysis of Genome Editing by Sequencing

AGEseq is a robust tool designed to compare amplicon sequences with expected target sequences to detect insertion or deletion events within the amplicon sequences. Developed initially in Perl and utilizing BLAT for high-accuracy sequence alignment, AGEseq is now available both as a command-line tool, docker, and through user-friendly interfaces on Galaxy and a Streamlit app.

Features

  • Detects insertions and deletions (indels) in amplicon sequences.
  • Compares amplicon sequences against expected target sequences.
  • Utilizes BLAT for precise sequence alignment.
  • Accessible via command-line, Galaxy, or a Streamlit app GUI.

Getting Started

Prerequisites

Before installing AGEseq, ensure you have the following:

  • Perl (version 5.10 or higher)
  • BLAT alignment tool
  • Python (version 3.6 or higher) if using the Streamlit app
  • Docker (optional, for containerized version)

Installation

Local Installation

Clone the repository:

git clone https://github.com/your-lab/AGEseq
cd AGEseq

#TODO

Galaxy Installation

To use AGEseq on Galaxy, import it as a tool within your local Galaxy instance. Ensure your Galaxy instance is set up to handle external tools.

Streamlit App GUI

The Streamlit app can be run locally or deployed on a server:

streamlit run app.py

Usage

Command-Line Interface

To use AGEseq from the command line:

perl ageseq.pl --target=target.fa --amplicon=amplicon.fa

Using Galaxy

Add AGEseq to your Galaxy toolbox and follow the interface prompts to input your sequences and run the analysis.

Streamlit App GUI

Navigate to the URL where your Streamlit app is hosted, and use the graphical interface to upload sequences and analyze results.

Galaxy Server Setup Guide

This guide provides instructions for setting up and configuring a Galaxy server for data analysis, workflow authoring, training, and education purposes. Galaxy is an open-source platform widely used in the scientific community, particularly in fields such as bioinformatics and genomics.

System Requirements

To run Galaxy, ensure your system meets the following requirements:

  • UNIX/Linux or Mac OSX operating system
  • Python 3.8 or newer

Installation

If you don't have a Galaxy repository yet, clone the repository using the following command:
git clone -b release_23.2 https://github.com/galaxyproject/galaxy.git

Starting Galaxy Server

To start the Galaxy server, follow these steps:

  • Navigate to the Galaxy directory.
  • Run the following command in a terminal window: sh run.sh This will start Galaxy on localhost using the default port 8080.

Hosting on a Remote Server

If you want to access Galaxy from a local browser or host it on a remote server, follow these steps:

  • Inside the config/ directory, locate galaxy.yml.sample and rename it to galaxy.yml.
  • Edit the galaxy.yml file and enable Gunicorn by setting the enable parameter to true and specifying the IP address and port to bind to:
    gunicorn:
    enable: true
    bind: 172.30.18.104:8091
    
  • Restart Galaxy by running: sh run.sh
    You should now be able to access Galaxy from a browser using the specified URL.

Hosting on a Remote Server

To add custom tools to Galaxy, follow these steps:

  • Navigate to the tools directory in the Galaxy installation.
  • Create a new directory for your tools (e.g., myTools) and place the tool script and its XML definition file inside this directory.
  • Update the tool_conf.xml file located in the config/ directory to include the new tool:
 <section name="Custom Tools" id="myTools">
<tool file="myTools/your_tool.xml" />
</section>
  • Restart Galaxy to apply the changes.

Running Galaxy as a Service

To run Galaxy as a service indefinitely, follow these steps:

  • Create a systemd service file by typing: sudo nano /lib/systemd/system/galaxy.service
  • Paste the following configuration into the file:
[Unit]
Description=Galaxy
After=multi-user.target
[Service]
User=tsai-apps
WorkingDirectory=/data/galaxy
ExecStart=sh /data/galaxy/run.sh
Restart=on-failure
KillMode=process
LimitMEMLOCK=infinity
LimitNOFILE=65535
Type=simple
[Install]
WantedBy=multi-user.target
  • Save the file and exit the editor.
  • Set appropriate permissions for the service file: sudo chmod 644 /lib/systemd/system/galaxy.service
  • Reload systemd to recognize the new service: sudo systemctl daemon-reload
  • Enable the Galaxy service to start on boot: sudo systemctl enable galaxy.service
  • Start the Galaxy service: sudo systemctl start galaxy.service
  • Check the status of the Galaxy service to ensure it's running: sudo systemctl status galaxy.service

Accessing Galaxy

  • Galaxy is accessible via the following URL: http://tsailab.gene.uga.edu:8091/
  • The Galaxy server is currently hosted on the following IP address: 172.30.18.104
  • Code Location: /data/galaxy

Reference documentation

Contributing

We welcome contributions from the community, including bug fixes, enhancements, and documentation improvements. If you are looking to contribute:

  1. Fork the repository.
  2. Create a new branch for your feature (git checkout -b feature-branch).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin feature-branch).
  5. Open a new Pull Request.

Support

For support and bug reports, please submit an issue on the GitHub issue tracker.

Citation

If you use AGEseq in your research, please cite our paper: Xue LJ, Tsai CJ. AGEseq: Analysis of Genome Editing by Sequencing. Mol Plant. 2015 Sep;8(9):1428-30. doi: 10.1016/j.molp.2015.06.001. Epub 2015 Jun 6. PMID: 26057235.

About

AGEseq: Analysis of Genome Editing by Sequencing

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

AGEseq: Analysis of Genome Editing by Sequencing

AGEseq is a robust tool designed to compare amplicon sequences with expected target sequences to detect insertion or deletion events within the amplicon sequences. Developed initially in Perl and utilizing BLAT for high-accuracy sequence alignment, AGEseq is now available both as a command-line tool, docker, and through user-friendly interfaces on Galaxy and a Streamlit app.

Features

  • Detects insertions and deletions (indels) in amplicon sequences.
  • Compares amplicon sequences against expected target sequences.
  • Utilizes BLAT for precise sequence alignment.
  • Accessible via command-line, Galaxy, or a Streamlit app GUI.

Getting Started

Prerequisites

Before installing AGEseq, ensure you have the following:

  • Perl (version 5.10 or higher)
  • BLAT alignment tool
  • Python (version 3.6 or higher) if using the Streamlit app
  • Docker (optional, for containerized version)

Installation

Local Installation

Clone the repository:

git clone https://github.com/your-lab/AGEseq
cd AGEseq

#TODO

Galaxy Installation

To use AGEseq on Galaxy, import it as a tool within your local Galaxy instance. Ensure your Galaxy instance is set up to handle external tools.

Streamlit App GUI

The Streamlit app can be run locally or deployed on a server:

streamlit run app.py

Usage

Command-Line Interface

To use AGEseq from the command line:

perl ageseq.pl --target=target.fa --amplicon=amplicon.fa

Using Galaxy

Add AGEseq to your Galaxy toolbox and follow the interface prompts to input your sequences and run the analysis.

Streamlit App GUI

Navigate to the URL where your Streamlit app is hosted, and use the graphical interface to upload sequences and analyze results.

Galaxy Server Setup Guide

This guide provides instructions for setting up and configuring a Galaxy server for data analysis, workflow authoring, training, and education purposes. Galaxy is an open-source platform widely used in the scientific community, particularly in fields such as bioinformatics and genomics.

System Requirements

To run Galaxy, ensure your system meets the following requirements:

  • UNIX/Linux or Mac OSX operating system
  • Python 3.8 or newer

Installation

If you don't have a Galaxy repository yet, clone the repository using the following command:
git clone -b release_23.2 https://github.com/galaxyproject/galaxy.git

Starting Galaxy Server

To start the Galaxy server, follow these steps:

  • Navigate to the Galaxy directory.
  • Run the following command in a terminal window: sh run.sh This will start Galaxy on localhost using the default port 8080.

Hosting on a Remote Server

If you want to access Galaxy from a local browser or host it on a remote server, follow these steps:

  • Inside the config/ directory, locate galaxy.yml.sample and rename it to galaxy.yml.
  • Edit the galaxy.yml file and enable Gunicorn by setting the enable parameter to true and specifying the IP address and port to bind to:
    gunicorn:
    enable: true
    bind: 172.30.18.104:8091
    
  • Restart Galaxy by running: sh run.sh
    You should now be able to access Galaxy from a browser using the specified URL.

Hosting on a Remote Server

To add custom tools to Galaxy, follow these steps:

  • Navigate to the tools directory in the Galaxy installation.
  • Create a new directory for your tools (e.g., myTools) and place the tool script and its XML definition file inside this directory.
  • Update the tool_conf.xml file located in the config/ directory to include the new tool:
 <section name="Custom Tools" id="myTools">
<tool file="myTools/your_tool.xml" />
</section>
  • Restart Galaxy to apply the changes.

Running Galaxy as a Service

To run Galaxy as a service indefinitely, follow these steps:

  • Create a systemd service file by typing: sudo nano /lib/systemd/system/galaxy.service
  • Paste the following configuration into the file:
[Unit]
Description=Galaxy
After=multi-user.target
[Service]
User=tsai-apps
WorkingDirectory=/data/galaxy
ExecStart=sh /data/galaxy/run.sh
Restart=on-failure
KillMode=process
LimitMEMLOCK=infinity
LimitNOFILE=65535
Type=simple
[Install]
WantedBy=multi-user.target
  • Save the file and exit the editor.
  • Set appropriate permissions for the service file: sudo chmod 644 /lib/systemd/system/galaxy.service
  • Reload systemd to recognize the new service: sudo systemctl daemon-reload
  • Enable the Galaxy service to start on boot: sudo systemctl enable galaxy.service
  • Start the Galaxy service: sudo systemctl start galaxy.service
  • Check the status of the Galaxy service to ensure it's running: sudo systemctl status galaxy.service

Accessing Galaxy

  • Galaxy is accessible via the following URL: http://tsailab.gene.uga.edu:8091/
  • The Galaxy server is currently hosted on the following IP address: 172.30.18.104
  • Code Location: /data/galaxy

Reference documentation

Contributing

We welcome contributions from the community, including bug fixes, enhancements, and documentation improvements. If you are looking to contribute:

  1. Fork the repository.
  2. Create a new branch for your feature (git checkout -b feature-branch).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin feature-branch).
  5. Open a new Pull Request.

Support

For support and bug reports, please submit an issue on the GitHub issue tracker.

Citation

If you use AGEseq in your research, please cite our paper: Xue LJ, Tsai CJ. AGEseq: Analysis of Genome Editing by Sequencing. Mol Plant. 2015 Sep;8(9):1428-30. doi: 10.1016/j.molp.2015.06.001. Epub 2015 Jun 6. PMID: 26057235.

About

AGEseq: Analysis of Genome Editing by Sequencing

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

AGEseq: Analysis of Genome Editing by Sequencing

AGEseq is a robust tool designed to compare amplicon sequences with expected target sequences to detect insertion or deletion events within the amplicon sequences. Developed initially in Perl and utilizing BLAT for high-accuracy sequence alignment, AGEseq is now available both as a command-line tool, docker, and through user-friendly interfaces on Galaxy and a Streamlit app.

Features

  • Detects insertions and deletions (indels) in amplicon sequences.
  • Compares amplicon sequences against expected target sequences.
  • Utilizes BLAT for precise sequence alignment.
  • Accessible via command-line, Galaxy, or a Streamlit app GUI.

Getting Started

Prerequisites

Before installing AGEseq, ensure you have the following:

  • Perl (version 5.10 or higher)
  • BLAT alignment tool
  • Python (version 3.6 or higher) if using the Streamlit app
  • Docker (optional, for containerized version)

Installation

Local Installation

Clone the repository:

git clone https://github.com/your-lab/AGEseq
cd AGEseq

#TODO

Galaxy Installation

To use AGEseq on Galaxy, import it as a tool within your local Galaxy instance. Ensure your Galaxy instance is set up to handle external tools.

Streamlit App GUI

The Streamlit app can be run locally or deployed on a server:

streamlit run app.py

Usage

Command-Line Interface

To use AGEseq from the command line:

perl ageseq.pl --target=target.fa --amplicon=amplicon.fa

Using Galaxy

Add AGEseq to your Galaxy toolbox and follow the interface prompts to input your sequences and run the analysis.

Streamlit App GUI

Navigate to the URL where your Streamlit app is hosted, and use the graphical interface to upload sequences and analyze results.

Galaxy Server Setup Guide

This guide provides instructions for setting up and configuring a Galaxy server for data analysis, workflow authoring, training, and education purposes. Galaxy is an open-source platform widely used in the scientific community, particularly in fields such as bioinformatics and genomics.

System Requirements

To run Galaxy, ensure your system meets the following requirements:

  • UNIX/Linux or Mac OSX operating system
  • Python 3.8 or newer

Installation

If you don't have a Galaxy repository yet, clone the repository using the following command:
git clone -b release_23.2 https://github.com/galaxyproject/galaxy.git

Starting Galaxy Server

To start the Galaxy server, follow these steps:

  • Navigate to the Galaxy directory.
  • Run the following command in a terminal window: sh run.sh This will start Galaxy on localhost using the default port 8080.

Hosting on a Remote Server

If you want to access Galaxy from a local browser or host it on a remote server, follow these steps:

  • Inside the config/ directory, locate galaxy.yml.sample and rename it to galaxy.yml.
  • Edit the galaxy.yml file and enable Gunicorn by setting the enable parameter to true and specifying the IP address and port to bind to:
    gunicorn:
    enable: true
    bind: 172.30.18.104:8091
    
  • Restart Galaxy by running: sh run.sh
    You should now be able to access Galaxy from a browser using the specified URL.

Hosting on a Remote Server

To add custom tools to Galaxy, follow these steps:

  • Navigate to the tools directory in the Galaxy installation.
  • Create a new directory for your tools (e.g., myTools) and place the tool script and its XML definition file inside this directory.
  • Update the tool_conf.xml file located in the config/ directory to include the new tool:
 <section name="Custom Tools" id="myTools">
<tool file="myTools/your_tool.xml" />
</section>
  • Restart Galaxy to apply the changes.

Running Galaxy as a Service

To run Galaxy as a service indefinitely, follow these steps:

  • Create a systemd service file by typing: sudo nano /lib/systemd/system/galaxy.service
  • Paste the following configuration into the file:
[Unit]
Description=Galaxy
After=multi-user.target
[Service]
User=tsai-apps
WorkingDirectory=/data/galaxy
ExecStart=sh /data/galaxy/run.sh
Restart=on-failure
KillMode=process
LimitMEMLOCK=infinity
LimitNOFILE=65535
Type=simple
[Install]
WantedBy=multi-user.target
  • Save the file and exit the editor.
  • Set appropriate permissions for the service file: sudo chmod 644 /lib/systemd/system/galaxy.service
  • Reload systemd to recognize the new service: sudo systemctl daemon-reload
  • Enable the Galaxy service to start on boot: sudo systemctl enable galaxy.service
  • Start the Galaxy service: sudo systemctl start galaxy.service
  • Check the status of the Galaxy service to ensure it's running: sudo systemctl status galaxy.service

Accessing Galaxy

  • Galaxy is accessible via the following URL: http://tsailab.gene.uga.edu:8091/
  • The Galaxy server is currently hosted on the following IP address: 172.30.18.104
  • Code Location: /data/galaxy

Reference documentation

Contributing

We welcome contributions from the community, including bug fixes, enhancements, and documentation improvements. If you are looking to contribute:

  1. Fork the repository.
  2. Create a new branch for your feature (git checkout -b feature-branch).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin feature-branch).
  5. Open a new Pull Request.

Support

For support and bug reports, please submit an issue on the GitHub issue tracker.

Citation

If you use AGEseq in your research, please cite our paper: Xue LJ, Tsai CJ. AGEseq: Analysis of Genome Editing by Sequencing. Mol Plant. 2015 Sep;8(9):1428-30. doi: 10.1016/j.molp.2015.06.001. Epub 2015 Jun 6. PMID: 26057235.

About

AGEseq: Analysis of Genome Editing by Sequencing

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

AGEseq: Analysis of Genome Editing by Sequencing

AGEseq is a robust tool designed to compare amplicon sequences with expected target sequences to detect insertion or deletion events within the amplicon sequences. Developed initially in Perl and utilizing BLAT for high-accuracy sequence alignment, AGEseq is now available both as a command-line tool, docker, and through user-friendly interfaces on Galaxy and a Streamlit app.

Features

  • Detects insertions and deletions (indels) in amplicon sequences.
  • Compares amplicon sequences against expected target sequences.
  • Utilizes BLAT for precise sequence alignment.
  • Accessible via command-line, Galaxy, or a Streamlit app GUI.

Getting Started

Prerequisites

Before installing AGEseq, ensure you have the following:

  • Perl (version 5.10 or higher)
  • BLAT alignment tool
  • Python (version 3.6 or higher) if using the Streamlit app
  • Docker (optional, for containerized version)

Installation

Local Installation

Clone the repository:

git clone https://github.com/your-lab/AGEseq
cd AGEseq

#TODO

Galaxy Installation

To use AGEseq on Galaxy, import it as a tool within your local Galaxy instance. Ensure your Galaxy instance is set up to handle external tools.

Streamlit App GUI

The Streamlit app can be run locally or deployed on a server:

streamlit run app.py

Usage

Command-Line Interface

To use AGEseq from the command line:

perl ageseq.pl --target=target.fa --amplicon=amplicon.fa

Using Galaxy

Add AGEseq to your Galaxy toolbox and follow the interface prompts to input your sequences and run the analysis.

Streamlit App GUI

Navigate to the URL where your Streamlit app is hosted, and use the graphical interface to upload sequences and analyze results.

Galaxy Server Setup Guide

This guide provides instructions for setting up and configuring a Galaxy server for data analysis, workflow authoring, training, and education purposes. Galaxy is an open-source platform widely used in the scientific community, particularly in fields such as bioinformatics and genomics.

System Requirements

To run Galaxy, ensure your system meets the following requirements:

  • UNIX/Linux or Mac OSX operating system
  • Python 3.8 or newer

Installation

If you don't have a Galaxy repository yet, clone the repository using the following command:
git clone -b release_23.2 https://github.com/galaxyproject/galaxy.git

Starting Galaxy Server

To start the Galaxy server, follow these steps:

  • Navigate to the Galaxy directory.
  • Run the following command in a terminal window: sh run.sh This will start Galaxy on localhost using the default port 8080.

Hosting on a Remote Server

If you want to access Galaxy from a local browser or host it on a remote server, follow these steps:

  • Inside the config/ directory, locate galaxy.yml.sample and rename it to galaxy.yml.
  • Edit the galaxy.yml file and enable Gunicorn by setting the enable parameter to true and specifying the IP address and port to bind to:
    gunicorn:
    enable: true
    bind: 172.30.18.104:8091
    
  • Restart Galaxy by running: sh run.sh
    You should now be able to access Galaxy from a browser using the specified URL.

Hosting on a Remote Server

To add custom tools to Galaxy, follow these steps:

  • Navigate to the tools directory in the Galaxy installation.
  • Create a new directory for your tools (e.g., myTools) and place the tool script and its XML definition file inside this directory.
  • Update the tool_conf.xml file located in the config/ directory to include the new tool:
 <section name="Custom Tools" id="myTools">
<tool file="myTools/your_tool.xml" />
</section>
  • Restart Galaxy to apply the changes.

Running Galaxy as a Service

To run Galaxy as a service indefinitely, follow these steps:

  • Create a systemd service file by typing: sudo nano /lib/systemd/system/galaxy.service
  • Paste the following configuration into the file:
[Unit]
Description=Galaxy
After=multi-user.target
[Service]
User=tsai-apps
WorkingDirectory=/data/galaxy
ExecStart=sh /data/galaxy/run.sh
Restart=on-failure
KillMode=process
LimitMEMLOCK=infinity
LimitNOFILE=65535
Type=simple
[Install]
WantedBy=multi-user.target
  • Save the file and exit the editor.
  • Set appropriate permissions for the service file: sudo chmod 644 /lib/systemd/system/galaxy.service
  • Reload systemd to recognize the new service: sudo systemctl daemon-reload
  • Enable the Galaxy service to start on boot: sudo systemctl enable galaxy.service
  • Start the Galaxy service: sudo systemctl start galaxy.service
  • Check the status of the Galaxy service to ensure it's running: sudo systemctl status galaxy.service

Accessing Galaxy

  • Galaxy is accessible via the following URL: http://tsailab.gene.uga.edu:8091/
  • The Galaxy server is currently hosted on the following IP address: 172.30.18.104
  • Code Location: /data/galaxy

Reference documentation

Contributing

We welcome contributions from the community, including bug fixes, enhancements, and documentation improvements. If you are looking to contribute:

  1. Fork the repository.
  2. Create a new branch for your feature (git checkout -b feature-branch).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin feature-branch).
  5. Open a new Pull Request.

Support

For support and bug reports, please submit an issue on the GitHub issue tracker.

Citation

If you use AGEseq in your research, please cite our paper: Xue LJ, Tsai CJ. AGEseq: Analysis of Genome Editing by Sequencing. Mol Plant. 2015 Sep;8(9):1428-30. doi: 10.1016/j.molp.2015.06.001. Epub 2015 Jun 6. PMID: 26057235.

About

AGEseq: Analysis of Genome Editing by Sequencing

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

AGEseq: Analysis of Genome Editing by Sequencing

AGEseq is a robust tool designed to compare amplicon sequences with expected target sequences to detect insertion or deletion events within the amplicon sequences. Developed initially in Perl and utilizing BLAT for high-accuracy sequence alignment, AGEseq is now available both as a command-line tool, docker, and through user-friendly interfaces on Galaxy and a Streamlit app.

Features

  • Detects insertions and deletions (indels) in amplicon sequences.
  • Compares amplicon sequences against expected target sequences.
  • Utilizes BLAT for precise sequence alignment.
  • Accessible via command-line, Galaxy, or a Streamlit app GUI.

Getting Started

Prerequisites

Before installing AGEseq, ensure you have the following:

  • Perl (version 5.10 or higher)
  • BLAT alignment tool
  • Python (version 3.6 or higher) if using the Streamlit app
  • Docker (optional, for containerized version)

Installation

Local Installation

Clone the repository:

git clone https://github.com/your-lab/AGEseq
cd AGEseq

#TODO

Galaxy Installation

To use AGEseq on Galaxy, import it as a tool within your local Galaxy instance. Ensure your Galaxy instance is set up to handle external tools.

Streamlit App GUI

The Streamlit app can be run locally or deployed on a server:

streamlit run app.py

Usage

Command-Line Interface

To use AGEseq from the command line:

perl ageseq.pl --target=target.fa --amplicon=amplicon.fa

Using Galaxy

Add AGEseq to your Galaxy toolbox and follow the interface prompts to input your sequences and run the analysis.

Streamlit App GUI

Navigate to the URL where your Streamlit app is hosted, and use the graphical interface to upload sequences and analyze results.

Galaxy Server Setup Guide

This guide provides instructions for setting up and configuring a Galaxy server for data analysis, workflow authoring, training, and education purposes. Galaxy is an open-source platform widely used in the scientific community, particularly in fields such as bioinformatics and genomics.

System Requirements

To run Galaxy, ensure your system meets the following requirements:

  • UNIX/Linux or Mac OSX operating system
  • Python 3.8 or newer

Installation

If you don't have a Galaxy repository yet, clone the repository using the following command:
git clone -b release_23.2 https://github.com/galaxyproject/galaxy.git

Starting Galaxy Server

To start the Galaxy server, follow these steps:

  • Navigate to the Galaxy directory.
  • Run the following command in a terminal window: sh run.sh This will start Galaxy on localhost using the default port 8080.

Hosting on a Remote Server

If you want to access Galaxy from a local browser or host it on a remote server, follow these steps:

  • Inside the config/ directory, locate galaxy.yml.sample and rename it to galaxy.yml.
  • Edit the galaxy.yml file and enable Gunicorn by setting the enable parameter to true and specifying the IP address and port to bind to:
    gunicorn:
    enable: true
    bind: 172.30.18.104:8091
    
  • Restart Galaxy by running: sh run.sh
    You should now be able to access Galaxy from a browser using the specified URL.

Hosting on a Remote Server

To add custom tools to Galaxy, follow these steps:

  • Navigate to the tools directory in the Galaxy installation.
  • Create a new directory for your tools (e.g., myTools) and place the tool script and its XML definition file inside this directory.
  • Update the tool_conf.xml file located in the config/ directory to include the new tool:
 <section name="Custom Tools" id="myTools">
<tool file="myTools/your_tool.xml" />
</section>
  • Restart Galaxy to apply the changes.

Running Galaxy as a Service

To run Galaxy as a service indefinitely, follow these steps:

  • Create a systemd service file by typing: sudo nano /lib/systemd/system/galaxy.service
  • Paste the following configuration into the file:
[Unit]
Description=Galaxy
After=multi-user.target
[Service]
User=tsai-apps
WorkingDirectory=/data/galaxy
ExecStart=sh /data/galaxy/run.sh
Restart=on-failure
KillMode=process
LimitMEMLOCK=infinity
LimitNOFILE=65535
Type=simple
[Install]
WantedBy=multi-user.target
  • Save the file and exit the editor.
  • Set appropriate permissions for the service file: sudo chmod 644 /lib/systemd/system/galaxy.service
  • Reload systemd to recognize the new service: sudo systemctl daemon-reload
  • Enable the Galaxy service to start on boot: sudo systemctl enable galaxy.service
  • Start the Galaxy service: sudo systemctl start galaxy.service
  • Check the status of the Galaxy service to ensure it's running: sudo systemctl status galaxy.service

Accessing Galaxy

  • Galaxy is accessible via the following URL: http://tsailab.gene.uga.edu:8091/
  • The Galaxy server is currently hosted on the following IP address: 172.30.18.104
  • Code Location: /data/galaxy

Reference documentation

Contributing

We welcome contributions from the community, including bug fixes, enhancements, and documentation improvements. If you are looking to contribute:

  1. Fork the repository.
  2. Create a new branch for your feature (git checkout -b feature-branch).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin feature-branch).
  5. Open a new Pull Request.

Support

For support and bug reports, please submit an issue on the GitHub issue tracker.

Citation

If you use AGEseq in your research, please cite our paper: Xue LJ, Tsai CJ. AGEseq: Analysis of Genome Editing by Sequencing. Mol Plant. 2015 Sep;8(9):1428-30. doi: 10.1016/j.molp.2015.06.001. Epub 2015 Jun 6. PMID: 26057235.

About

AGEseq: Analysis of Genome Editing by Sequencing

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

AGEseq: Analysis of Genome Editing by Sequencing

AGEseq is a robust tool designed to compare amplicon sequences with expected target sequences to detect insertion or deletion events within the amplicon sequences. Developed initially in Perl and utilizing BLAT for high-accuracy sequence alignment, AGEseq is now available both as a command-line tool, docker, and through user-friendly interfaces on Galaxy and a Streamlit app.

Features

  • Detects insertions and deletions (indels) in amplicon sequences.
  • Compares amplicon sequences against expected target sequences.
  • Utilizes BLAT for precise sequence alignment.
  • Accessible via command-line, Galaxy, or a Streamlit app GUI.

Getting Started

Prerequisites

Before installing AGEseq, ensure you have the following:

  • Perl (version 5.10 or higher)
  • BLAT alignment tool
  • Python (version 3.6 or higher) if using the Streamlit app
  • Docker (optional, for containerized version)

Installation

Local Installation

Clone the repository:

git clone https://github.com/your-lab/AGEseq
cd AGEseq

#TODO

Galaxy Installation

To use AGEseq on Galaxy, import it as a tool within your local Galaxy instance. Ensure your Galaxy instance is set up to handle external tools.

Streamlit App GUI

The Streamlit app can be run locally or deployed on a server:

streamlit run app.py

Usage

Command-Line Interface

To use AGEseq from the command line:

perl ageseq.pl --target=target.fa --amplicon=amplicon.fa

Using Galaxy

Add AGEseq to your Galaxy toolbox and follow the interface prompts to input your sequences and run the analysis.

Streamlit App GUI

Navigate to the URL where your Streamlit app is hosted, and use the graphical interface to upload sequences and analyze results.

Galaxy Server Setup Guide

This guide provides instructions for setting up and configuring a Galaxy server for data analysis, workflow authoring, training, and education purposes. Galaxy is an open-source platform widely used in the scientific community, particularly in fields such as bioinformatics and genomics.

System Requirements

To run Galaxy, ensure your system meets the following requirements:

  • UNIX/Linux or Mac OSX operating system
  • Python 3.8 or newer

Installation

If you don't have a Galaxy repository yet, clone the repository using the following command:
git clone -b release_23.2 https://github.com/galaxyproject/galaxy.git

Starting Galaxy Server

To start the Galaxy server, follow these steps:

  • Navigate to the Galaxy directory.
  • Run the following command in a terminal window: sh run.sh This will start Galaxy on localhost using the default port 8080.

Hosting on a Remote Server

If you want to access Galaxy from a local browser or host it on a remote server, follow these steps:

  • Inside the config/ directory, locate galaxy.yml.sample and rename it to galaxy.yml.
  • Edit the galaxy.yml file and enable Gunicorn by setting the enable parameter to true and specifying the IP address and port to bind to:
    gunicorn:
    enable: true
    bind: 172.30.18.104:8091
    
  • Restart Galaxy by running: sh run.sh
    You should now be able to access Galaxy from a browser using the specified URL.

Hosting on a Remote Server

To add custom tools to Galaxy, follow these steps:

  • Navigate to the tools directory in the Galaxy installation.
  • Create a new directory for your tools (e.g., myTools) and place the tool script and its XML definition file inside this directory.
  • Update the tool_conf.xml file located in the config/ directory to include the new tool:
 <section name="Custom Tools" id="myTools">
<tool file="myTools/your_tool.xml" />
</section>
  • Restart Galaxy to apply the changes.

Running Galaxy as a Service

To run Galaxy as a service indefinitely, follow these steps:

  • Create a systemd service file by typing: sudo nano /lib/systemd/system/galaxy.service
  • Paste the following configuration into the file:
[Unit]
Description=Galaxy
After=multi-user.target
[Service]
User=tsai-apps
WorkingDirectory=/data/galaxy
ExecStart=sh /data/galaxy/run.sh
Restart=on-failure
KillMode=process
LimitMEMLOCK=infinity
LimitNOFILE=65535
Type=simple
[Install]
WantedBy=multi-user.target
  • Save the file and exit the editor.
  • Set appropriate permissions for the service file: sudo chmod 644 /lib/systemd/system/galaxy.service
  • Reload systemd to recognize the new service: sudo systemctl daemon-reload
  • Enable the Galaxy service to start on boot: sudo systemctl enable galaxy.service
  • Start the Galaxy service: sudo systemctl start galaxy.service
  • Check the status of the Galaxy service to ensure it's running: sudo systemctl status galaxy.service

Accessing Galaxy

  • Galaxy is accessible via the following URL: http://tsailab.gene.uga.edu:8091/
  • The Galaxy server is currently hosted on the following IP address: 172.30.18.104
  • Code Location: /data/galaxy

Reference documentation

Contributing

We welcome contributions from the community, including bug fixes, enhancements, and documentation improvements. If you are looking to contribute:

  1. Fork the repository.
  2. Create a new branch for your feature (git checkout -b feature-branch).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin feature-branch).
  5. Open a new Pull Request.

Support

For support and bug reports, please submit an issue on the GitHub issue tracker.

Citation

If you use AGEseq in your research, please cite our paper: Xue LJ, Tsai CJ. AGEseq: Analysis of Genome Editing by Sequencing. Mol Plant. 2015 Sep;8(9):1428-30. doi: 10.1016/j.molp.2015.06.001. Epub 2015 Jun 6. PMID: 26057235.

About

AGEseq: Analysis of Genome Editing by Sequencing

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

AGEseq: Analysis of Genome Editing by Sequencing

AGEseq is a robust tool designed to compare amplicon sequences with expected target sequences to detect insertion or deletion events within the amplicon sequences. Developed initially in Perl and utilizing BLAT for high-accuracy sequence alignment, AGEseq is now available both as a command-line tool, docker, and through user-friendly interfaces on Galaxy and a Streamlit app.

Features

  • Detects insertions and deletions (indels) in amplicon sequences.
  • Compares amplicon sequences against expected target sequences.
  • Utilizes BLAT for precise sequence alignment.
  • Accessible via command-line, Galaxy, or a Streamlit app GUI.

Getting Started

Prerequisites

Before installing AGEseq, ensure you have the following:

  • Perl (version 5.10 or higher)
  • BLAT alignment tool
  • Python (version 3.6 or higher) if using the Streamlit app
  • Docker (optional, for containerized version)

Installation

Local Installation

Clone the repository:

git clone https://github.com/your-lab/AGEseq
cd AGEseq

#TODO

Galaxy Installation

To use AGEseq on Galaxy, import it as a tool within your local Galaxy instance. Ensure your Galaxy instance is set up to handle external tools.

Streamlit App GUI

The Streamlit app can be run locally or deployed on a server:

streamlit run app.py

Usage

Command-Line Interface

To use AGEseq from the command line:

perl ageseq.pl --target=target.fa --amplicon=amplicon.fa

Using Galaxy

Add AGEseq to your Galaxy toolbox and follow the interface prompts to input your sequences and run the analysis.

Streamlit App GUI

Navigate to the URL where your Streamlit app is hosted, and use the graphical interface to upload sequences and analyze results.

Galaxy Server Setup Guide

This guide provides instructions for setting up and configuring a Galaxy server for data analysis, workflow authoring, training, and education purposes. Galaxy is an open-source platform widely used in the scientific community, particularly in fields such as bioinformatics and genomics.

System Requirements

To run Galaxy, ensure your system meets the following requirements:

  • UNIX/Linux or Mac OSX operating system
  • Python 3.8 or newer

Installation

If you don't have a Galaxy repository yet, clone the repository using the following command:
git clone -b release_23.2 https://github.com/galaxyproject/galaxy.git

Starting Galaxy Server

To start the Galaxy server, follow these steps:

  • Navigate to the Galaxy directory.
  • Run the following command in a terminal window: sh run.sh This will start Galaxy on localhost using the default port 8080.

Hosting on a Remote Server

If you want to access Galaxy from a local browser or host it on a remote server, follow these steps:

  • Inside the config/ directory, locate galaxy.yml.sample and rename it to galaxy.yml.
  • Edit the galaxy.yml file and enable Gunicorn by setting the enable parameter to true and specifying the IP address and port to bind to:
    gunicorn:
    enable: true
    bind: 172.30.18.104:8091
    
  • Restart Galaxy by running: sh run.sh
    You should now be able to access Galaxy from a browser using the specified URL.

Hosting on a Remote Server

To add custom tools to Galaxy, follow these steps:

  • Navigate to the tools directory in the Galaxy installation.
  • Create a new directory for your tools (e.g., myTools) and place the tool script and its XML definition file inside this directory.
  • Update the tool_conf.xml file located in the config/ directory to include the new tool:
 <section name="Custom Tools" id="myTools">
<tool file="myTools/your_tool.xml" />
</section>
  • Restart Galaxy to apply the changes.

Running Galaxy as a Service

To run Galaxy as a service indefinitely, follow these steps:

  • Create a systemd service file by typing: sudo nano /lib/systemd/system/galaxy.service
  • Paste the following configuration into the file:
[Unit]
Description=Galaxy
After=multi-user.target
[Service]
User=tsai-apps
WorkingDirectory=/data/galaxy
ExecStart=sh /data/galaxy/run.sh
Restart=on-failure
KillMode=process
LimitMEMLOCK=infinity
LimitNOFILE=65535
Type=simple
[Install]
WantedBy=multi-user.target
  • Save the file and exit the editor.
  • Set appropriate permissions for the service file: sudo chmod 644 /lib/systemd/system/galaxy.service
  • Reload systemd to recognize the new service: sudo systemctl daemon-reload
  • Enable the Galaxy service to start on boot: sudo systemctl enable galaxy.service
  • Start the Galaxy service: sudo systemctl start galaxy.service
  • Check the status of the Galaxy service to ensure it's running: sudo systemctl status galaxy.service

Accessing Galaxy

  • Galaxy is accessible via the following URL: http://tsailab.gene.uga.edu:8091/
  • The Galaxy server is currently hosted on the following IP address: 172.30.18.104
  • Code Location: /data/galaxy

Reference documentation

Contributing

We welcome contributions from the community, including bug fixes, enhancements, and documentation improvements. If you are looking to contribute:

  1. Fork the repository.
  2. Create a new branch for your feature (git checkout -b feature-branch).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin feature-branch).
  5. Open a new Pull Request.

Support

For support and bug reports, please submit an issue on the GitHub issue tracker.

Citation

If you use AGEseq in your research, please cite our paper: Xue LJ, Tsai CJ. AGEseq: Analysis of Genome Editing by Sequencing. Mol Plant. 2015 Sep;8(9):1428-30. doi: 10.1016/j.molp.2015.06.001. Epub 2015 Jun 6. PMID: 26057235.

About

AGEseq: Analysis of Genome Editing by Sequencing

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

AGEseq: Analysis of Genome Editing by Sequencing

AGEseq is a robust tool designed to compare amplicon sequences with expected target sequences to detect insertion or deletion events within the amplicon sequences. Developed initially in Perl and utilizing BLAT for high-accuracy sequence alignment, AGEseq is now available both as a command-line tool, docker, and through user-friendly interfaces on Galaxy and a Streamlit app.

Features

  • Detects insertions and deletions (indels) in amplicon sequences.
  • Compares amplicon sequences against expected target sequences.
  • Utilizes BLAT for precise sequence alignment.
  • Accessible via command-line, Galaxy, or a Streamlit app GUI.

Getting Started

Prerequisites

Before installing AGEseq, ensure you have the following:

  • Perl (version 5.10 or higher)
  • BLAT alignment tool
  • Python (version 3.6 or higher) if using the Streamlit app
  • Docker (optional, for containerized version)

Installation

Local Installation

Clone the repository:

git clone https://github.com/your-lab/AGEseq
cd AGEseq

#TODO

Galaxy Installation

To use AGEseq on Galaxy, import it as a tool within your local Galaxy instance. Ensure your Galaxy instance is set up to handle external tools.

Streamlit App GUI

The Streamlit app can be run locally or deployed on a server:

streamlit run app.py

Usage

Command-Line Interface

To use AGEseq from the command line:

perl ageseq.pl --target=target.fa --amplicon=amplicon.fa

Using Galaxy

Add AGEseq to your Galaxy toolbox and follow the interface prompts to input your sequences and run the analysis.

Streamlit App GUI

Navigate to the URL where your Streamlit app is hosted, and use the graphical interface to upload sequences and analyze results.

Galaxy Server Setup Guide

This guide provides instructions for setting up and configuring a Galaxy server for data analysis, workflow authoring, training, and education purposes. Galaxy is an open-source platform widely used in the scientific community, particularly in fields such as bioinformatics and genomics.

System Requirements

To run Galaxy, ensure your system meets the following requirements:

  • UNIX/Linux or Mac OSX operating system
  • Python 3.8 or newer

Installation

If you don't have a Galaxy repository yet, clone the repository using the following command:
git clone -b release_23.2 https://github.com/galaxyproject/galaxy.git

Starting Galaxy Server

To start the Galaxy server, follow these steps:

  • Navigate to the Galaxy directory.
  • Run the following command in a terminal window: sh run.sh This will start Galaxy on localhost using the default port 8080.

Hosting on a Remote Server

If you want to access Galaxy from a local browser or host it on a remote server, follow these steps:

  • Inside the config/ directory, locate galaxy.yml.sample and rename it to galaxy.yml.
  • Edit the galaxy.yml file and enable Gunicorn by setting the enable parameter to true and specifying the IP address and port to bind to:
    gunicorn:
    enable: true
    bind: 172.30.18.104:8091
    
  • Restart Galaxy by running: sh run.sh
    You should now be able to access Galaxy from a browser using the specified URL.

Hosting on a Remote Server

To add custom tools to Galaxy, follow these steps:

  • Navigate to the tools directory in the Galaxy installation.
  • Create a new directory for your tools (e.g., myTools) and place the tool script and its XML definition file inside this directory.
  • Update the tool_conf.xml file located in the config/ directory to include the new tool:
 <section name="Custom Tools" id="myTools">
<tool file="myTools/your_tool.xml" />
</section>
  • Restart Galaxy to apply the changes.

Running Galaxy as a Service

To run Galaxy as a service indefinitely, follow these steps:

  • Create a systemd service file by typing: sudo nano /lib/systemd/system/galaxy.service
  • Paste the following configuration into the file:
[Unit]
Description=Galaxy
After=multi-user.target
[Service]
User=tsai-apps
WorkingDirectory=/data/galaxy
ExecStart=sh /data/galaxy/run.sh
Restart=on-failure
KillMode=process
LimitMEMLOCK=infinity
LimitNOFILE=65535
Type=simple
[Install]
WantedBy=multi-user.target
  • Save the file and exit the editor.
  • Set appropriate permissions for the service file: sudo chmod 644 /lib/systemd/system/galaxy.service
  • Reload systemd to recognize the new service: sudo systemctl daemon-reload
  • Enable the Galaxy service to start on boot: sudo systemctl enable galaxy.service
  • Start the Galaxy service: sudo systemctl start galaxy.service
  • Check the status of the Galaxy service to ensure it's running: sudo systemctl status galaxy.service

Accessing Galaxy

  • Galaxy is accessible via the following URL: http://tsailab.gene.uga.edu:8091/
  • The Galaxy server is currently hosted on the following IP address: 172.30.18.104
  • Code Location: /data/galaxy

Reference documentation

Contributing

We welcome contributions from the community, including bug fixes, enhancements, and documentation improvements. If you are looking to contribute:

  1. Fork the repository.
  2. Create a new branch for your feature (git checkout -b feature-branch).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin feature-branch).
  5. Open a new Pull Request.

Support

For support and bug reports, please submit an issue on the GitHub issue tracker.

Citation

If you use AGEseq in your research, please cite our paper: Xue LJ, Tsai CJ. AGEseq: Analysis of Genome Editing by Sequencing. Mol Plant. 2015 Sep;8(9):1428-30. doi: 10.1016/j.molp.2015.06.001. Epub 2015 Jun 6. PMID: 26057235.

About

AGEseq: Analysis of Genome Editing by Sequencing

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages