Java port of PSORTb