Mercurial > repos > tduigou > cloning_simulation
diff cloning_simulation.py @ 2:3171db614963 draft
planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/tree/master commit 6ae809b563b40bcdb6be2e74fe2a84ddad5484ae
author | tduigou |
---|---|
date | Fri, 16 May 2025 11:32:06 +0000 |
parents | dc450979fcd4 |
children | 044d36066cb3 |
line wrap: on
line diff
--- a/cloning_simulation.py Fri May 16 09:41:19 2025 +0000 +++ b/cloning_simulation.py Fri May 16 11:32:06 2025 +0000 @@ -9,7 +9,7 @@ csv_file, assembly_type, topology, file_name_mapping, file_name_mapping_dom, use_file_names_as_id, - outdir_simulation, output_simulation,enzyme): + outdir_simulation, output_simulation,enzyme,outdir_gb): files_to_assembly = files_to_assembly.split(',') @@ -108,11 +108,26 @@ full_path = os.path.join(root, file) arcname = os.path.relpath(full_path, outdir_simulation) zipf.write(full_path, arcname) - print("Files in the zip archive:") - for info in zipf.infolist(): - print(info.filename) + #print("Files in the zip archive:") + #for info in zipf.infolist(): + #print(info.filename) + with zipfile.ZipFile(output_simulation, 'r') as zipf: + for member in zipf.namelist(): + # Only extract actual files inside 'all_construct_records/' (not subfolders) + if member.startswith("all_construct_records/") and not member.endswith("/"): + # Get the file name only (strip folder path) + filename = os.path.basename(member) + if not filename: + continue # skip any edge cases - return output_simulation + # Destination path directly in outdir_dir + target_path = os.path.join(outdir_gb, filename) + + # Write the file content + with zipf.open(member) as source, open(target_path, "wb") as target: + target.write(source.read()) + + return output_simulation, outdir_gb def parse_command_line_args(): @@ -140,6 +155,8 @@ help="zip output for cloning simulation results") parser.add_argument('--enzyme', type=str, help='enzyme to use') + parser.add_argument("--outdir_gb", required=True, + help="dir output constructs gb files") return parser.parse_args() @@ -150,6 +167,6 @@ args.parts_files, args.domesticated_seq, args.assembly_csv, args.assembly_plan_name, args.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.use_file_names_as_id, args.outdir_simulation, + args.output_simulation, args.enzyme, args.outdir_gb ) \ No newline at end of file