if not os.path.isdir(os.path.join(outputdir, 'annotate_misc')): os.makedirs(os.path.join(outputdir, 'annotate_misc')) if not os.path.isdir(os.path.join(outputdir, 'annotate_results')): os.makedirs(os.path.join(outputdir, 'annotate_results')) if not os.path.isdir(os.path.join(outputdir, 'logfiles')): os.makedirs(os.path.join(outputdir, 'logfiles')) genbank = args.genbank Scaffolds = os.path.join(outputdir, 'annotate_misc', 'genome.scaffolds.fasta') Proteins = os.path.join(outputdir, 'annotate_misc', 'genome.proteins.fasta') Transcripts = os.path.join(outputdir, 'annotate_misc', 'genome.transcripts.fasta') GFF = os.path.join(outputdir, 'annotate_misc', 'genome.gff3') lib.log.info("Checking GenBank file for annotation") if not lib.checkGenBank(genbank): lib.log.error("Found no annotation in GenBank file, exiting") sys.exit(1) lib.gb2allout(genbank, GFF, Proteins, Transcripts, Scaffolds) else: #should be a folder, with funannotate files, thus store results there, no need to create output folder if not os.path.isdir(args.input): lib.log.error("%s directory does not exist" % args.input) sys.exit(1) if os.path.isdir(os.path.join( args.input, 'update_results')): #funannotate results should be here inputdir = os.path.join(args.input, 'update_results') outputdir = args.input elif os.path.isdir(os.path.join(args.input, 'predict_results')):
os.makedirs(outputdir) os.makedirs(os.path.join(outputdir, 'annotate_misc')) os.makedirs(os.path.join(outputdir, 'annotate_results')) else: lib.log.error("Output directory %s already exists, will use any existing data. If this is not what you want, exit, and provide a unique name for output folder" % (outputdir)) if not os.path.isdir(os.path.join(outputdir, 'annotate_misc')): os.makedirs(os.path.join(outputdir, 'annotate_misc')) if not os.path.isdir(os.path.join(outputdir, 'annotate_results')): os.makedirs(os.path.join(outputdir, 'annotate_results')) genbank = args.genbank Scaffolds = os.path.join(outputdir, 'annotate_misc', 'genome.scaffolds.fasta') Proteins = os.path.join(outputdir, 'annotate_misc', 'genome.proteins.fasta') Transcripts = os.path.join(outputdir, 'annotate_misc', 'genome.transcripts.fasta') GFF = os.path.join(outputdir, 'annotate_misc', 'genome.gff3') lib.log.info("Checking GenBank file for annotation") if not lib.checkGenBank(genbank): lib.log.error("Found no annotation in GenBank file, exiting") os._exit(1) lib.gb2allout(genbank, GFF, Proteins, Transcripts, Scaffolds) else: #should be a folder, with funannotate files, thus store results there, no need to create output folder if not os.path.isdir(args.input): lib.log.error("%i directory does not exist" % args.input) os._exit(1) if os.path.isdir(os.path.join(args.input, 'predict_results')): #funannotate results should be here inputdir = os.path.join(args.input, 'predict_results') outputdir = args.input else: inputdir = os.path.join(args.input) #here user specified the predict_results folder, or it is all together wrong, find out in next few lines #get files that you need