@@ -452,13 +452,22 @@ def _load_training_parameters(train_dir):
452452 final_train = test_training (TrainData , test_models , tmpdir , tool = "glimmerhmm" )
453453 optimize_end = time .time ()
454454 optimize_elapsed = time .strftime ("%H:%M:%S" , time .gmtime (optimize_end - train_end ))
455- log (
456- "Initial training completed in {} and parameter optimization completed in {}s\n {}" .format (
457- train_elapsed ,
458- optimize_elapsed ,
459- json .dumps (final_train , indent = 2 , default = str ),
455+ if hasattr (log , "info" ):
456+ log .info (
457+ "Initial training completed in {} and parameter optimization completed in {}s\n {}" .format (
458+ train_elapsed ,
459+ optimize_elapsed ,
460+ json .dumps (final_train , indent = 2 , default = str ),
461+ )
462+ )
463+ else :
464+ log (
465+ "Initial training completed in {} and parameter optimization completed in {}s\n {}" .format (
466+ train_elapsed ,
467+ optimize_elapsed ,
468+ json .dumps (final_train , indent = 2 , default = str ),
469+ )
460470 )
461- )
462471
463472 return {"location" : TrainData , "train_results" : final_train }
464473
@@ -507,11 +516,18 @@ def _glimmer2gff3(input, output):
507516 continue
508517 line = line .strip ()
509518 if line .count ("\t " ) < 8 :
510- log (
511- "ERROR parsing GlimmerHMM Raw output in line {}:\n {}" .format (
512- i + 1 , line
519+ if hasattr (log , "error" ):
520+ log .error (
521+ "ERROR parsing GlimmerHMM Raw output in line {}:\n {}" .format (
522+ i + 1 , line
523+ )
524+ )
525+ else :
526+ log (
527+ "ERROR parsing GlimmerHMM Raw output in line {}:\n {}" .format (
528+ i + 1 , line
529+ )
513530 )
514- )
515531 continue
516532 (
517533 contig ,
@@ -610,11 +626,18 @@ def _glimmer2gff3(input, output):
610626 )
611627 )
612628 else :
613- log (
614- "ERROR parsing GlimmerHMM Raw output in line {}:\n {}" .format (
615- i + 1 , line
629+ if hasattr (log , "error" ):
630+ log .error (
631+ "ERROR parsing GlimmerHMM Raw output in line {}:\n {}" .format (
632+ i + 1 , line
633+ )
634+ )
635+ else :
636+ log (
637+ "ERROR parsing GlimmerHMM Raw output in line {}:\n {}" .format (
638+ i + 1 , line
639+ )
616640 )
617- )
618641
619642 glimmerRaw = os .path .join (
620643 folder ,
@@ -715,11 +738,18 @@ def train_genemark(
715738 )
716739 train_end = time .time ()
717740 train_elapsed = time .strftime ("%H:%M:%S" , time .gmtime (train_end - train_start ))
718- log (
719- "Initial training completed in {}s\n {}" .format (
720- train_elapsed , json .dumps (init_train , indent = 2 , default = str )
741+ if hasattr (log , "info" ):
742+ log .info (
743+ "Initial training completed in {}s\n {}" .format (
744+ train_elapsed , json .dumps (init_train , indent = 2 , default = str )
745+ )
746+ )
747+ else :
748+ log (
749+ "Initial training completed in {}s\n {}" .format (
750+ train_elapsed , json .dumps (init_train , indent = 2 , default = str )
751+ )
721752 )
722- )
723753 return {"location" : os .path .abspath (genemark_mod ), "train_results" : init_train }
724754 else :
725755 return {"location" : None , "train_results" : None }
@@ -874,11 +904,18 @@ def _sortDict(d):
874904 scaff2genes [v ["contig" ]].append (k )
875905
876906 # get only scaffolds that have gene models for training
877- log .debug (
878- "{:} gene models to train snap on {:} scaffolds" .format (
879- len (sGenes ), len (scaff2genes )
907+ if hasattr (log , "debug" ):
908+ log .debug (
909+ "{:} gene models to train snap on {:} scaffolds" .format (
910+ len (sGenes ), len (scaff2genes )
911+ )
912+ )
913+ else :
914+ log (
915+ "{:} gene models to train snap on {:} scaffolds" .format (
916+ len (sGenes ), len (scaff2genes )
917+ )
880918 )
881- )
882919 trainingFasta = os .path .join (tmpdir , "snap-training.scaffolds.fasta" )
883920 with open (trainingFasta , "w" ) as outfile :
884921 for title , seq in SeqRecords .items ():
@@ -915,11 +952,18 @@ def _sortDict(d):
915952 # now we can test the trained model
916953 train_elapsed = time .strftime ("%H:%M:%S" , time .gmtime (time .time () - train_start ))
917954 init_train = test_training (snapHMM , test_models , tmpdir , tool = "snap" )
918- log (
919- "Initial training completed in {}s\n {}" .format (
920- train_elapsed , json .dumps (init_train , indent = 2 , default = str )
955+ if hasattr (log , "info" ):
956+ log .info (
957+ "Initial training completed in {}s\n {}" .format (
958+ train_elapsed , json .dumps (init_train , indent = 2 , default = str )
959+ )
960+ )
961+ else :
962+ log (
963+ "Initial training completed in {}s\n {}" .format (
964+ train_elapsed , json .dumps (init_train , indent = 2 , default = str )
965+ )
921966 )
922- )
923967
924968 # if this does not fail, then return some info in dict format
925969 return {"location" : os .path .abspath (snapHMM ), "train_results" : init_train }
@@ -1219,7 +1263,10 @@ def run_augustus_join(
12191263 elapsed = time .time () - time_start
12201264 elapsed_str = time .strftime ("%Hh%Mm%Ss" , time .gmtime (elapsed ))
12211265 # Log the completion message using the provided log function
1222- log (f"Augustus took { elapsed_str } to predict genes on { genome } " )
1266+ if hasattr (log , "info" ):
1267+ log .info (f"Augustus took { elapsed_str } to predict genes on { genome } " )
1268+ else :
1269+ log (f"Augustus took { elapsed_str } to predict genes on { genome } " )
12231270 return 0
12241271
12251272
@@ -1445,7 +1492,10 @@ def train_augustus(
14451492 init_train = test_augustus_predictions (
14461493 tmpdir , species , trainingset , aug_init_training
14471494 )
1448- log (f"Augustus initial training results:\n { init_train } " )
1495+ if hasattr (log , "info" ):
1496+ log .info (f"Augustus initial training results:\n { init_train } " )
1497+ else :
1498+ log (f"Augustus initial training results:\n { init_train } " )
14491499 # so idea here is to copy over existing and then run optimize augustus on it
14501500 optimize_cmd = [
14511501 OPTIMIZE ,
@@ -1457,7 +1507,10 @@ def train_augustus(
14571507 f"{ os .path .basename (trainingset )} " ,
14581508 ]
14591509 with open (train_log , "w" ) as logfile :
1460- log (f"{ ' ' .join (optimize_cmd )} " )
1510+ if hasattr (log , "debug" ):
1511+ log .debug (f"{ ' ' .join (optimize_cmd )} " )
1512+ else :
1513+ log (f"{ ' ' .join (optimize_cmd )} " )
14611514 subprocess .run (optimize_cmd , cwd = tmpdir , stdout = logfile , stderr = logfile )
14621515 else :
14631516 new_species_cmd = [
@@ -1473,9 +1526,15 @@ def train_augustus(
14731526 f"{ os .path .basename (trainingset )} " ,
14741527 ]
14751528 with open (train_log , "w" ) as logfile :
1476- log .debug (f"{ ' ' .join (new_species_cmd )} " )
1529+ if hasattr (log , "debug" ):
1530+ log .debug (f"{ ' ' .join (new_species_cmd )} " )
1531+ else :
1532+ log (f"{ ' ' .join (new_species_cmd )} " )
14771533 subprocess .run (new_species_cmd , stdout = logfile , stderr = logfile )
1478- log .debug (f"{ ' ' .join (etraining_cmd )} " )
1534+ if hasattr (log , "debug" ):
1535+ log .debug (f"{ ' ' .join (etraining_cmd )} " )
1536+ else :
1537+ log (f"{ ' ' .join (etraining_cmd )} " )
14791538 subprocess .run (etraining_cmd , cwd = tmpdir , stdout = logfile , stderr = logfile )
14801539
14811540 # see if optimize is True
@@ -1484,7 +1543,10 @@ def train_augustus(
14841543 init_train = test_augustus_predictions (
14851544 tmpdir , species , trainingset , aug_init_training
14861545 )
1487- log (f"Augustus initial training results:\n { init_train } " )
1546+ if hasattr (log , "info" ):
1547+ log .info (f"Augustus initial training results:\n { init_train } " )
1548+ else :
1549+ log (f"Augustus initial training results:\n { init_train } " )
14881550 # so idea here is to copy over existing and then run optimize augustus on it
14891551 optimize_cmd = [
14901552 OPTIMIZE ,
@@ -1496,7 +1558,10 @@ def train_augustus(
14961558 f"{ os .path .basename (trainingset )} " ,
14971559 ]
14981560 with open (train_log , "a" ) as logfile :
1499- log .debug (f"{ ' ' .join (optimize_cmd )} " )
1561+ if hasattr (log , "debug" ):
1562+ log .debug (f"{ ' ' .join (optimize_cmd )} " )
1563+ else :
1564+ log (f"{ ' ' .join (optimize_cmd )} " )
15001565 subprocess .run (optimize_cmd , cwd = tmpdir , stdout = logfile , stderr = logfile )
15011566
15021567 # now predict the test to see accuracy
@@ -1505,11 +1570,18 @@ def train_augustus(
15051570 species , test_models , tmpdir , tool = "augustus" , aug_config_dir = tmpdir
15061571 )
15071572 train_elapsed = time .strftime ("%H:%M:%S" , time .gmtime (time .time () - train_start ))
1508- log (
1509- "Initial training completed in {}s\n {}" .format (
1510- train_elapsed , json .dumps (init_train , indent = 2 , default = str )
1573+ if hasattr (log , "info" ):
1574+ log .info (
1575+ "Initial training completed in {}s\n {}" .format (
1576+ train_elapsed , json .dumps (init_train , indent = 2 , default = str )
1577+ )
1578+ )
1579+ else :
1580+ log (
1581+ "Initial training completed in {}s\n {}" .format (
1582+ train_elapsed , json .dumps (init_train , indent = 2 , default = str )
1583+ )
15111584 )
1512- )
15131585 # aug_final_training = os.path.join(tmpdir, "augustus.final.training.txt")
15141586 # final_train = test_augustus_predictions(
15151587 # tmpdir, species, trainingset, aug_final_training
0 commit comments