Skip to content

Commit

Permalink
Update pseudo_pool.smk
Browse files Browse the repository at this point in the history
  • Loading branch information
geparada authored Nov 19, 2020
1 parent 3056522 commit e79a7e5
Showing 1 changed file with 25 additions and 6 deletions.
31 changes: 25 additions & 6 deletions rules/pseudo_pool.smk
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,40 @@ def partition (list_in, n): # Function to do random pooling
return [list_in[i::n] for i in range(n)]

#n_sb = 5
n_cells = 15
if "n_pseudo_bulks" in config:
n_cells = int(config["n_pseudo_bulks"])
else:
n_cells = 15

cluster_files_pb = dict()
sb_IDs = set()

for cluster, files in cluster_files.items():
sb = 1
n_sb = round(len(files)/n_cells)
print(cluster, len(files), n_sb)

if n_sb<3:
n_sb=3

for pool in partition(files, n_sb):
cluster_files_pb[(cluster, sb)] = pool
sb_IDs.add(cluster + "_" + str(sb))
sb_IDs.add(cluster + "_" + str(sb))
sb += 1


rule get_pseudo_bulk_membership:
output:
table = "Whippet/Quant/Single_Cell/Pseudo_bulks/pseudo_bulk_membership.tsv"
run:
with open(output.table, "w") as out:
writer = csv.writer(out, delimiter='\t')
writer.writerow(["pseudo_bulk_ID", "samples"])

for key in cluster_files_pb:
cluster, sb = key
sb_ID = cluster + "_" + str(sb)
samples = ",".join(cluster_files_pb[key])
writer.writerow([sb_ID, samples])


def get_files_by_cluster_pb(cluster, pool_ID):
ext = ".fastq.gz"
path="FASTQ/"
Expand Down Expand Up @@ -60,7 +78,8 @@ rule collapse_pseudo_pools:
input:
gene = "Whippet/Quant/Single_Cell/Pseudo_bulks/pseudo_bulks.gene.tpm.tsv",
isoform = "Whippet/Quant/Single_Cell/Pseudo_bulks/pseudo_bulks.isoform.tpm.tsv",
psi = "Whippet/Quant/Single_Cell/Pseudo_bulks/pseudo_bulks.psi.tsv"
psi = "Whippet/Quant/Single_Cell/Pseudo_bulks/pseudo_bulks.psi.tsv",
table = "Whippet/Quant/Single_Cell/Pseudo_bulks/pseudo_bulk_membership.tsv"


rule merge_quant_gene_sp:
Expand Down

0 comments on commit e79a7e5

Please sign in to comment.