nextgenusfs / funannotate

Eukaryotic Genome Annotation Pipeline
http://funannotate.readthedocs.io
BSD 2-Clause "Simplified" License
300 stars 82 forks source link

Interproscan creates empty iprscan.xml file #987

Open UmerFarooq17 opened 7 months ago

UmerFarooq17 commented 7 months ago

Hey, I have been following the annotation steps mentioned at https://funannotate.readthedocs.io/en/latest/tutorials.html#genome-assembly-and-rna-seq.

I have completed the following with no error so far

  1. Repeatmasking using RepeatMasker/Modeler seprately
  2. funannotate Clean (worked without any error)
  3. funannotate Sort (worked without any error)
  4. funannotate Train (worked without any error)
  5. funannotate Predict (worked without any error)
  6. funannotate Update (worked without any error)

Now I am trying the Fnnannotate iprscan locally on linux using the commands

Try 1

Command: funannotate iprscan --input ./assembly_annotation/ --method local --cpus 14 2>&1 | tee -a iprscan.log

Results: it runs without any error. Resulting file in path ./assembly_annotation/annotation_misc/iprscan.xml is empty with only one line </protein-matches>

The Log File looks like this (there were around 607 line of "Progress:" so i trimmed that)

Running InterProScan5 on 16440 proteins
Important: you need to manually configure your interproscan.properties file for embedded workers.
Will try to launch 14 interproscan processes, adjust -c,--cpus for your system
     Progress: 0 complete, 0 failed, 16 remaining            
     Progress: 1 complete, 0 failed, 15 remaining        
     Progress: 2 complete, 0 failed, 14 remaining        
     Progress: 3 complete, 0 failed, 13 remaining        
     Progress: 4 complete, 0 failed, 12 remaining        
     Progress: 5 complete, 0 failed, 11 remaining        
     Progress: 8 complete, 0 failed, 8 remaining        
     Progress: 9 complete, 0 failed, 7 remaining        
     Progress: 10 complete, 0 failed, 6 remaining        
     Progress: 12 complete, 0 failed, 4 remaining        
     Progress: 13 complete, 0 failed, 3 remaining        
     Progress: 14 complete, 0 failed, 2 remaining        
     Progress: 15 complete, 0 failed, 1 remaining        
     Progress: 16 complete, 0 failed, 0 remaining        
InterProScan5 search has completed successfully!
Results are here: ./assembly_annotation/annotate_misc/iprscan.xml

Try 2

I have tried it in different way as Command: funannotate iprscan --input ./assembly_annotation/update_results/genome.proteins.fa --out ./assembly_annotation/interproscan/iprscan.xml --method local --cpus 14 2>&1 | tee -a iprscan2.log

Results: it ran again without any error. Resulting file in path ./assembly_annotation/interproscan/iprscan.xml is empty with only one line </protein-matches>

The Log File looks like this (again there were around 607 line of "Progress:" so i trimmed that)

Running InterProScan5 on 16440 proteins
Important: you need to manually configure your interproscan.properties file for embedded workers.
Will try to launch 14 interproscan processes, adjust -c,--cpus for your system
     Progress: 0 complete, 0 failed, 16 remaining            
     Progress: 1 complete, 0 failed, 15 remaining        
     Progress: 2 complete, 0 failed, 14 remaining        
     Progress: 3 complete, 0 failed, 13 remaining        
     Progress: 4 complete, 0 failed, 12 remaining        
     Progress: 5 complete, 0 failed, 11 remaining        
     Progress: 8 complete, 0 failed, 8 remaining        
     Progress: 9 complete, 0 failed, 7 remaining        
     Progress: 10 complete, 0 failed, 6 remaining        
     Progress: 12 complete, 0 failed, 4 remaining        
     Progress: 13 complete, 0 failed, 3 remaining        
     Progress: 14 complete, 0 failed, 2 remaining        
     Progress: 15 complete, 0 failed, 1 remaining        
     Progress: 16 complete, 0 failed, 0 remaining 
InterProScan5 search has completed successfully!
Results are here: ./assembly_annotation/interproscan/iprscan.xml

Try 3

I tried running interproscan.sh , (not the funannotate wrapper) as described here https://github.com/nextgenusfs/funannotate/issues/841#issuecomment-1328140589

which interproscan.sh >>>> /home/user/miniconda3/envs/funannotate/bin/interproscan.sh

Command: interproscan.sh -i ./assembly_annotation/update_results/*.proteins.fa --output-dir ./assembly_annotation/interproscan/ -goterms -pa -f XML 2>&1 | tee -a iprscan3.log

Results: "InterProScan analysis failed. Exception thrown by StandaloneBlackBoxMaster. Check the log file for details "

The Log File looks like this I could not find the log file interprpscan created so here is the output printed on the terminal.

04/12/2023 11:15:17:821 Welcome to InterProScan-5.59-91.0
04/12/2023 11:15:17:822 Running InterProScan v5 in STANDALONE mode... on Linux
04/12/2023 11:15:22:869 RunID: vmepi01_20231204_111522472_fbob
04/12/2023 11:15:36:244 Loading file /home/ufarooq/Work/Assembly_47514/assembly_short_read/./assembly_annotation/update_results/Fusarium_oxysporum_47514.proteins.fa
04/12/2023 11:15:36:247 Running the following analyses:
[AntiFam-7.0,CDD-3.18,Coils-2.2.1,FunFam-4.3.0,Gene3D-4.3.0,Hamap-2021_04,MobiDBLite-2.0,PANTHER-17.0,Pfam-35.0,PIRSF-3.10,PIRSR-2021_05,PRINTS-42.0,ProSitePatterns-2022_01,ProSiteProfiles-2022_01,SFLD-4,SMART-7.1,SUPERFAMILY-1.75,TIGRFAM-15.0]
Available matches will be retrieved from the pre-calculated match lookup service.

Matches for any sequences that are not represented in the lookup service will be calculated locally.
2023-12-04 11:15:36,700 [amqEmbeddedWorkerJmsContainer-7] [uk.ac.ebi.interpro.scan.jms.worker.LocalJobQueueListener:216] ERROR - Execution thrown when attempting to executeInTransaction the StepExecution.  All database activity rolled back.
java.lang.IllegalArgumentException: You have submitted a protein sequence which contains an asterix (*). This may be from an ORF prediction program. '*' is not a valid IUPAC amino acid character and amino acid sequences which go through our pipeline should not contain it. Please strip out all asterix characters from your sequence and resubmit your search.
    at uk.ac.ebi.interpro.scan.model.Protein.setSequence(Protein.java:346) ~[interproscan-model-5.59-91.0.jar:?]
    at uk.ac.ebi.interpro.scan.model.Protein.setSequenceAndMd5(Protein.java:227) ~[interproscan-model-5.59-91.0.jar:?]
    at uk.ac.ebi.interpro.scan.model.Protein.<init>(Protein.java:134) ~[interproscan-model-5.59-91.0.jar:?]
    at uk.ac.ebi.interpro.scan.business.sequence.fasta.LoadFastaFileIntoDBImpl.addToMoleculeCollectionInDB(LoadFastaFileIntoDBImpl.java:314) ~[interproscan-business-5.59-91.0.jar:?]
    at uk.ac.ebi.interpro.scan.business.sequence.fasta.LoadFastaFileIntoDBImpl.loadSequences(LoadFastaFileIntoDBImpl.java:149) ~[interproscan-business-5.59-91.0.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) ~[spring-tx-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) ~[spring-tx-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at com.sun.proxy.$Proxy138.loadSequences(Unknown Source) ~[?:?]
    at uk.ac.ebi.interpro.scan.management.model.implementations.stepInstanceCreation.proteinLoad.FastaFileLoadIntoDBStep.execute(FastaFileLoadIntoDBStep.java:282) ~[interproscan-management-5.59-91.0.jar:?]
    at uk.ac.ebi.interpro.scan.jms.activemq.StepExecutionTransactionImpl.executeInTransaction(StepExecutionTransactionImpl.java:87) ~[interproscan-5.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) ~[spring-tx-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) ~[spring-tx-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at com.sun.proxy.$Proxy141.executeInTransaction(Unknown Source) ~[?:?]
    at uk.ac.ebi.interpro.scan.jms.worker.LocalJobQueueListener.onMessage(LocalJobQueueListener.java:200) [interproscan-5.jar:?]
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:761) [spring-jms-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:699) [spring-jms-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674) [spring-jms-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:318) [spring-jms-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257) [spring-jms-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1186) [spring-jms-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1176) [spring-jms-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1073) [spring-jms-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at java.lang.Thread.run(Thread.java:834) [?:?]
2023-12-04 11:15:36,712 [amqEmbeddedWorkerJmsContainer-7] [uk.ac.ebi.interpro.scan.jms.worker.LocalJobQueueListener:218] ERROR - The exception is :
java.lang.IllegalArgumentException: You have submitted a protein sequence which contains an asterix (*). This may be from an ORF prediction program. '*' is not a valid IUPAC amino acid character and amino acid sequences which go through our pipeline should not contain it. Please strip out all asterix characters from your sequence and resubmit your search.
    at uk.ac.ebi.interpro.scan.model.Protein.setSequence(Protein.java:346)
    at uk.ac.ebi.interpro.scan.model.Protein.setSequenceAndMd5(Protein.java:227)
    at uk.ac.ebi.interpro.scan.model.Protein.<init>(Protein.java:134)
    at uk.ac.ebi.interpro.scan.business.sequence.fasta.LoadFastaFileIntoDBImpl.addToMoleculeCollectionInDB(LoadFastaFileIntoDBImpl.java:314)
    at uk.ac.ebi.interpro.scan.business.sequence.fasta.LoadFastaFileIntoDBImpl.loadSequences(LoadFastaFileIntoDBImpl.java:149)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
    at com.sun.proxy.$Proxy138.loadSequences(Unknown Source)
    at uk.ac.ebi.interpro.scan.management.model.implementations.stepInstanceCreation.proteinLoad.FastaFileLoadIntoDBStep.execute(FastaFileLoadIntoDBStep.java:282)
    at uk.ac.ebi.interpro.scan.jms.activemq.StepExecutionTransactionImpl.executeInTransaction(StepExecutionTransactionImpl.java:87)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
    at com.sun.proxy.$Proxy141.executeInTransaction(Unknown Source)
    at uk.ac.ebi.interpro.scan.jms.worker.LocalJobQueueListener.onMessage(LocalJobQueueListener.java:200)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:761)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:699)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:318)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1186)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1176)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1073)
    at java.base/java.lang.Thread.run(Thread.java:834)
2023-12-04 11:15:36,714 [amqEmbeddedWorkerJmsContainer-7] [uk.ac.ebi.interpro.scan.jms.worker.LocalJobQueueListener:222] ERROR - StepExecution with errors - stepName: stepLoadFromFastaIntoDB
2023-12-04 11:15:36,794 [main] [uk.ac.ebi.interpro.scan.jms.master.StandaloneBlackBoxMaster:190] WARN - StepInstance 1 is being re-run following a failure.
04/12/2023 11:15:36:803 Loading file /home/ufarooq/Work/Assembly_47514/assembly_short_read/./assembly_annotation/update_results/Fusarium_oxysporum_47514.proteins.fa
04/12/2023 11:15:36:804 Running the following analyses:
[AntiFam-7.0,CDD-3.18,Coils-2.2.1,FunFam-4.3.0,Gene3D-4.3.0,Hamap-2021_04,MobiDBLite-2.0,PANTHER-17.0,Pfam-35.0,PIRSF-3.10,PIRSR-2021_05,PRINTS-42.0,ProSitePatterns-2022_01,ProSiteProfiles-2022_01,SFLD-4,SMART-7.1,SUPERFAMILY-1.75,TIGRFAM-15.0]
Available matches will be retrieved from the pre-calculated match lookup service.

Matches for any sequences that are not represented in the lookup service will be calculated locally.
2023-12-04 11:15:37,205 [amqEmbeddedWorkerJmsContainer-8] [uk.ac.ebi.interpro.scan.jms.worker.LocalJobQueueListener:216] ERROR - Execution thrown when attempting to executeInTransaction the StepExecution.  All database activity rolled back.
java.lang.IllegalArgumentException: You have submitted a protein sequence which contains an asterix (*). This may be from an ORF prediction program. '*' is not a valid IUPAC amino acid character and amino acid sequences which go through our pipeline should not contain it. Please strip out all asterix characters from your sequence and resubmit your search.
    at uk.ac.ebi.interpro.scan.model.Protein.setSequence(Protein.java:346) ~[interproscan-model-5.59-91.0.jar:?]
    at uk.ac.ebi.interpro.scan.model.Protein.setSequenceAndMd5(Protein.java:227) ~[interproscan-model-5.59-91.0.jar:?]
    at uk.ac.ebi.interpro.scan.model.Protein.<init>(Protein.java:134) ~[interproscan-model-5.59-91.0.jar:?]
    at uk.ac.ebi.interpro.scan.business.sequence.fasta.LoadFastaFileIntoDBImpl.addToMoleculeCollectionInDB(LoadFastaFileIntoDBImpl.java:314) ~[interproscan-business-5.59-91.0.jar:?]
    at uk.ac.ebi.interpro.scan.business.sequence.fasta.LoadFastaFileIntoDBImpl.loadSequences(LoadFastaFileIntoDBImpl.java:149) ~[interproscan-business-5.59-91.0.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) ~[spring-tx-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) ~[spring-tx-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at com.sun.proxy.$Proxy138.loadSequences(Unknown Source) ~[?:?]
    at uk.ac.ebi.interpro.scan.management.model.implementations.stepInstanceCreation.proteinLoad.FastaFileLoadIntoDBStep.execute(FastaFileLoadIntoDBStep.java:282) ~[interproscan-management-5.59-91.0.jar:?]
    at uk.ac.ebi.interpro.scan.jms.activemq.StepExecutionTransactionImpl.executeInTransaction(StepExecutionTransactionImpl.java:87) ~[interproscan-5.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) ~[spring-tx-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) ~[spring-tx-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) ~[spring-aop-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at com.sun.proxy.$Proxy141.executeInTransaction(Unknown Source) ~[?:?]
    at uk.ac.ebi.interpro.scan.jms.worker.LocalJobQueueListener.onMessage(LocalJobQueueListener.java:200) [interproscan-5.jar:?]
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:761) [spring-jms-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:699) [spring-jms-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674) [spring-jms-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:318) [spring-jms-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257) [spring-jms-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1186) [spring-jms-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1176) [spring-jms-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1073) [spring-jms-5.2.22.RELEASE.jar:5.2.22.RELEASE]
    at java.lang.Thread.run(Thread.java:834) [?:?]
2023-12-04 11:15:37,206 [amqEmbeddedWorkerJmsContainer-8] [uk.ac.ebi.interpro.scan.jms.worker.LocalJobQueueListener:218] ERROR - The exception is :
java.lang.IllegalArgumentException: You have submitted a protein sequence which contains an asterix (*). This may be from an ORF prediction program. '*' is not a valid IUPAC amino acid character and amino acid sequences which go through our pipeline should not contain it. Please strip out all asterix characters from your sequence and resubmit your search.
    at uk.ac.ebi.interpro.scan.model.Protein.setSequence(Protein.java:346)
    at uk.ac.ebi.interpro.scan.model.Protein.setSequenceAndMd5(Protein.java:227)
    at uk.ac.ebi.interpro.scan.model.Protein.<init>(Protein.java:134)
    at uk.ac.ebi.interpro.scan.business.sequence.fasta.LoadFastaFileIntoDBImpl.addToMoleculeCollectionInDB(LoadFastaFileIntoDBImpl.java:314)
    at uk.ac.ebi.interpro.scan.business.sequence.fasta.LoadFastaFileIntoDBImpl.loadSequences(LoadFastaFileIntoDBImpl.java:149)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
    at com.sun.proxy.$Proxy138.loadSequences(Unknown Source)
    at uk.ac.ebi.interpro.scan.management.model.implementations.stepInstanceCreation.proteinLoad.FastaFileLoadIntoDBStep.execute(FastaFileLoadIntoDBStep.java:282)
    at uk.ac.ebi.interpro.scan.jms.activemq.StepExecutionTransactionImpl.executeInTransaction(StepExecutionTransactionImpl.java:87)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
    at com.sun.proxy.$Proxy141.executeInTransaction(Unknown Source)
    at uk.ac.ebi.interpro.scan.jms.worker.LocalJobQueueListener.onMessage(LocalJobQueueListener.java:200)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:761)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:699)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:318)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1186)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1176)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1073)
    at java.base/java.lang.Thread.run(Thread.java:834)
2023-12-04 11:15:37,207 [amqEmbeddedWorkerJmsContainer-8] [uk.ac.ebi.interpro.scan.jms.worker.LocalJobQueueListener:222] ERROR - StepExecution with errors - stepName: stepLoadFromFastaIntoDB
2023-12-04 11:15:37,241 [main] [uk.ac.ebi.interpro.scan.jms.activemq.NonZeroExitOnUnrecoverableError:25] FATAL - Analysis step 1 : Load proteins from a fasta file and load into DB before creating required JobInstance objects for proteins null to null has failed irretrievably.  Available StackTraces follow.
2023-12-04 11:15:37,241 [main] [uk.ac.ebi.interpro.scan.jms.activemq.NonZeroExitOnUnrecoverableError:42] FATAL - The JVM will now exit with a non-zero exit status.
2023-12-04 11:15:37,242 [main] [uk.ac.ebi.interpro.scan.jms.master.StandaloneBlackBoxMaster:363] ERROR - Exception thrown by StandaloneBlackBoxMaster: 
java.lang.IllegalStateException: InterProScan exiting with non-zero status, see logs for further information.
    at uk.ac.ebi.interpro.scan.jms.activemq.NonZeroExitOnUnrecoverableError.failed(NonZeroExitOnUnrecoverableError.java:43) ~[interproscan-5.jar:?]
    at uk.ac.ebi.interpro.scan.jms.master.StandaloneBlackBoxMaster.run(StandaloneBlackBoxMaster.java:169) [interproscan-5.jar:?]
    at uk.ac.ebi.interpro.scan.jms.main.Run.main(Run.java:413) [interproscan-5.jar:?]
java.lang.IllegalStateException: InterProScan exiting with non-zero status, see logs for further information.
    at uk.ac.ebi.interpro.scan.jms.activemq.NonZeroExitOnUnrecoverableError.failed(NonZeroExitOnUnrecoverableError.java:43)
    at uk.ac.ebi.interpro.scan.jms.master.StandaloneBlackBoxMaster.run(StandaloneBlackBoxMaster.java:169)
    at uk.ac.ebi.interpro.scan.jms.main.Run.main(Run.java:413)
InterProScan analysis failed. Exception thrown by StandaloneBlackBoxMaster. Check the log file for details

Here is the output of funannotate check --show-versions

-------------------------------------------------------
Checking dependencies for 1.8.15
-------------------------------------------------------
You are running Python v 3.8.15. Now checking python packages...
biopython: 1.81
goatools: 1.2.3
matplotlib: 3.4.3
natsort: 8.4.0
numpy: 1.24.4
pandas: 1.5.3
psutil: 5.9.5
requests: 2.31.0
scikit-learn: 1.3.0
scipy: 1.10.1
seaborn: 0.12.2
All 11 python packages installed

You are running Perl v b'5.032001'. Now checking perl modules...
Carp: 1.50
Clone: 0.46
DBD::SQLite: 1.72
DBD::mysql: 4.046
DBI: 1.643
DB_File: 1.858
Data::Dumper: 2.183
File::Basename: 2.85
File::Which: 1.24
Getopt::Long: 2.54
Hash::Merge: 0.302
JSON: 4.10
LWP::UserAgent: 6.67
Logger::Simple: 2.0
POSIX: 1.94
Parallel::ForkManager: 2.02
Pod::Usage: 1.69
Scalar::Util::Numeric: 0.40
Storable: 3.15
Text::Soundex: 3.05
Thread::Queue: 3.14
Tie::File: 1.06
URI::Escape: 5.12
YAML: 1.30
local::lib: 2.000029
threads: 2.25
threads::shared: 1.61
All 27 Perl modules installed

Checking Environmental Variables...
$FUNANNOTATE_DB=/home/ufarooq/miniconda3/envs/funannotate/database/
$PASAHOME=/home/ufarooq/miniconda3/envs/funannotate/opt/pasa-2.5.3
$TRINITY_HOME=/home/ufarooq/miniconda3/envs/funannotate/opt/trinity-2.8.5
$EVM_HOME=/home/ufarooq/miniconda3/envs/funannotate/opt/evidencemodeler-1.1.1
$AUGUSTUS_CONFIG_PATH=/home/ufarooq/miniconda3/envs/funannotate/config/
$GENEMARK_PATH=/home/ufarooq/miniconda3/envs/funannotate/genemark
All 6 environmental variables are set
-------------------------------------------------------
Checking external dependencies...
PASA: 2.5.3
CodingQuarry: 2.0
Trinity: 2.8.5
augustus: 3.5.0
bamtools: bamtools 2.5.1
bedtools: bedtools v2.31.0
blat: BLAT v37x1
diamond: 2.1.8
emapper.py: 2.1.12
ete3: 3.1.3
exonerate: exonerate 2.4.0
fasta: 36.3.8g
glimmerhmm: 3.0.4
gmap: 2023-07-20
hisat2: 2.2.1
hmmscan: HMMER 3.3.2 (Nov 2020)
hmmsearch: HMMER 3.3.2 (Nov 2020)
java: 11.0.1
kallisto: 0.46.1
mafft: v7.520 (2023/Mar/22)
makeblastdb: makeblastdb 2.14.0+
minimap2: 2.26-r1175
pigz: 2.6
proteinortho: 6.3.0
pslCDnaFilter: no way to determine
salmon: salmon 0.14.1
samtools: samtools 1.17
signalp: 5.0b
snap: 2006-07-28
stringtie: 2.2.1
tRNAscan-SE: 2.0.12 (Nov 2022)
tantan: tantan 40
tbl2asn: 25.8
tblastn: tblastn 2.14.0+
trimal: trimAl v1.4.rev15 build[2013-12-17]
trimmomatic: 0.39
        ERROR: gmes_petap.pl not installed

Kindly Help with this error/Bug.

jgasca79 commented 3 months ago

Hi there,

I got the same errors and outputs using the funannotate pipeline with fungal species. The issue (at least for my run) was one (or some) of the available analysis, for example:

interproscan.sh -cpu 8 -i myfile.fa -o myresults --appl PANTHER,PRINTS,SUPERFAMILY -f TSV

This one run without issues. I didn't have the patience to try all the analysis and options to find out exactly which one(s) was failing, so maybe you should try something different according to your data.

Info: OS: LEMDE 5, Debian kernel 5.10.0-28 64 GB RAM, Intel Core i7 3960X Interproscan 5.55-98.0

Hope this helps,

Jaime