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}")