Repository files navigation

DeepRaccess

This repository includes the implementation of DeepRaccess, high-speed RNA accessibility prediction on GPU environmentsusing deep learning. Please cite the following paper if you use our code or system output.

Kaisei Hara, Natuki Iwano, Tsukasa Fukunaga and Michiaki Hamada. "DeepRaccess: High-speed RNA accessibility prediction using deep learning." (under submission)

In this package, we provide the source code of the DeepRaccess software, pre-trained models, and modules for training, test and prediction. For instructions on how to use it, please refer to the explanation below, as well as the demo.ipynb file which provides an end-to-end workflow demonstration.

1. Environment setup

We recommend the use of a virtual environment such as Conda or Docker for installation. We have tested compatibility with Python versions 3.6.8 and 3.8.12. Please refer to requirements.txt for the additional modules required by DeepRaccess. Note that, for faster computation of accessibility, at least one NVIDIA GPU is required.

1.1 Installation of the package and the other requirements

(Required)

git clone https://github.com/hmdlab/DeepRaccess.git
cd DeepRaccess
pip install --upgrade pip
pip install -r requirements.txt

2. Training (You can skip this section when you only use the pre-trained DeepRaccess model)

2.1 Data preparation

Please prepare an input sequence file as a fasta file such as sample_data/sequence/***.fa.
In addition, please prepare the accessibility file as a csv file like sample_data/accessibility/***.csv., by using an existing accessibility prediction tool (e.g. Raccess).

2.2 Model training

export SEQ_DIR=sample_data/train/sequence/
export ACC_DIR=sample_data/train/accessibility/
python3 train.py \
--seqdir ${SEQ_DIR} \
--accdir ${ACC_DIR} \
--epoch 10 \
--model FCN \

You can check the software options with python train.py --help.

Successful training produces trained weights (.pth), scatter plots (.png) and logs of the learning (.log) for the model.

3. Test (You can skip this section when you only use the pre-trained DeepRaccess model)

3.1 Preparation of trained weights

You can test the performance of the trained weights of DeepRaccess. Please place the learned weights in the path/ folder. You can use pre-trained weights in the path/ folder.

3.2 Model test

export SEQ_FILE=sample_data/sequence/RF01000.fa
export ACC_FILE=sample_data/accessibility/RF01000.csv
export OUT_FILE=output.csv
python3 test.py \
--seqfile ${SEQ_FILE} \
--accfile ${ACC_FILE} \
--outfile ${OUT_FILE} \
--model FCN \
--pretrain path/FCN_structured.pth \

You can check the software options with python test.py --help. Successful test produces the predicted accessibility (output.csv) and scatter plot (scatter.png).

4. Prediction

4.1 Preparation of trained weights (as in 3.1)

Please place the learned weights in the path/ folder. You can use pre-trained weights in the path/ folder.

4.2 Predicting Accessibility

export SEQ_FILE=sample_data/sequence/RF01000.fa
export OUT_FILE=output.csv
python3 predict.py \
--seqfile ${SEQ_FILE} \
--outfile ${OUT_FILE} \
--model FCN \
--pretrain path/FCN_structured.pth

You can check the software options with python test.py --help.

Successful test produces the predicted accessibility (output.csv).

5. Brief explanation of interpretation

We used the fully convolutional network (FCN) for the network architecture. FCN does not use fully connected layers and is composed only of convolutional layers. We used a network of 40 convolutional layers with constant channel and unit sizes. The input RNA sequences are embedded into numerical vectors and fed into the neural networks. Our embedding first randomly generates six 120-dimensional numerical vectors corresponding to each of the six states: four RNA bases (A, C, G, U), one undetermined nucleotide (N) and padding. Please see our paper for implementation details.

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

1 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

DeepRaccess

This repository includes the implementation of DeepRaccess, high-speed RNA accessibility prediction on GPU environmentsusing deep learning. Please cite the following paper if you use our code or system output.

Kaisei Hara, Natuki Iwano, Tsukasa Fukunaga and Michiaki Hamada. "DeepRaccess: High-speed RNA accessibility prediction using deep learning." (under submission)

In this package, we provide the source code of the DeepRaccess software, pre-trained models, and modules for training, test and prediction. For instructions on how to use it, please refer to the explanation below, as well as the demo.ipynb file which provides an end-to-end workflow demonstration.

1. Environment setup

We recommend the use of a virtual environment such as Conda or Docker for installation. We have tested compatibility with Python versions 3.6.8 and 3.8.12. Please refer to requirements.txt for the additional modules required by DeepRaccess. Note that, for faster computation of accessibility, at least one NVIDIA GPU is required.

1.1 Installation of the package and the other requirements

(Required)

git clone https://github.com/hmdlab/DeepRaccess.git
cd DeepRaccess
pip install --upgrade pip
pip install -r requirements.txt

2. Training (You can skip this section when you only use the pre-trained DeepRaccess model)

2.1 Data preparation

Please prepare an input sequence file as a fasta file such as sample_data/sequence/***.fa.
In addition, please prepare the accessibility file as a csv file like sample_data/accessibility/***.csv., by using an existing accessibility prediction tool (e.g. Raccess).

2.2 Model training

export SEQ_DIR=sample_data/train/sequence/
export ACC_DIR=sample_data/train/accessibility/
python3 train.py \
--seqdir ${SEQ_DIR} \
--accdir ${ACC_DIR} \
--epoch 10 \
--model FCN \

You can check the software options with python train.py --help.

Successful training produces trained weights (.pth), scatter plots (.png) and logs of the learning (.log) for the model.

3. Test (You can skip this section when you only use the pre-trained DeepRaccess model)

3.1 Preparation of trained weights

You can test the performance of the trained weights of DeepRaccess. Please place the learned weights in the path/ folder. You can use pre-trained weights in the path/ folder.

3.2 Model test

export SEQ_FILE=sample_data/sequence/RF01000.fa
export ACC_FILE=sample_data/accessibility/RF01000.csv
export OUT_FILE=output.csv
python3 test.py \
--seqfile ${SEQ_FILE} \
--accfile ${ACC_FILE} \
--outfile ${OUT_FILE} \
--model FCN \
--pretrain path/FCN_structured.pth \

You can check the software options with python test.py --help. Successful test produces the predicted accessibility (output.csv) and scatter plot (scatter.png).

4. Prediction

4.1 Preparation of trained weights (as in 3.1)

Please place the learned weights in the path/ folder. You can use pre-trained weights in the path/ folder.

4.2 Predicting Accessibility

export SEQ_FILE=sample_data/sequence/RF01000.fa
export OUT_FILE=output.csv
python3 predict.py \
--seqfile ${SEQ_FILE} \
--outfile ${OUT_FILE} \
--model FCN \
--pretrain path/FCN_structured.pth

You can check the software options with python test.py --help.

Successful test produces the predicted accessibility (output.csv).

5. Brief explanation of interpretation

We used the fully convolutional network (FCN) for the network architecture. FCN does not use fully connected layers and is composed only of convolutional layers. We used a network of 40 convolutional layers with constant channel and unit sizes. The input RNA sequences are embedded into numerical vectors and fed into the neural networks. Our embedding first randomly generates six 120-dimensional numerical vectors corresponding to each of the six states: four RNA bases (A, C, G, U), one undetermined nucleotide (N) and padding. Please see our paper for implementation details.

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

1 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

DeepRaccess

This repository includes the implementation of DeepRaccess, high-speed RNA accessibility prediction on GPU environmentsusing deep learning. Please cite the following paper if you use our code or system output.

Kaisei Hara, Natuki Iwano, Tsukasa Fukunaga and Michiaki Hamada. "DeepRaccess: High-speed RNA accessibility prediction using deep learning." (under submission)

In this package, we provide the source code of the DeepRaccess software, pre-trained models, and modules for training, test and prediction. For instructions on how to use it, please refer to the explanation below, as well as the demo.ipynb file which provides an end-to-end workflow demonstration.

1. Environment setup

We recommend the use of a virtual environment such as Conda or Docker for installation. We have tested compatibility with Python versions 3.6.8 and 3.8.12. Please refer to requirements.txt for the additional modules required by DeepRaccess. Note that, for faster computation of accessibility, at least one NVIDIA GPU is required.

1.1 Installation of the package and the other requirements

(Required)

git clone https://github.com/hmdlab/DeepRaccess.git
cd DeepRaccess
pip install --upgrade pip
pip install -r requirements.txt

2. Training (You can skip this section when you only use the pre-trained DeepRaccess model)

2.1 Data preparation

Please prepare an input sequence file as a fasta file such as sample_data/sequence/***.fa.
In addition, please prepare the accessibility file as a csv file like sample_data/accessibility/***.csv., by using an existing accessibility prediction tool (e.g. Raccess).

2.2 Model training

export SEQ_DIR=sample_data/train/sequence/
export ACC_DIR=sample_data/train/accessibility/
python3 train.py \
--seqdir ${SEQ_DIR} \
--accdir ${ACC_DIR} \
--epoch 10 \
--model FCN \

You can check the software options with python train.py --help.

Successful training produces trained weights (.pth), scatter plots (.png) and logs of the learning (.log) for the model.

3. Test (You can skip this section when you only use the pre-trained DeepRaccess model)

3.1 Preparation of trained weights

You can test the performance of the trained weights of DeepRaccess. Please place the learned weights in the path/ folder. You can use pre-trained weights in the path/ folder.

3.2 Model test

export SEQ_FILE=sample_data/sequence/RF01000.fa
export ACC_FILE=sample_data/accessibility/RF01000.csv
export OUT_FILE=output.csv
python3 test.py \
--seqfile ${SEQ_FILE} \
--accfile ${ACC_FILE} \
--outfile ${OUT_FILE} \
--model FCN \
--pretrain path/FCN_structured.pth \

You can check the software options with python test.py --help. Successful test produces the predicted accessibility (output.csv) and scatter plot (scatter.png).

4. Prediction

4.1 Preparation of trained weights (as in 3.1)

Please place the learned weights in the path/ folder. You can use pre-trained weights in the path/ folder.

4.2 Predicting Accessibility

export SEQ_FILE=sample_data/sequence/RF01000.fa
export OUT_FILE=output.csv
python3 predict.py \
--seqfile ${SEQ_FILE} \
--outfile ${OUT_FILE} \
--model FCN \
--pretrain path/FCN_structured.pth

You can check the software options with python test.py --help.

Successful test produces the predicted accessibility (output.csv).

5. Brief explanation of interpretation

We used the fully convolutional network (FCN) for the network architecture. FCN does not use fully connected layers and is composed only of convolutional layers. We used a network of 40 convolutional layers with constant channel and unit sizes. The input RNA sequences are embedded into numerical vectors and fed into the neural networks. Our embedding first randomly generates six 120-dimensional numerical vectors corresponding to each of the six states: four RNA bases (A, C, G, U), one undetermined nucleotide (N) and padding. Please see our paper for implementation details.

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

1 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

DeepRaccess

This repository includes the implementation of DeepRaccess, high-speed RNA accessibility prediction on GPU environmentsusing deep learning. Please cite the following paper if you use our code or system output.

Kaisei Hara, Natuki Iwano, Tsukasa Fukunaga and Michiaki Hamada. "DeepRaccess: High-speed RNA accessibility prediction using deep learning." (under submission)

In this package, we provide the source code of the DeepRaccess software, pre-trained models, and modules for training, test and prediction. For instructions on how to use it, please refer to the explanation below, as well as the demo.ipynb file which provides an end-to-end workflow demonstration.

1. Environment setup

We recommend the use of a virtual environment such as Conda or Docker for installation. We have tested compatibility with Python versions 3.6.8 and 3.8.12. Please refer to requirements.txt for the additional modules required by DeepRaccess. Note that, for faster computation of accessibility, at least one NVIDIA GPU is required.

1.1 Installation of the package and the other requirements

(Required)

git clone https://github.com/hmdlab/DeepRaccess.git
cd DeepRaccess
pip install --upgrade pip
pip install -r requirements.txt

2. Training (You can skip this section when you only use the pre-trained DeepRaccess model)

2.1 Data preparation

Please prepare an input sequence file as a fasta file such as sample_data/sequence/***.fa.
In addition, please prepare the accessibility file as a csv file like sample_data/accessibility/***.csv., by using an existing accessibility prediction tool (e.g. Raccess).

2.2 Model training

export SEQ_DIR=sample_data/train/sequence/
export ACC_DIR=sample_data/train/accessibility/
python3 train.py \
--seqdir ${SEQ_DIR} \
--accdir ${ACC_DIR} \
--epoch 10 \
--model FCN \

You can check the software options with python train.py --help.

Successful training produces trained weights (.pth), scatter plots (.png) and logs of the learning (.log) for the model.

3. Test (You can skip this section when you only use the pre-trained DeepRaccess model)

3.1 Preparation of trained weights

You can test the performance of the trained weights of DeepRaccess. Please place the learned weights in the path/ folder. You can use pre-trained weights in the path/ folder.

3.2 Model test

export SEQ_FILE=sample_data/sequence/RF01000.fa
export ACC_FILE=sample_data/accessibility/RF01000.csv
export OUT_FILE=output.csv
python3 test.py \
--seqfile ${SEQ_FILE} \
--accfile ${ACC_FILE} \
--outfile ${OUT_FILE} \
--model FCN \
--pretrain path/FCN_structured.pth \

You can check the software options with python test.py --help. Successful test produces the predicted accessibility (output.csv) and scatter plot (scatter.png).

4. Prediction

4.1 Preparation of trained weights (as in 3.1)

Please place the learned weights in the path/ folder. You can use pre-trained weights in the path/ folder.

4.2 Predicting Accessibility

export SEQ_FILE=sample_data/sequence/RF01000.fa
export OUT_FILE=output.csv
python3 predict.py \
--seqfile ${SEQ_FILE} \
--outfile ${OUT_FILE} \
--model FCN \
--pretrain path/FCN_structured.pth

You can check the software options with python test.py --help.

Successful test produces the predicted accessibility (output.csv).

5. Brief explanation of interpretation

We used the fully convolutional network (FCN) for the network architecture. FCN does not use fully connected layers and is composed only of convolutional layers. We used a network of 40 convolutional layers with constant channel and unit sizes. The input RNA sequences are embedded into numerical vectors and fed into the neural networks. Our embedding first randomly generates six 120-dimensional numerical vectors corresponding to each of the six states: four RNA bases (A, C, G, U), one undetermined nucleotide (N) and padding. Please see our paper for implementation details.

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

1 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

DeepRaccess

This repository includes the implementation of DeepRaccess, high-speed RNA accessibility prediction on GPU environmentsusing deep learning. Please cite the following paper if you use our code or system output.

Kaisei Hara, Natuki Iwano, Tsukasa Fukunaga and Michiaki Hamada. "DeepRaccess: High-speed RNA accessibility prediction using deep learning." (under submission)

In this package, we provide the source code of the DeepRaccess software, pre-trained models, and modules for training, test and prediction. For instructions on how to use it, please refer to the explanation below, as well as the demo.ipynb file which provides an end-to-end workflow demonstration.

1. Environment setup

We recommend the use of a virtual environment such as Conda or Docker for installation. We have tested compatibility with Python versions 3.6.8 and 3.8.12. Please refer to requirements.txt for the additional modules required by DeepRaccess. Note that, for faster computation of accessibility, at least one NVIDIA GPU is required.

1.1 Installation of the package and the other requirements

(Required)

git clone https://github.com/hmdlab/DeepRaccess.git
cd DeepRaccess
pip install --upgrade pip
pip install -r requirements.txt

2. Training (You can skip this section when you only use the pre-trained DeepRaccess model)

2.1 Data preparation

Please prepare an input sequence file as a fasta file such as sample_data/sequence/***.fa.
In addition, please prepare the accessibility file as a csv file like sample_data/accessibility/***.csv., by using an existing accessibility prediction tool (e.g. Raccess).

2.2 Model training

export SEQ_DIR=sample_data/train/sequence/
export ACC_DIR=sample_data/train/accessibility/
python3 train.py \
--seqdir ${SEQ_DIR} \
--accdir ${ACC_DIR} \
--epoch 10 \
--model FCN \

You can check the software options with python train.py --help.

Successful training produces trained weights (.pth), scatter plots (.png) and logs of the learning (.log) for the model.

3. Test (You can skip this section when you only use the pre-trained DeepRaccess model)

3.1 Preparation of trained weights

You can test the performance of the trained weights of DeepRaccess. Please place the learned weights in the path/ folder. You can use pre-trained weights in the path/ folder.

3.2 Model test

export SEQ_FILE=sample_data/sequence/RF01000.fa
export ACC_FILE=sample_data/accessibility/RF01000.csv
export OUT_FILE=output.csv
python3 test.py \
--seqfile ${SEQ_FILE} \
--accfile ${ACC_FILE} \
--outfile ${OUT_FILE} \
--model FCN \
--pretrain path/FCN_structured.pth \

You can check the software options with python test.py --help. Successful test produces the predicted accessibility (output.csv) and scatter plot (scatter.png).

4. Prediction

4.1 Preparation of trained weights (as in 3.1)

Please place the learned weights in the path/ folder. You can use pre-trained weights in the path/ folder.

4.2 Predicting Accessibility

export SEQ_FILE=sample_data/sequence/RF01000.fa
export OUT_FILE=output.csv
python3 predict.py \
--seqfile ${SEQ_FILE} \
--outfile ${OUT_FILE} \
--model FCN \
--pretrain path/FCN_structured.pth

You can check the software options with python test.py --help.

Successful test produces the predicted accessibility (output.csv).

5. Brief explanation of interpretation

We used the fully convolutional network (FCN) for the network architecture. FCN does not use fully connected layers and is composed only of convolutional layers. We used a network of 40 convolutional layers with constant channel and unit sizes. The input RNA sequences are embedded into numerical vectors and fed into the neural networks. Our embedding first randomly generates six 120-dimensional numerical vectors corresponding to each of the six states: four RNA bases (A, C, G, U), one undetermined nucleotide (N) and padding. Please see our paper for implementation details.

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

1 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

DeepRaccess

This repository includes the implementation of DeepRaccess, high-speed RNA accessibility prediction on GPU environmentsusing deep learning. Please cite the following paper if you use our code or system output.

Kaisei Hara, Natuki Iwano, Tsukasa Fukunaga and Michiaki Hamada. "DeepRaccess: High-speed RNA accessibility prediction using deep learning." (under submission)

In this package, we provide the source code of the DeepRaccess software, pre-trained models, and modules for training, test and prediction. For instructions on how to use it, please refer to the explanation below, as well as the demo.ipynb file which provides an end-to-end workflow demonstration.

1. Environment setup

We recommend the use of a virtual environment such as Conda or Docker for installation. We have tested compatibility with Python versions 3.6.8 and 3.8.12. Please refer to requirements.txt for the additional modules required by DeepRaccess. Note that, for faster computation of accessibility, at least one NVIDIA GPU is required.

1.1 Installation of the package and the other requirements

(Required)

git clone https://github.com/hmdlab/DeepRaccess.git
cd DeepRaccess
pip install --upgrade pip
pip install -r requirements.txt

2. Training (You can skip this section when you only use the pre-trained DeepRaccess model)

2.1 Data preparation

Please prepare an input sequence file as a fasta file such as sample_data/sequence/***.fa.
In addition, please prepare the accessibility file as a csv file like sample_data/accessibility/***.csv., by using an existing accessibility prediction tool (e.g. Raccess).

2.2 Model training

export SEQ_DIR=sample_data/train/sequence/
export ACC_DIR=sample_data/train/accessibility/
python3 train.py \
--seqdir ${SEQ_DIR} \
--accdir ${ACC_DIR} \
--epoch 10 \
--model FCN \

You can check the software options with python train.py --help.

Successful training produces trained weights (.pth), scatter plots (.png) and logs of the learning (.log) for the model.

3. Test (You can skip this section when you only use the pre-trained DeepRaccess model)

3.1 Preparation of trained weights

You can test the performance of the trained weights of DeepRaccess. Please place the learned weights in the path/ folder. You can use pre-trained weights in the path/ folder.

3.2 Model test

export SEQ_FILE=sample_data/sequence/RF01000.fa
export ACC_FILE=sample_data/accessibility/RF01000.csv
export OUT_FILE=output.csv
python3 test.py \
--seqfile ${SEQ_FILE} \
--accfile ${ACC_FILE} \
--outfile ${OUT_FILE} \
--model FCN \
--pretrain path/FCN_structured.pth \

You can check the software options with python test.py --help. Successful test produces the predicted accessibility (output.csv) and scatter plot (scatter.png).

4. Prediction

4.1 Preparation of trained weights (as in 3.1)

Please place the learned weights in the path/ folder. You can use pre-trained weights in the path/ folder.

4.2 Predicting Accessibility

export SEQ_FILE=sample_data/sequence/RF01000.fa
export OUT_FILE=output.csv
python3 predict.py \
--seqfile ${SEQ_FILE} \
--outfile ${OUT_FILE} \
--model FCN \
--pretrain path/FCN_structured.pth

You can check the software options with python test.py --help.

Successful test produces the predicted accessibility (output.csv).

5. Brief explanation of interpretation

We used the fully convolutional network (FCN) for the network architecture. FCN does not use fully connected layers and is composed only of convolutional layers. We used a network of 40 convolutional layers with constant channel and unit sizes. The input RNA sequences are embedded into numerical vectors and fed into the neural networks. Our embedding first randomly generates six 120-dimensional numerical vectors corresponding to each of the six states: four RNA bases (A, C, G, U), one undetermined nucleotide (N) and padding. Please see our paper for implementation details.

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

1 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

DeepRaccess

This repository includes the implementation of DeepRaccess, high-speed RNA accessibility prediction on GPU environmentsusing deep learning. Please cite the following paper if you use our code or system output.

Kaisei Hara, Natuki Iwano, Tsukasa Fukunaga and Michiaki Hamada. "DeepRaccess: High-speed RNA accessibility prediction using deep learning." (under submission)

In this package, we provide the source code of the DeepRaccess software, pre-trained models, and modules for training, test and prediction. For instructions on how to use it, please refer to the explanation below, as well as the demo.ipynb file which provides an end-to-end workflow demonstration.

1. Environment setup

We recommend the use of a virtual environment such as Conda or Docker for installation. We have tested compatibility with Python versions 3.6.8 and 3.8.12. Please refer to requirements.txt for the additional modules required by DeepRaccess. Note that, for faster computation of accessibility, at least one NVIDIA GPU is required.

1.1 Installation of the package and the other requirements

(Required)

git clone https://github.com/hmdlab/DeepRaccess.git
cd DeepRaccess
pip install --upgrade pip
pip install -r requirements.txt

2. Training (You can skip this section when you only use the pre-trained DeepRaccess model)

2.1 Data preparation

Please prepare an input sequence file as a fasta file such as sample_data/sequence/***.fa.
In addition, please prepare the accessibility file as a csv file like sample_data/accessibility/***.csv., by using an existing accessibility prediction tool (e.g. Raccess).

2.2 Model training

export SEQ_DIR=sample_data/train/sequence/
export ACC_DIR=sample_data/train/accessibility/
python3 train.py \
--seqdir ${SEQ_DIR} \
--accdir ${ACC_DIR} \
--epoch 10 \
--model FCN \

You can check the software options with python train.py --help.

Successful training produces trained weights (.pth), scatter plots (.png) and logs of the learning (.log) for the model.

3. Test (You can skip this section when you only use the pre-trained DeepRaccess model)

3.1 Preparation of trained weights

You can test the performance of the trained weights of DeepRaccess. Please place the learned weights in the path/ folder. You can use pre-trained weights in the path/ folder.

3.2 Model test

export SEQ_FILE=sample_data/sequence/RF01000.fa
export ACC_FILE=sample_data/accessibility/RF01000.csv
export OUT_FILE=output.csv
python3 test.py \
--seqfile ${SEQ_FILE} \
--accfile ${ACC_FILE} \
--outfile ${OUT_FILE} \
--model FCN \
--pretrain path/FCN_structured.pth \

You can check the software options with python test.py --help. Successful test produces the predicted accessibility (output.csv) and scatter plot (scatter.png).

4. Prediction

4.1 Preparation of trained weights (as in 3.1)

Please place the learned weights in the path/ folder. You can use pre-trained weights in the path/ folder.

4.2 Predicting Accessibility

export SEQ_FILE=sample_data/sequence/RF01000.fa
export OUT_FILE=output.csv
python3 predict.py \
--seqfile ${SEQ_FILE} \
--outfile ${OUT_FILE} \
--model FCN \
--pretrain path/FCN_structured.pth

You can check the software options with python test.py --help.

Successful test produces the predicted accessibility (output.csv).

5. Brief explanation of interpretation

We used the fully convolutional network (FCN) for the network architecture. FCN does not use fully connected layers and is composed only of convolutional layers. We used a network of 40 convolutional layers with constant channel and unit sizes. The input RNA sequences are embedded into numerical vectors and fed into the neural networks. Our embedding first randomly generates six 120-dimensional numerical vectors corresponding to each of the six states: four RNA bases (A, C, G, U), one undetermined nucleotide (N) and padding. Please see our paper for implementation details.

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

1 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

DeepRaccess

This repository includes the implementation of DeepRaccess, high-speed RNA accessibility prediction on GPU environmentsusing deep learning. Please cite the following paper if you use our code or system output.

Kaisei Hara, Natuki Iwano, Tsukasa Fukunaga and Michiaki Hamada. "DeepRaccess: High-speed RNA accessibility prediction using deep learning." (under submission)

In this package, we provide the source code of the DeepRaccess software, pre-trained models, and modules for training, test and prediction. For instructions on how to use it, please refer to the explanation below, as well as the demo.ipynb file which provides an end-to-end workflow demonstration.

1. Environment setup

We recommend the use of a virtual environment such as Conda or Docker for installation. We have tested compatibility with Python versions 3.6.8 and 3.8.12. Please refer to requirements.txt for the additional modules required by DeepRaccess. Note that, for faster computation of accessibility, at least one NVIDIA GPU is required.

1.1 Installation of the package and the other requirements

(Required)

git clone https://github.com/hmdlab/DeepRaccess.git
cd DeepRaccess
pip install --upgrade pip
pip install -r requirements.txt

2. Training (You can skip this section when you only use the pre-trained DeepRaccess model)

2.1 Data preparation

Please prepare an input sequence file as a fasta file such as sample_data/sequence/***.fa.
In addition, please prepare the accessibility file as a csv file like sample_data/accessibility/***.csv., by using an existing accessibility prediction tool (e.g. Raccess).

2.2 Model training

export SEQ_DIR=sample_data/train/sequence/
export ACC_DIR=sample_data/train/accessibility/
python3 train.py \
--seqdir ${SEQ_DIR} \
--accdir ${ACC_DIR} \
--epoch 10 \
--model FCN \

You can check the software options with python train.py --help.

Successful training produces trained weights (.pth), scatter plots (.png) and logs of the learning (.log) for the model.

3. Test (You can skip this section when you only use the pre-trained DeepRaccess model)

3.1 Preparation of trained weights

You can test the performance of the trained weights of DeepRaccess. Please place the learned weights in the path/ folder. You can use pre-trained weights in the path/ folder.

3.2 Model test

export SEQ_FILE=sample_data/sequence/RF01000.fa
export ACC_FILE=sample_data/accessibility/RF01000.csv
export OUT_FILE=output.csv
python3 test.py \
--seqfile ${SEQ_FILE} \
--accfile ${ACC_FILE} \
--outfile ${OUT_FILE} \
--model FCN \
--pretrain path/FCN_structured.pth \

You can check the software options with python test.py --help. Successful test produces the predicted accessibility (output.csv) and scatter plot (scatter.png).

4. Prediction

4.1 Preparation of trained weights (as in 3.1)

Please place the learned weights in the path/ folder. You can use pre-trained weights in the path/ folder.

4.2 Predicting Accessibility

export SEQ_FILE=sample_data/sequence/RF01000.fa
export OUT_FILE=output.csv
python3 predict.py \
--seqfile ${SEQ_FILE} \
--outfile ${OUT_FILE} \
--model FCN \
--pretrain path/FCN_structured.pth

You can check the software options with python test.py --help.

Successful test produces the predicted accessibility (output.csv).

5. Brief explanation of interpretation

We used the fully convolutional network (FCN) for the network architecture. FCN does not use fully connected layers and is composed only of convolutional layers. We used a network of 40 convolutional layers with constant channel and unit sizes. The input RNA sequences are embedded into numerical vectors and fed into the neural networks. Our embedding first randomly generates six 120-dimensional numerical vectors corresponding to each of the six states: four RNA bases (A, C, G, U), one undetermined nucleotide (N) and padding. Please see our paper for implementation details.

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages