Mercurial > repos > tduigou > cloning_simulation
annotate cloning_simulation.py @ 1:2655e08cd61a draft default tip
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
| author | tduigou |
|---|---|
| date | Wed, 23 Jul 2025 09:46:59 +0000 |
| parents | 3a3b0f7cb5c2 |
| children |
| rev | line source |
|---|---|
|
0
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
1 import argparse |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
2 import os |
|
1
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
3 import json |
|
0
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
4 import zipfile |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
5 import pandas |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
6 import dnacauldron |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
7 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
8 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
9 def cloning_simulation(files_to_assembly, domesticated_list, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
10 csv_file, assembly_type, topology, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
11 file_name_mapping, file_name_mapping_dom, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
12 use_file_names_as_id, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
13 outdir_simulation, output_simulation, enzyme, outdir_gb): |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
14 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
15 files_to_assembly = files_to_assembly.split(',') |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
16 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
17 repository = dnacauldron.SequenceRepository() |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
18 repository.import_records(files=files_to_assembly, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
19 use_file_names_as_ids=use_file_names_as_id, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
20 topology=topology) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
21 if domesticated_list: |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
22 domesticated_files = domesticated_list.split(',') |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
23 repository.import_records(files=domesticated_files, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
24 use_file_names_as_ids=use_file_names_as_id, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
25 topology=topology) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
26 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
27 # refine the real record name dict |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
28 if isinstance(file_name_mapping, str): |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
29 file_name_mapping = dict( |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
30 item.split(":") for item in file_name_mapping.split(",") |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
31 ) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
32 real_names = { |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
33 os.path.splitext(os.path.basename(k))[0]: v.replace(".gb", "") |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
34 for k, v in file_name_mapping.items() |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
35 } |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
36 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
37 # refine the real record name dict_dom |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
38 if file_name_mapping_dom == "": |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
39 file_name_mapping_dom = {} |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
40 else: |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
41 if isinstance(file_name_mapping_dom, str): |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
42 file_name_mapping_dom = dict( |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
43 item.split(":") for item in file_name_mapping_dom.split(",") |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
44 ) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
45 dom_real_names = { |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
46 os.path.splitext(os.path.basename(k))[0]: v.replace(".gb", "") |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
47 for k, v in file_name_mapping_dom.items() |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
48 } |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
49 real_names.update(dom_real_names) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
50 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
51 # update the records |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
52 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
53 for key, record in list(repository.collections["parts"].items()): |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
54 current_id = record.id |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
55 if current_id in real_names: |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
56 new_id = real_names[current_id] |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
57 record.id = new_id |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
58 record.name = new_id |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
59 record.description = new_id |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
60 repository.collections["parts"][new_id] = repository.collections["parts"].pop(key) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
61 ######################################################## |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
62 # print (f"repo: {vars(repository)}") |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
63 # any(pandas.read_csv(csv_file, index_col=0, header=None).duplicated()) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
64 df = pandas.read_csv(csv_file, index_col=0, header=None) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
65 if df.duplicated().any(): |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
66 raise ValueError("Duplicate rows found in the data!") |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
67 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
68 if assembly_type == "Type2sRestrictionAssembly": |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
69 assembly_class = dnacauldron.Type2sRestrictionAssembly |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
70 elif assembly_type == "GibsonAssembly": |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
71 assembly_class = dnacauldron.GibsonAssembly |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
72 elif assembly_type == "BASICAssembly": |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
73 assembly_class = dnacauldron.BASICAssembly |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
74 elif assembly_type == "BioBrickStandardAssembly": |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
75 assembly_class = dnacauldron.BioBrickStandardAssembly |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
76 elif assembly_type == "OligoPairAnnealin": |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
77 assembly_class = dnacauldron.OligoPairAnnealin |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
78 elif assembly_type == "LigaseCyclingReactionAssembly": |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
79 assembly_class = dnacauldron.LigaseCyclingReactionAssembly |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
80 else: |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
81 raise ValueError(f"Unsupported assembly type: {assembly_type}") |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
82 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
83 new_csvname = "assambly.csv" |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
84 os.rename(csv_file, new_csvname) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
85 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
86 assembly_plan = dnacauldron.AssemblyPlan.from_spreadsheet( |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
87 name="auto_from_filename", |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
88 path=new_csvname, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
89 dataframe=None, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
90 header=None, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
91 assembly_class=assembly_class |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
92 ) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
93 if enzyme != 'auto': |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
94 for assembly in assembly_plan.assemblies: |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
95 assembly.enzyme = enzyme |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
96 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
97 simulation = assembly_plan.simulate(sequence_repository=repository) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
98 stats = simulation.compute_stats() |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
99 print(stats) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
100 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
101 report_writer = dnacauldron.AssemblyReportWriter( |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
102 include_mix_graphs=True, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
103 include_assembly_plots=True, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
104 show_overhangs_in_graph=True, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
105 annotate_parts_homologies=True, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
106 include_pdf_report=True, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
107 ) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
108 simulation.write_report(outdir_simulation, assembly_report_writer=report_writer) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
109 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
110 # Append report files to .dat (ZIP) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
111 with zipfile.ZipFile(output_simulation, mode='a', compression=zipfile.ZIP_DEFLATED) as zipf: |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
112 for root, dirs, files in os.walk(outdir_simulation): |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
113 for file in files: |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
114 full_path = os.path.join(root, file) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
115 arcname = os.path.relpath(full_path, outdir_simulation) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
116 zipf.write(full_path, arcname) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
117 # print("Files in the zip archive:") |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
118 # for info in zipf.infolist(): |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
119 # print(info.filename) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
120 for member in zipf.namelist(): |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
121 # Only extract actual files inside 'all_construct_records/' (not subfolders) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
122 if member.startswith("assambly_simulation/all_construct_records/") and not member.endswith("/"): |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
123 # Get the file name only (strip folder path) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
124 filename = os.path.basename(member) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
125 if not filename: |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
126 continue # skip any edge cases |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
127 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
128 # Destination path directly in outdir_dir |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
129 target_path = os.path.join(outdir_gb, filename) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
130 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
131 # Write the file content |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
132 with zipf.open(member) as source, open(target_path, "wb") as target: |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
133 target.write(source.read()) |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
134 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
135 return output_simulation, outdir_gb |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
136 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
137 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
138 def parse_command_line_args(): |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
139 parser = argparse.ArgumentParser(description="Domestication") |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
140 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
141 parser.add_argument("--parts_files", required=True, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
142 help="List of GenBank files (Comma-separated)") |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
143 parser.add_argument("--domesticated_seq", required=True, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
144 help="output of domestication (ganbank list)") |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
145 parser.add_argument("--assembly_csv", required=True, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
146 help="csv assembly") |
|
1
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
147 parser.add_argument('--assembly_plan_name', type=str, required=False, |
|
0
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
148 help='type of assembly') |
|
1
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
149 parser.add_argument('--topology', type=str, required=False, |
|
0
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
150 help='"circular" or "linear"') |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
151 parser.add_argument('--file_name_mapping', type=str, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
152 help='Mapping of Galaxy filenames to original filenames') |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
153 parser.add_argument('--file_name_mapping_dom', type=str, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
154 help='Mapping of Galaxy filenames to original domestication filenames') |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
155 parser.add_argument("--use_file_names_as_id", type=lambda x: x.lower() == 'true', default=True, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
156 help="Use file names as IDs (True/False)") |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
157 parser.add_argument("--outdir_simulation", required=True, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
158 help="dir output for cloning simulation results") |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
159 parser.add_argument("--output_simulation", required=True, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
160 help="zip output for cloning simulation results") |
|
1
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
161 parser.add_argument('--enzyme', type=str,required=False, |
|
0
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
162 help='enzyme to use') |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
163 parser.add_argument("--outdir_gb", required=True, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
164 help="dir output constructs gb files") |
|
1
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
165 parser.add_argument("--use_json_paramers", required=True, |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
166 help="Use parameters from JSON: true/false") |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
167 parser.add_argument("--json_conf", required=False, |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
168 help="JSON config file with DB parameters") |
|
0
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
169 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
170 return parser.parse_args() |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
171 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
172 |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
173 if __name__ == "__main__": |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
174 args = parse_command_line_args() |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
175 |
|
1
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
176 #json param checking |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
177 config_params = {} |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
178 use_json = args.use_json_paramers == 'true' |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
179 if use_json: |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
180 if not args.json_conf: |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
181 raise ValueError("You must provide --json_conf when --use_json_paramers is 'true'") |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
182 with open(args.json_conf, "r") as f: |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
183 config_params = json.load(f) |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
184 else: |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
185 config_params = { |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
186 "assembly_plan_name": args.assembly_plan_name, |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
187 "topology": args.topology, |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
188 "enzyme": args.enzyme |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
189 } |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
190 assembly_plan_name = config_params["assembly_plan_name"] |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
191 topology = config_params["topology"] |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
192 enzyme = config_params["enzyme"] |
|
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
193 |
|
0
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
194 cloning_simulation( |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
195 args.parts_files, args.domesticated_seq, |
|
1
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
196 args.assembly_csv, assembly_plan_name, topology, |
|
0
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
197 args.file_name_mapping, args.file_name_mapping_dom, |
|
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
198 args.use_file_names_as_id, args.outdir_simulation, |
|
1
2655e08cd61a
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit db4ac861e1d03fcdfe94321d858839124e493930-dirty
tduigou
parents:
0
diff
changeset
|
199 args.output_simulation, enzyme, args.outdir_gb |
|
0
3a3b0f7cb5c2
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 3401816c949b538bd9c67e61cbe92badff6a4007-dirty
tduigou
parents:
diff
changeset
|
200 ) |
