1. ST prediction tutorial¶

Load packages¶

In [ ]:
import numpy as np
import pandas as pd
import os
import subprocess
import sys
import pkg_resources
import time
import platform
import psutil
import pickle
from scipy.spatial import cKDTree
In [ ]:
# Function to get system information
import platform
import psutil
import torch

def get_system_info():
    print("\n--- System Information ---")
    print(f"Operating System: {platform.system()} {platform.release()} ({platform.version()})")
    print(f"Processor: {platform.processor()}")
    print(f"CPU Cores: {psutil.cpu_count(logical=False)} (Physical), {psutil.cpu_count(logical=True)} (Logical)")
    print(f"Total RAM: {psutil.virtual_memory().total / (1024**3):.2f} GB")
    gpu = torch.cuda.get_device_name(0) if torch.cuda.is_available() else "CPU only (no CUDA GPU detected)"
    print(f"GPU: {gpu}")
get_system_info()

Define inputs¶

In [ ]:
path2input = f'../output_data/smoothed_preds_tcga.pkl'
gene='ERBB2'
In [ ]:
command = f"python ../scripts/3.SPAND/SPAND.py {path2input} {gene}"
print(command)
In [ ]:
# Measure execution time
start_time = time.time()

try:
    result = subprocess.run(command, shell=True, check=True, capture_output=True, text=True, cwd=os.getcwd())
    print("Command Output:\n", result.stdout)
except subprocess.CalledProcessError as e:
    print("Error occurred:\n", e.stderr)

# Calculate elapsed time
end_time = time.time()
elapsed_time = end_time - start_time
print(f"Execution Time: {elapsed_time:.2f} seconds")
In [ ]: