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.8.tar.gz (25.0 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.8-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rlooper_sim_python-1.0.8.tar.gz
  • Upload date:
  • Size: 25.0 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.8.tar.gz
Algorithm Hash digest
SHA256 126d9a6b21edc810c8ff23e0bcfc40123f5e4c616d5e3f875913379d9a7f6129
MD5 e0d81baa4e97039289c4f3709338c5e2
BLAKE2b-256 f1e2192dd6e6e23f41c6e4748b72152c511a15ef0a4ce24a5f98f5a50b4f7415

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rlooper_sim_python-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 9192893972a86c7cd0eb53abe4c03f7dac526d6d1a35b8a9a3780e6c5071da6b
MD5 0a8eac63600318839fb9a98c707655e7
BLAKE2b-256 722bd4192f4411b7cfbf24448436cd16e6a42b0628f02af730881bb63dc0d30d

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