Mercurial > repos > tduigou > cloning_simulation
diff 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 |
line wrap: on
line diff
--- a/cloning_simulation.py Wed Jun 11 09:32:59 2025 +0000 +++ b/cloning_simulation.py Wed Jul 23 09:46:59 2025 +0000 @@ -1,5 +1,6 @@ import argparse import os +import json import zipfile import pandas import dnacauldron @@ -143,9 +144,9 @@ help="output of domestication (ganbank list)") parser.add_argument("--assembly_csv", required=True, help="csv assembly") - parser.add_argument('--assembly_plan_name', type=str, + parser.add_argument('--assembly_plan_name', type=str, required=False, help='type of assembly') - parser.add_argument('--topology', type=str, + parser.add_argument('--topology', type=str, required=False, help='"circular" or "linear"') parser.add_argument('--file_name_mapping', type=str, help='Mapping of Galaxy filenames to original filenames') @@ -157,10 +158,14 @@ help="dir output for cloning simulation results") parser.add_argument("--output_simulation", required=True, help="zip output for cloning simulation results") - parser.add_argument('--enzyme', type=str, + parser.add_argument('--enzyme', type=str,required=False, help='enzyme to use') parser.add_argument("--outdir_gb", required=True, help="dir output constructs gb files") + parser.add_argument("--use_json_paramers", required=True, + help="Use parameters from JSON: true/false") + parser.add_argument("--json_conf", required=False, + help="JSON config file with DB parameters") return parser.parse_args() @@ -168,10 +173,28 @@ if __name__ == "__main__": args = parse_command_line_args() + #json param checking + config_params = {} + use_json = args.use_json_paramers == 'true' + if use_json: + if not args.json_conf: + raise ValueError("You must provide --json_conf when --use_json_paramers is 'true'") + with open(args.json_conf, "r") as f: + config_params = json.load(f) + else: + config_params = { + "assembly_plan_name": args.assembly_plan_name, + "topology": args.topology, + "enzyme": args.enzyme + } + assembly_plan_name = config_params["assembly_plan_name"] + topology = config_params["topology"] + enzyme = config_params["enzyme"] + cloning_simulation( args.parts_files, args.domesticated_seq, - args.assembly_csv, args.assembly_plan_name, args.topology, + args.assembly_csv, assembly_plan_name, topology, args.file_name_mapping, args.file_name_mapping_dom, args.use_file_names_as_id, args.outdir_simulation, - args.output_simulation, args.enzyme, args.outdir_gb + args.output_simulation, enzyme, args.outdir_gb )
