Skip to content

Commit

Permalink
scglue ns added
Browse files Browse the repository at this point in the history
  • Loading branch information
janursa committed Aug 12, 2024
1 parent 946543d commit f794370
Show file tree
Hide file tree
Showing 8 changed files with 137 additions and 46 deletions.
90 changes: 55 additions & 35 deletions notebooks/process_results.ipynb

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion scripts/run_grn_evaluation_tw.sh
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ done
grn_name="negative_control"
cat >> $param_file << HERE
- id: ${layer}_${grn_name}
perturbation_data: ${perturbation_data}
perturbation_data: ${resources_dir}/grn-benchmark/perturbation_data.h5ad
layer: ${layer}
reg_type: $reg_type
method_id: $grn_name
Expand Down
File renamed without changes.
11 changes: 2 additions & 9 deletions src/methods/multi_omics/scglue/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -245,8 +245,6 @@ def cis_inference(par):
print("pyscenic ctx failed with return code", result.returncode)

def main(par):


os.makedirs(par['temp_dir'], exist_ok=True)
print('Reading input files', flush=True)
rna = ad.read_h5ad(par['multiomics_rna'])
Expand All @@ -258,15 +256,15 @@ def main(par):
training(par)
cis_inference(par)
print('Curate predictions', flush=True)
df = pd.read_csv(
pruned_grn = pd.read_csv(
f"{par['temp_dir']}/pruned_grn.csv", header=None, skiprows=3,
usecols=[0, 8], names=["TF", "targets"]
)

tfs_list = []
target_list = []
weight_list = []
for i, (tf, targets) in df.iterrows():
for i, (tf, targets) in pruned_grn.iterrows():
for target, weight in literal_eval(targets):
tfs_list.append(tf)
target_list.append(target)
Expand All @@ -275,10 +273,5 @@ def main(par):
scglue_grn.weight = scglue_grn.weight.astype(float)
scglue_grn = scglue_grn.drop_duplicates().reset_index(drop=True)


# scglue_grn = pd.DataFrame(
# data = {'source':['tf1'], 'target':['g1'], 'weight':[1]}
# )

return scglue_grn

29 changes: 29 additions & 0 deletions src/methods/multi_omics/scglue_ns/config.vsh.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@

__merge__: ../../../api/comp_method.yaml

functionality:
name: grn_inference_scglue
namespace: "workflows"
info:
label: grn_inference_scglue
summary: "Infers GRNs from multiomics data using scglue."
arguments:
- name: --annotation_file
type: file
required: true
direction: input
- name: --motif_file
type: file
required: true
direction: input
resources:
- type: nextflow_script
path: main.nf
entrypoint: run_wf
dependencies:
- name: grn_methods/scglue

platforms:
- type: nextflow
directives:
label: [ midtime, midmem, lowcpu ]
23 changes: 23 additions & 0 deletions src/methods/multi_omics/scglue_ns/main.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
workflow run_wf {
take:
input_ch

main:
output_ch = input_ch

| scglue.run(
fromState: [multiomics_rna: "multiomics_rna",
multiomics_atac: "multiomics_atac",
temp_dir: "temp_dir",
num_workers: "num_workers",
annotation_file: "annotation_file",
motif_file: "motif_file"
],
toState: [prediction:"prediction"]
)

| setState(["prediction"])

emit:
output_ch
}
26 changes: 26 additions & 0 deletions src/methods/multi_omics/scglue_ns/run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/bin/bash

# RUN_ID="run_$(date +%Y-%m-%d_%H-%M-%S)"
submit=false
read_results=true

RUN_ID="scglue"
resources_dir="s3://openproblems-data/resources/grn/"
publish_dir="s3://openproblems-data/resources/grn/results/${RUN_ID}"

num_workers=20

param_file="./params/${RUN_ID}.yaml"

cat > $param_file << HERE
param_list:
- id: ${RUN_ID}
multiomics_rna: ${resources_dir}/grn-benchmark/multiomics_rna.h5ad
multiomics_atac: ${resources_dir}/grn-benchmark/multiomics_atac.h5ad
annotation_file: ${resources_dir}/supplements/gencode.v45.annotation.gtf.gz
motif_file: ${resources_dir}/supplements/JASPAR2022-hg38.bed.gz
num_workers: $num_workers
temp_dir: ./tmp/grn
output_state: "state.yaml"
publish_dir: "$publish_dir"
HERE
2 changes: 1 addition & 1 deletion src/metrics/regression_2/config.vsh.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ __merge__: ../../api/comp_metric.yaml
functionality:
name: regression_2
info:
label: Regression 2
label: regression_2
summary: Calculates R2 score for regression 2
description: |
Calculates R2 score using regression approach 2.
Expand Down

0 comments on commit f794370

Please sign in to comment.