Skip to main content

Rlooper with R-loop Peak Simulation - Python Implementation

Project description

rlooper_sim_python v1.0.5

PyPI version Python 3.7+ License: MIT

Rlooper with R-loop Peak Simulation - Python Implementation

Installation

Option 1: Install from PyPI (Recommended)

# Install the package
pip install rlooper-sim-python

# Run single simulation
rlooper-sim example.fasta

# Initialize and run workflow
rlooper-workflow --init-project my_project
cd my_project
rlooper-workflow all

Option 2: Install from Source

# Clone repository
git clone https://github.com/srhartono/rlooper_sim_python.git
cd rlooper_sim_python

# Install in development mode
pip install -e .

# Or install for production
pip install .

Quick Start

After installation, you can use rlooper in two ways:

1. Single File Simulation

# Run simulation on a single FASTA file
rlooper-sim my_sequence.fasta

# Copy example files to current directory
rlooper-sim --copy-examples .
rlooper-sim example.fasta

2. Snakemake Workflow (Multiple Files)

# Initialize a new project
rlooper-workflow --init-project my_rlooper_project
cd my_rlooper_project

# Run the complete workflow
rlooper-workflow all

# Generate DAG visualization
rlooper-workflow dag

# Generate summary report
rlooper-workflow summary

Synopsis

Original Usage (standalone)

python main.py example.fasta

Snakemake Workflow Usage (recommended)

This project now includes a Snakemake workflow that automates the execution of rlooper simulations on multiple FASTA files.

Prerequisites

  • Python 3.7 or higher

Setup (One-time)

Choose one of the following setup methods:

Method 1: Automatic setup (recommended)

python setup_venv.py

Method 2: Manual setup

# Create virtual environment
python -m venv .venv

# Activate virtual environment
# On Windows:
.venv\Scripts\activate
# On Unix/macOS:
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

Method 3: Platform-specific scripts

  • Windows: setup_venv.bat
  • Unix/Linux: bash setup_venv.sh

Quick Start

  1. Setup (first time only): python setup_venv.py
  2. Configure your input files in config.yaml
  3. Run the workflow:
python run_workflow.py all

Alternative methods:

  • Direct Snakemake: snakemake --cores 1 (if activated manually)
  • With venv activation:
    # Windows
    .venv\Scripts\activate
    python run_workflow.py all
    
    # Unix/macOS  
    source .venv/bin/activate
    python run_workflow.py all
    

Adding New Samples

  1. Place your FASTA files in the input/ folder
  2. Add entries to config.yaml:
    samples:
      my_sample: "my_sample.fasta"    # References input/my_sample.fasta
    
  3. Run the workflow: python run_workflow.py all

Project Structure

rlooper_sim_python/
├── input/                    # FASTA input files
│   ├── example.fasta
│   └── example_short.fasta
├── bin/                      # Python source code and energy data
│   ├── main.py
│   ├── simulation.py
│   ├── model.py
│   ├── gene.py
│   ├── structure.py
│   └── energy.csv
├── results/                  # Output directory (created by workflow)
├── config.yaml              # Workflow configuration
├── Snakefile                # Workflow definition
└── run_workflow.py          # Convenience wrapper script

Configuration

Edit config.yaml to specify your FASTA files (relative to the input/ folder):

samples:
  sample1: "sample1.fasta"
  sample2: "sample2.fasta" 
  example: "example.fasta"
  example_short: "example_short.fasta"

Available Commands

Using wrapper script:

  • python run_workflow.py all - Run all simulations
  • python run_workflow.py summary - Generate summary report
  • python run_workflow.py clean - Remove all output files
  • python run_workflow.py dry-run - Show what would be executed
  • python run_workflow.py dag - Generate workflow DAG visualization

Direct Snakemake commands:

  • snakemake --cores 1 - Run all simulations
  • snakemake create_summary --cores 1 - Generate summary report
  • snakemake clean - Remove all output files

Output Structure

results/
├── <sample_name>/
│   ├── rlooper_output.csv    # Main simulation results
│   ├── rlooper_peaks.csv     # Identified peaks
│   └── energy.csv            # Copy of energy parameters
└── summary_report.txt        # Summary of all samples

DAG Visualization (Optional)

To generate workflow diagrams as PDFs, you need to install Graphviz:

Windows:

# Option 1: Using Chocolatey
choco install graphviz

# Option 2: Using winget
winget install graphviz

# Option 3: Manual download from https://graphviz.org/download/

macOS:

brew install graphviz

Ubuntu/Debian:

sudo apt-get install graphviz

After installing Graphviz:

python run_workflow.py dag  # Creates dag.dot and dag.pdf

Without Graphviz installed:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rlooper_sim_python-1.0.9.tar.gz (24.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rlooper_sim_python-1.0.9-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

Details for the file rlooper_sim_python-1.0.9.tar.gz.

File metadata

  • Download URL: rlooper_sim_python-1.0.9.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for rlooper_sim_python-1.0.9.tar.gz
Algorithm Hash digest
SHA256 dd57420c45b9636940b9c241dae1f2cd13dc56ffbf6451679d3fbf637ed784bc
MD5 7dcabc8c8bb33dd6591d64ec6b78c397
BLAKE2b-256 c0fc9ff0875bedb1f1219b976629e6cfe4e16111e87ef9e22aa4fcc71870bc17

See more details on using hashes here.

File details

Details for the file rlooper_sim_python-1.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for rlooper_sim_python-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 723d726ca5ef2a40223f215ec63498c6d5c97b6a25d888e334f0a0585eb40b75
MD5 6676d521071429b44f5400eab6a0c75a
BLAKE2b-256 1904837fea773f31c6785ffa3d5ff18653acf967f7e0af77f140c36fd0ed527e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page