@@ -656,7 +656,9 @@ def __init__(self,prog):
656656 if not cols [0 ] in busco_complete :
657657 busco_complete [cols [0 ]] = cols [2 ]+ ':' + cols [3 ]+ '-' + cols [4 ]
658658 start = int (cols [3 ]) - 100
659- end = int (cols [4 ]) + 100
659+ if start < 1 : #negative values no good for intersection
660+ start = 1
661+ end = int (cols [4 ]) + 100 #not sure if value is larger than contig if this will be problem for bedtools as well? If so will need to read in contig names and lengths into dictionary to check here.
660662 bedfile .write ('%s\t %i\t %i\t %s\n ' % (cols [2 ],start ,end ,cols [0 ]))
661663 #now get BUSCO GFF models
662664 busco_augustus_tmp = os .path .join (args .out , 'predict_misc' , 'busco_augustus.tmp' )
@@ -707,11 +709,11 @@ def __init__(self,prog):
707709 Busco_Predictions = os .path .abspath (busco_predictions )
708710 #parse entire EVM command to script
709711 if Exonerate and Transcripts :
710- evm_cmd = [sys .executable , EVM_script , os .path .join (args .out , 'logfiles' , 'funannotate-EVM_busco.log' ), str (args .cpus ), '--genome' , MaskGenome , '--gene_predictions' , Busco_Predictions , '--protein_alignments' , Exonerate , '--transcript_alignments' , Transcripts , '--weights' , Busco_Weights , '--min_intron_length' , str (args .min_intronlen ), EVM_out ]
712+ evm_cmd = [sys .executable , EVM_script , os .path .join (args .out , 'logfiles' , 'funannotate-EVM_busco.log' ), str (args .cpus ), '--genome' , MaskGenome , '--gene_predictions' , Busco_Predictions , '--protein_alignments' , busco_proteins , '--transcript_alignments' , busco_transcripts , '--weights' , Busco_Weights , '--min_intron_length' , str (args .min_intronlen ), EVM_out ]
711713 elif not Exonerate and Transcripts :
712- evm_cmd = [sys .executable , EVM_script , os .path .join (args .out , 'logfiles' , 'funannotate-EVM_busco.log' ),str (args .cpus ), '--genome' , MaskGenome , '--gene_predictions' , Busco_Predictions , '--transcript_alignments' , Transcripts , '--weights' , Busco_Weights , '--min_intron_length' , str (args .min_intronlen ), EVM_out ]
714+ evm_cmd = [sys .executable , EVM_script , os .path .join (args .out , 'logfiles' , 'funannotate-EVM_busco.log' ),str (args .cpus ), '--genome' , MaskGenome , '--gene_predictions' , Busco_Predictions , '--transcript_alignments' , busco_transcripts , '--weights' , Busco_Weights , '--min_intron_length' , str (args .min_intronlen ), EVM_out ]
713715 elif not Transcripts and Exonerate :
714- evm_cmd = [sys .executable , EVM_script , os .path .join (args .out , 'logfiles' , 'funannotate-EVM_busco.log' ), str (args .cpus ), '--genome' , MaskGenome , '--gene_predictions' , Busco_Predictions , '--protein_alignments' , Exonerate , '--weights' , Busco_Weights , '--min_intron_length' , str (args .min_intronlen ), EVM_out ]
716+ evm_cmd = [sys .executable , EVM_script , os .path .join (args .out , 'logfiles' , 'funannotate-EVM_busco.log' ), str (args .cpus ), '--genome' , MaskGenome , '--gene_predictions' , Busco_Predictions , '--protein_alignments' , busco_proteins , '--weights' , Busco_Weights , '--min_intron_length' , str (args .min_intronlen ), EVM_out ]
715717 elif not any ([Transcripts ,Exonerate ]):
716718 evm_cmd = [sys .executable , EVM_script , os .path .join (args .out , 'logfiles' , 'funannotate-EVM_busco.log' ), str (args .cpus ), '--genome' , MaskGenome , '--gene_predictions' , Busco_Predictions , '--weights' , Busco_Weights , '--min_intron_length' , str (args .min_intronlen ), EVM_out ]
717719 #run EVM
@@ -782,7 +784,7 @@ def __init__(self,prog):
782784 gmc = 0
783785 lib .log .error ("GeneMark predictions failed, proceeding with only Augustus" )
784786
785- #if hints used for Augustus, get high quality models > 80 % coverage to pass to EVM
787+ #if hints used for Augustus, get high quality models > 90 % coverage to pass to EVM
786788 if os .path .isfile (hints_all ) and not args .rna_bam :
787789 lib .log .info ("Pulling out high quality Augustus predictions" )
788790 hiQ_models = []
0 commit comments