BioSkills bio-epitranscriptomics-m6anet-analysis
Detect m6A modifications from Oxford Nanopore direct RNA sequencing using m6Anet. Use when analyzing epitranscriptomic modifications from long-read RNA data without immunoprecipitation.
git clone https://github.com/GPTomics/bioSkills
T=$(mktemp -d) && git clone --depth=1 https://github.com/GPTomics/bioSkills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/epitranscriptomics/m6anet-analysis" ~/.claude/skills/gptomics-bioskills-bio-epitranscriptomics-m6anet-analysis && rm -rf "$T"
epitranscriptomics/m6anet-analysis/SKILL.mdVersion Compatibility
Reference examples tested with: minimap2 2.26+, pandas 2.2+
Before using code patterns, verify installed versions match. If versions differ:
- Python:
thenpip show <package>
to check signatureshelp(module.function) - CLI:
then<tool> --version
to confirm flags<tool> --help
If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
m6Anet Analysis
"Detect m6A from my Nanopore direct RNA data" → Identify m6A modifications directly from Oxford Nanopore signal-level data without immunoprecipitation using a neural network classifier.
- CLI:
→m6anet dataprep
on Nanopolish eventalign outputm6anet inference
Documentation: https://m6anet.readthedocs.io/
Data Preparation
# Basecall with Guppy (requires FAST5 files) guppy_basecaller \ -i fast5_dir \ -s basecalled \ --flowcell FLO-MIN106 \ --kit SQK-RNA002 # Align to transcriptome minimap2 -ax map-ont -uf transcriptome.fa reads.fastq > aligned.sam
Run m6Anet
from m6anet.utils import preprocess from m6anet import run_inference # Preprocess: extract features from FAST5 preprocess.run( fast5_dir='fast5_pass', out_dir='m6anet_data', reference='transcriptome.fa', n_processes=8 ) # Run m6A inference run_inference.run( input_dir='m6anet_data', out_dir='m6anet_results', n_processes=4 )
CLI Workflow
Goal: Run the complete m6Anet pipeline from FAST5 signal data to per-site m6A modification probabilities.
Approach: First extract features from FAST5 files with dataprep (signal-to-feature extraction), then run neural network inference to classify each DRACH motif site as modified or unmodified.
# Preprocess m6anet dataprep \ --input_dir fast5_pass \ --output_dir m6anet_data \ --reference transcriptome.fa \ --n_processes 8 # Inference m6anet inference \ --input_dir m6anet_data \ --output_dir m6anet_results \ --n_processes 4
Interpret Results
import pandas as pd results = pd.read_csv('m6anet_results/data.site_proba.csv') # Filter high-confidence m6A sites # probability > 0.9: High confidence threshold m6a_sites = results[results['probability_modified'] > 0.9]
Related Skills
- long-read-sequencing - ONT data processing
- m6a-peak-calling - MeRIP-seq alternative
- modification-visualization - Plot m6A sites