diff --git a/nextflow.config b/nextflow.config index 5cd7741..4083dc2 100644 --- a/nextflow.config +++ b/nextflow.config @@ -45,24 +45,33 @@ params { config_profile_url = null config_profile_name = null } +// Execution reporting +timeline { + enabled = true + file = "${params.outdir}/pipeline_info/execution_timeline_${new java.util.Date().format('yyyy-MM-dd_HH-mm-ss')}.html" +} -// Load nf-core custom profiles from different Institutions -try { - includeConfig "${params.custom_config_base}/nfcore_custom.config" -} catch (Exception e) { - System.err.println("WARNING: Could not load nf-core/config profiles: ${params.custom_config_base}/nfcore_custom.config") +report { + enabled = true + file = "${params.outdir}/pipeline_info/execution_report_${new java.util.Date().format('yyyy-MM-dd_HH-mm-ss')}.html" } +trace { + enabled = true + file = "${params.outdir}/pipeline_info/execution_trace_${new java.util.Date().format('yyyy-MM-dd_HH-mm-ss')}.txt" +} + +dag { + enabled = true + file = "${params.outdir}/pipeline_info/pipeline_dag_${new java.util.Date().format('yyyy-MM-dd_HH-mm-ss')}.html" +} +// Load nf-core custom profiles from different Institutions +includeConfig "${params.custom_config_base}/nfcore_custom.config" + // Load base.config by default includeConfig 'conf/base.config' -// Load nf-core institutional configs (like your colleague) -try { - includeConfig "${params.custom_config_base}/nfcore_custom.config" -} catch (Exception e) { - System.err.println("WARNING: Could not load nf-core/config profiles: ${params.custom_config_base}/nfcore_custom.config") -} // Global process configuration for tdbsumstat process { @@ -145,28 +154,7 @@ profiles { test_recompute_meta { includeConfig 'conf/test.config' } } -// Execution reporting -def trace_timestamp = new java.util.Date().format('yyyy-MM-dd_HH-mm-ss') - -timeline { - enabled = true - file = "${params.outdir}/pipeline_info/execution_timeline_${trace_timestamp}.html" -} - -report { - enabled = true - file = "${params.outdir}/pipeline_info/execution_report_${trace_timestamp}.html" -} - -trace { - enabled = true - file = "${params.outdir}/pipeline_info/execution_trace_${trace_timestamp}.txt" -} -dag { - enabled = true - file = "${params.outdir}/pipeline_info/pipeline_dag_${trace_timestamp}.html" -} manifest { name = 'TileDB-Sumstat' diff --git a/tdbsumstat/cli/export.py b/tdbsumstat/cli/export.py index 4811834..fcb5487 100755 --- a/tdbsumstat/cli/export.py +++ b/tdbsumstat/cli/export.py @@ -249,7 +249,10 @@ def query_spec(uri_path, chrom:int, trait: str = None, cell: str = None, gene: s return_dtype=pl.Float64 ).alias("ACAT_LIST"), pl.col("N").first().alias("N"), - pl.min("P").alias("MIN_P") + pl.min("P").alias("MIN_P"), + pl.min("P").alias("MIN_BETA"), + pl.col("SNP").sort_by("P").first().alias("MIN_P_SNP"), + pl.col("BETA").sort_by("P").first().alias("MIN_P_BETA") ]) chr_gene_agg = chr_gene_agg.with_columns( pl.col("ACAT_LIST").list.first().alias("ACAT"), @@ -267,7 +270,7 @@ def query_spec(uri_path, chrom:int, trait: str = None, cell: str = None, gene: s attrs=attr.split(",") ).df[:, trait_list_np , :] else: - trait_list_pd[['cell','gene']] = trait_list_pd['TRAIT'].str.split(':', expand = True) + trait_list_pd[['cell','gene']] = trait_list_pd['TRAIT'].str.split('~', expand = True) cells = trait_list_pd['cell'].to_list() gene = trait_list_pd['gene'].to_list() tiledb_iterator = A.query( @@ -275,6 +278,7 @@ def query_spec(uri_path, chrom:int, trait: str = None, cell: str = None, gene: s attrs=attr.split(",") ).df[:, cells, gene , :] + for chunk in tiledb_iterator: chunk.to_csv(f"{out}_{batch_name}.csv", mode="a", index=False, header = False) print(f"Saved filtered summary statistics in {out}")