💥 Algorithms that are built around BioJava and run on Apache Spark
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.gitignore
.travis.yml
LICENSE
README.md
icon.png
pom.xml

README.md

BioJava-Spark

Algorithms that are built around BioJava and are running on Apache Spark

Build Status License Status Version

Starting up

Some initial instructions can be found on the mmtf-spark project

https://github.com/rcsb/mmtf-spark

First download and untar a Hadoop sequence file of the PDB (~7 GB download)

wget http://mmtf.rcsb.org/v1.0/hadoopfiles/full.tar
tar -xvf full.tar

Or you can get a C-alpha, phosphate, ligand only version (~800 Mb download)

wget http://mmtf.rcsb.org/v1.0/hadoopfiles/reduced.tar
tar -xvf reduced.tar

Second add the biojava-spark dependecy to your pom

		<dependency>
			<groupId>org.biojava</groupId>
			<artifactId>biojava-spark</artifactId>
			<version>0.2.1</version>
		</dependency>

Extra Biojava examples

Do some simple quality filtering

	float maxResolution = 3.0f;
	float maxRfree = 0.3f;
	StructureDataRDD structureData = new StructureDataRDD("/path/to/file")
				.filterResolution(maxResolution)
				.filterRfree(maxRfree);

Summarsing the elements in the PDB

	Map<String, Long> elementCountMap = BiojavaSparkUtils.findAtoms(structureData).countByElement();

Finding inter-atomic contacts from the PDB

		Double mean = BiojavaSparkUtils.findContacts(structureData,
				new AtomSelectObject()
						.groupNameList(new String[] {"PRO","LYS"})
						.elementNameList(new String[] {"C"})
						.atomNameList(new String[] {"CA"}),
						cutoff)
				.getDistanceDistOfAtomInts("CA", "CA")
				.mean();
		System.out.println("\nMean PRO-LYS CA-CA distance: "+mean);