rcsb / symmetry

:ferris_wheel: Detect, analyze, and visualize protein symmetry
GNU Lesser General Public License v2.1
26 stars 16 forks source link

Retrieving structures from the PDB in CE-Symm 2.2.2 #115

Open AntoniyaAleksandrova opened 2 years ago

AntoniyaAleksandrova commented 2 years ago

Thank you for releasing updates, I really appreciate it. By the way, I've noticed that the latest release of CE-Symm (version 2.2.2 from February 2022) is having issues retrieving a structure from the PDB databank and when provided with a downloaded structure, is unable to retrieve the cif files for the amino acids. I imagine this is all due to the recent changes in the PDB databank but I was wondering if you have any notion of when this issue might be fixed.

josemduarte commented 2 years ago

Thanks for reporting. Would you have an example or some more details (the command line you use) on how to reproduce the issue?

AntoniyaAleksandrova commented 2 years ago

Yes, of course. Here it is:

$ ./runCESymm.sh -J 1okc --stats=-
Name    NumRepeats  SymmGroup   Refined SymmLevels  SymmType    RotationAngle   ScrewTranslation    UnrefinedTMscore    UnrefinedRMSD   SymmTMscore SymmRMSD    RepeatLength    CoreLength  Length  Coverage    Repeats
2056 [pool-2-thread-1] ERROR workers.CeSymmWorker - Could not load Structure 1okc
javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.security.ssl.Alert.createSSLException(Alert.java:131) ~[?:?]
    at sun.security.ssl.TransportContext.fatal(TransportContext.java:371) ~[?:?]
    at sun.security.ssl.TransportContext.fatal(TransportContext.java:314) ~[?:?]
    at sun.security.ssl.TransportContext.fatal(TransportContext.java:309) ~[?:?]
    at sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:654) ~[?:?]
    at sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473) ~[?:?]
    at sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369) ~[?:?]
    at sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396) ~[?:?]
    at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:480) ~[?:?]
    at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:458) ~[?:?]
    at sun.security.ssl.TransportContext.dispatch(TransportContext.java:201) ~[?:?]
    at sun.security.ssl.SSLTransport.decode(SSLTransport.java:172) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1500) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1415) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:450) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:421) ~[?:?]
    at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:580) ~[?:?]
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:183) ~[?:?]
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1665) ~[?:?]
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) ~[?:?]
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224) ~[?:?]
    at java.net.URL.openStream(URL.java:1161) ~[?:?]
    at org.biojava.nbio.structure.PDBStatus.getStatus(PDBStatus.java:95) ~[cesymm-2.2.2.jar:2.2.2]
    at org.biojava.nbio.structure.io.LocalPDBDirectory.downloadStructure(LocalPDBDirectory.java:520) ~[cesymm-2.2.2.jar:2.2.2]
    at org.biojava.nbio.structure.io.LocalPDBDirectory.getInputStream(LocalPDBDirectory.java:370) ~[cesymm-2.2.2.jar:2.2.2]
    at org.biojava.nbio.structure.io.LocalPDBDirectory.getStructureById(LocalPDBDirectory.java:348) ~[cesymm-2.2.2.jar:2.2.2]
    at org.biojava.nbio.structure.align.util.AtomCache.loadStructureFromBcifByPdbId(AtomCache.java:893) ~[cesymm-2.2.2.jar:2.2.2]
    at org.biojava.nbio.structure.align.util.AtomCache.getStructureForPdbId(AtomCache.java:831) ~[cesymm-2.2.2.jar:2.2.2]
    at org.biojava.nbio.structure.SubstructureIdentifier.loadStructure(SubstructureIdentifier.java:323) ~[cesymm-2.2.2.jar:2.2.2]
    at org.biojava.nbio.structure.align.client.StructureName.loadStructure(StructureName.java:517) ~[cesymm-2.2.2.jar:2.2.2]
    at org.biojava.nbio.structure.align.util.AtomCache.getStructure(AtomCache.java:503) ~[cesymm-2.2.2.jar:2.2.2]
    at workers.CeSymmWorker.run(CeSymmWorker.java:58) [cesymm-2.2.2.jar:2.2.2]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
    at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439) ~[?:?]
    at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306) ~[?:?]
    at sun.security.validator.Validator.validate(Validator.java:264) ~[?:?]
    at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231) ~[?:?]
    at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132) ~[?:?]
    at sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:638) ~[?:?]
    ... 30 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) ~[?:?]
    at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) ~[?:?]
    at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297) ~[?:?]
    at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:434) ~[?:?]
    at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306) ~[?:?]
    at sun.security.validator.Validator.validate(Validator.java:264) ~[?:?]
    at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231) ~[?:?]
    at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132) ~[?:?]
    at sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:638) ~[?:?]
    ... 30 more

And here is the example with a locally downloaded structure:

$ ./runCESymm.sh -J 1okc.pdb --stats=-
Name    NumRepeats  SymmGroup   Refined SymmLevels  SymmType    RotationAngle   ScrewTranslation    UnrefinedTMscore    UnrefinedRMSD   SymmTMscore SymmRMSD    RepeatLength    CoreLength  Length  Coverage    Repeats
1702 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/ASP.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/ASP.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
1995 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/GLN.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/GLN.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
2186 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/ALA.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/ALA.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
2378 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/UNK.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/UNK.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
2795 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/SER.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/SER.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
2978 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/PHE.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/PHE.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
3156 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/LEU.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/LEU.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
3409 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/LYS.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/LYS.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
3589 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/GLY.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/GLY.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
3779 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/VAL.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/VAL.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
3964 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/ILE.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/ILE.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
4154 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/THR.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/THR.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
4451 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/PRO.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/PRO.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
4823 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/GLU.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/GLU.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
5368 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/ARG.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/ARG.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
5690 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/HIS.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/HIS.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
6191 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/TYR.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/TYR.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
6552 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/CYS.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/CYS.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
6918 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/TRP.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/TRP.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
7361 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/ASN.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/ASN.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
7655 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/MET.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/MET.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
8158 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/CXT.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/CXT.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
8327 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/CDL.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/CDL.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
8510 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/LDM.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/LDM.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
9553 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/PC1.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/PC1.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
9729 [pool-2-thread-1] ERROR org.biojava.nbio.structure.chem.DownloadChemCompProvider - Could not download https://files.rcsb.org/ligands/download/HOH.cif OR store locally to /var/folders/s0/64fs4yt56yq1x9szt115jtjj40rjv4/T/chemcomp/HOH.cif.gz Error =PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
1okc.pdb    3   C3  true    1   CLOSED  119.99  0.00    0.81    2.31    0.78    2.25    83  249 291 0.86    1OKC.A_4-92;1OKC.A_110-195;1OKC.A_207-292

To confirm the version:

$ ./runCESymm.sh --version
CE-Symm 2.2.2
josemduarte commented 2 years ago

That's interesting. It looks like your java doesn't like the security certificates from rcsb.org for some reason.

Could you also provide what's the output of command java -version ? And what is your OS?

AntoniyaAleksandrova commented 2 years ago

Sure. I ran this on masOSCatalina, where I have:

$ java --version
java 17 2021-09-14 LTS
Java(TM) SE Runtime Environment (build 17+35-LTS-2724)
Java HotSpot(TM) 64-Bit Server VM (build 17+35-LTS-2724, mixed mode, sharing)

I just retested this on a Linux machine with CentOs 7 and java openjdk version "1.8.0_322", where it worked without errors. Is it something about my java version on my Mac then? I believe it worked just fine with the previous version of CE-Symm, while that was viable.

josemduarte commented 2 years ago

I've tried this in Mac OS Monterey, with java 18 (openjdk version "18" 2022-03-22) and it works fine for me. That is with cesymm version 2.2.3-SNAPSHOT (building from current master HEAD).

I'd recommend 2 things:

AntoniyaAleksandrova commented 2 years ago

I updated to the version of java you are using and the result is the same, unfortunately. However, I have what I need right now in terms of functionality, so I am happy to proceed. Thanks.