<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>bio_java_maven_hello_world</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.biojava</groupId>
<artifactId>biojava-core</artifactId>
<version>5.4.0</version>
</dependency>
<dependency>
<groupId>org.biojava</groupId>
<artifactId>biojava-structure</artifactId>
<version>5.4.0</version>
</dependency>
</dependencies>
</project>
package org.example;
import org.biojava.nbio.structure.*;
import org.biojava.nbio.structure.io.LocalPDBDirectory;
import org.biojava.nbio.structure.io.PDBFileReader;
public class BioJavaPDBHelloWorld {
public static void main(String[] args) {
try {
PDBFileReader pdbReader = new PDBFileReader();
// Set the path to the local PDB file directory
pdbReader.setPath("C:\PDB files");
pdbReader.setFetchBehavior(LocalPDBDirectory.FetchBehavior.LOCAL_ONLY);
// Reading a structure by PDB code
Structure structure = pdbReader.getStructureById("1LVZ"); // Example PDB code
// Print the PDB ID
System.out.println("PDB ID: " + structure.getPDBCode());
// Print the title of the structure
System.out.println("Title: " + structure.getPDBHeader().getTitle());
// Print number of atoms in the structure
System.out.println("ID : " + structure.getId());
} catch (Exception e) {
e.printStackTrace();
}
}
}
"C:Program FilesJavajdk-17.0.2binjava.exe" "-javaagent:C:Program FilesJetBrainsIntelliJ IDEA 2023.1.6libidea_rt.jar=54171:C:Program FilesJetBrainsIntelliJ IDEA 2023.1.6bin" -Dfile.encoding=UTF-8 -classpath C:gitbio_java_maven_hello_worldtargetclasses;C:Userspc.m2repositoryorgbiojavabiojava-core5.4.0biojava-core-5.4.0.jar;C:Userspc.m2repositoryorgslf4jslf4j-api1.7.30slf4j-api-1.7.30.jar;C:Userspc.m2repositoryorgapachelogginglog4jlog4j-slf4j-impl2.13.1log4j-slf4j-impl-2.13.1.jar;C:Userspc.m2repositoryorgapachelogginglog4jlog4j-api2.13.1log4j-api-2.13.1.jar;C:Userspc.m2repositoryorgapachelogginglog4jlog4j-core2.13.1log4j-core-2.13.1.jar;C:Userspc.m2repositoryorgbiojavabiojava-structure5.4.0biojava-structure-5.4.0.jar;C:Userspc.m2repositoryorgrcsbciftools-java.7.1ciftools-java-0.7.1.jar;C:Userspc.m2repositoryjavaxannotationjavax.annotation-api1.3.2javax.annotation-api-1.3.2.jar;C:Userspc.m2repositorycomgooglecodegsongson2.8.5gson-2.8.5.jar;C:Userspc.m2repositoryorgrcsbmmtf-api1.0.9mmtf-api-1.0.9.jar;C:Userspc.m2repositoryorgrcsbmmtf-serialization1.0.9mmtf-serialization-1.0.9.jar;C:Userspc.m2repositoryorgmsgpackjackson-dataformat-msgpack.8.18jackson-dataformat-msgpack-0.8.18.jar;C:Userspc.m2repositoryorgmsgpackmsgpack-core.8.18msgpack-core-0.8.18.jar;C:Userspc.m2repositorycomfasterxmljacksoncorejackson-databind2.9.9.3jackson-databind-2.9.9.3.jar;C:Userspc.m2repositorycomfasterxmljacksoncorejackson-annotations2.9.0jackson-annotations-2.9.0.jar;C:Userspc.m2repositorycomfasterxmljacksoncorejackson-core2.9.9jackson-core-2.9.9.jar;C:Userspc.m2repositoryorgrcsbmmtf-codec1.0.9mmtf-codec-1.0.9.jar;C:Userspc.m2repositorycommons-langcommons-lang2.4commons-lang-2.4.jar;C:Userspc.m2repositoryorgbiojavabiojava-alignment5.4.0biojava-alignment-5.4.0.jar;C:Userspc.m2repositoryorgbiojavathirdpartyforester1.038forester-1.038.jar;C:Userspc.m2repositoryjava3dvecmath1.3.1vecmath-1.3.1.jar;C:Userspc.m2repositoryorgjgraphtjgrapht-core1.1.0jgrapht-core-1.1.0.jar;C:Userspc.m2repositoryjavaxxmlbindjaxb-api2.3.0jaxb-api-2.3.0.jar;C:Userspc.m2repositorycomsunxmlbindjaxb-core2.3.0jaxb-core-2.3.0.jar;C:Userspc.m2repositorycomsunxmlbindjaxb-impl2.3.0jaxb-impl-2.3.0.jar;C:Userspc.m2repositoryjavaxactivationactivation1.1.1activation-1.1.1.jar org.example.BioJavaPDBHelloWorld
20:43:37 [main] WARN org.biojava.nbio.structure.align.util.UserConfiguration - Could not read dir from system property PDB_DIR or environment variable PDB_DIR, using system's temp directory C:UserspcAppDataLocalTemp
java.io.IOException: Structure 1LVZ not found in C:PDB files and configured not to download.
at org.biojava.nbio.structure.io.LocalPDBDirectory.downloadStructure(LocalPDBDirectory.java:447)
at org.biojava.nbio.structure.io.LocalPDBDirectory.getInputStream(LocalPDBDirectory.java:353)
at org.biojava.nbio.structure.io.LocalPDBDirectory.getStructureById(LocalPDBDirectory.java:327)
at org.example.BioJavaPDBHelloWorld.main(BioJavaPDBHelloWorld.java:17)
Process finished with exit code 0
I have the file in the given location.
C:PDB files>dir
Volume in drive C has no label.
Volume Serial Number is DEFD-2FA5
Directory of C:PDB files
24-Apr-24 08:42 PM <DIR> .
24-Apr-24 08:42 PM <DIR> ..
12-Apr-24 03:30 PM 309,420 1aqg.pdb
12-Apr-24 02:49 PM 124,335 1ejg.pdb
12-Apr-24 03:31 PM 27,378 1lb0.pdb
12-Apr-24 03:30 PM 316,872 1lvz.pdb
12-Apr-24 03:31 PM 229,311 1m23.pdb
12-Apr-24 03:32 PM 31,104 1niz.pdb
12-Apr-24 03:30 PM 78,165 1tor.pdb
12-Apr-24 03:30 PM 49,329 1tos.pdb
12-Apr-24 02:47 PM 130,491 1trz.pdb
12-Apr-24 03:33 PM 34,506 3cmh.pdb
12-Apr-24 03:35 PM 658,206 3ifn.pdb
12-Apr-24 02:36 PM 38,475 5awl.pdb
12-Apr-24 02:58 PM 439,344 6a5j.pdb
12-Apr-24 02:57 PM 118,098 7ur8.pdb
24-Apr-24 08:18 PM <DIR> data
14 File(s) 2,585,034 bytes
3 Dir(s) 31,268,425,728 bytes free
C:PDB files>
So, why is BioJava not finding the file?