public void checkDoFirstInstall ( ) { if ( ! downloadAll ) { return ; } // this makes sure there is a file separator between every component, // if path has a trailing file separator or not, it will work for both cases File dir = new File ( getPath ( ) , CHEM_COMP_CACHE_DIRECTORY ) ; File f = new File ( dir , "components.cif.gz" ) ; if ( ! f . exists ( ) ) { downloadAllDefinitions ( ) ; } else { // file exists.. did it get extracted? FilenameFilter filter = new FilenameFilter ( ) { @ Override public boolean accept ( File dir , String file ) { return file . endsWith ( ".cif.gz" ) ; } } ; String [ ] files = dir . list ( filter ) ; if ( files . length < 500 ) { // not all did get unpacked try { split ( ) ; } catch ( IOException e ) { logger . error ( "Could not split file {} into individual chemical component files. Error: {}" , f . toString ( ) , e . getMessage ( ) ) ; } } } }
Checks if the chemical components already have been installed into the PDB directory . If not will download the chemical components definitions file and split it up into small subfiles .