cusbg / prankweb

Web application for protein-ligand binding sites analysis and visualization
https://prankweb.cz
Apache License 2.0
7 stars 3 forks source link

Improve handling of inputs with no protein atoms #42

Closed skodapetr closed 3 years ago

skodapetr commented 3 years ago

For example 7BV2 chain P.

A solution is to add a number of protein atoms into output of protein-utils and check this value in the Python script.

skodapetr commented 3 years ago

It seems that with update to new version of p2rank there is no issue specific to the fact, that no protein chain is beeing used.

In previous version the exception was:

[ERROR] Dataset - error processing dataset item [structure.pdb]
cz.siret.prank.program.PrankException: Protein with no chain atoms [structure.pdb]!
at cz.siret.prank.domain.Protein.loadFile(Protein.groovy:377) ~[p2rank.jar:?]
at cz.siret.prank.domain.Protein.load(Protein.groovy:329) ~[p2rank.jar:?]
at cz.siret.prank.domain.Protein$load.call(Unknown Source) ~[?:?]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) ~[groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) ~[groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:135) ~[groovy-2.5.10.jar:2.5.10]
at cz.siret.prank.domain.loaders.pockets.PredictionLoader.loadPredictionPair(PredictionLoader.groovy:47) ~[p2rank.jar:?]
at cz.siret.prank.domain.loaders.pockets.PredictionLoader$loadPredictionPair.call(Unknown Source) ~[?:?]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) ~[groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) ~[groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:143) ~[groovy-2.5.10.jar:2.5.10]
at cz.siret.prank.domain.Dataset$Item.loadPredictionPair(Dataset.groovy:645) ~[p2rank.jar:?]
at cz.siret.prank.domain.Dataset$Item.getPredictionPair(Dataset.groovy:635) ~[p2rank.jar:?]
at cz.siret.prank.program.routines.PredictRoutine$_execute_closure1.doCall(PredictRoutine.groovy:90) ~[p2rank.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.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) ~[groovy-2.5.10.jar:2.5.10]
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) ~[groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263) ~[groovy-2.5.10.jar:2.5.10]
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) ~[groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:37) ~[groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) ~[groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) ~[groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127) ~[groovy-2.5.10.jar:2.5.10]
at cz.siret.prank.domain.Dataset$1.processItem(Dataset.groovy:146) ~[p2rank.jar:?]
at cz.siret.prank.domain.Dataset$Processor$processItem.call(Unknown Source) ~[?:?]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127) [groovy-2.5.10.jar:2.5.10]
at cz.siret.prank.domain.Dataset.processItem(Dataset.groovy:202) [p2rank.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.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) [groovy-2.5.10.jar:2.5.10]
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:192) [groovy-2.5.10.jar:2.5.10]
at cz.siret.prank.domain.Dataset$_processItems_closure5.doCall(Dataset.groovy:183) [p2rank.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.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) [groovy-2.5.10.jar:2.5.10]
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263) [groovy-2.5.10.jar:2.5.10]
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) [groovy-2.5.10.jar:2.5.10]
at groovy.lang.Closure.call(Closure.java:405) [groovy-2.5.10.jar:2.5.10]
at groovy.lang.Closure.call(Closure.java:421) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2330) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2315) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2356) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.dgm$186.invoke(Unknown Source) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127) [groovy-2.5.10.jar:2.5.10]
at cz.siret.prank.domain.Dataset.processItems(Dataset.groovy:182) [p2rank.jar:?]
at cz.siret.prank.domain.Dataset$processItems$3.callCurrent(Unknown Source) [p2rank.jar:?]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:176) [groovy-2.5.10.jar:2.5.10]
at cz.siret.prank.domain.Dataset.processItems(Dataset.groovy:139) [p2rank.jar:?]
at cz.siret.prank.domain.Dataset$processItems$2.callCurrent(Unknown Source) [p2rank.jar:?]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:168) [groovy-2.5.10.jar:2.5.10]
at cz.siret.prank.domain.Dataset.processItems(Dataset.groovy:143) [p2rank.jar:?]
at cz.siret.prank.program.routines.PredictRoutine.execute(PredictRoutine.groovy:88) [p2rank.jar:?]
at cz.siret.prank.program.routines.PredictRoutine$execute.call(Unknown Source) [p2rank.jar:?]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:119) [groovy-2.5.10.jar:2.5.10]
at cz.siret.prank.program.Main.doRunPredict(Main.groovy:203) [p2rank.jar:?]
at cz.siret.prank.program.Main.runPredict(Main.groovy:221) [p2rank.jar:?]
at cz.siret.prank.program.Main.run(Main.groovy:316) [p2rank.jar:?]
at cz.siret.prank.program.Main$run.call(Unknown Source) [p2rank.jar:?]
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) [groovy-2.5.10.jar:2.5.10]
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:119) [groovy-2.5.10.jar:2.5.10]
at cz.siret.prank.program.Main.main(Main.groovy:384) [p2rank.jar:?]
predicting pockets finished in 0 hours 0 minutes 3.23 seconds
[INFO] ConsoleWriter - predicting pockets finished in 0 hours 0 minutes 3.23 seconds
results saved to directory [/data/p2rank/task/database/v2-conservation/7BV2_P/working/p2rank-output]
[INFO] ConsoleWriter - results saved to directory [/data/p2rank/task/database/v2-conservation/7BV2_P/working/p2rank-output]
ERROR on processing 1 file(s):
[INFO] ConsoleWriter - ERROR on processing 1 file(s):
[structure.pdb]
[INFO] ConsoleWriter - [structure.pdb]