Skip to content
/ JLJP Public

Java application for calculating liquid junction potential (LJP)

License

Notifications You must be signed in to change notification settings

swharden/JLJP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JLJP

CI

JLJP is a Java application which calculates liquid junction potential (LJP) for two solutions with an arbitrary number of ions. Unlike other LJP calculators, JLJP allows the user to define ion activity as a function of concentration. See Marino et al., 2014 for a detailed explanation of the calculation methods employed by this software.

History

JLJP was originally written by Doriano Brogioli and published on SourceForge under a creative commons attribution license in 2013. Detailed theory underlying this application is documented in A new open source software for the calculation of the liquid junction potential between two solutions according to the stationary Nernst-Planck equation (Marino et al., 2014). At the time of its creation JLJP was the only open source LJP calculator freely available on the Internet which did not limit the number of ions used in the calculation.

Scott W Harden uploaded the JLJP source code to GitHub in under a MIT license (with permission from the original author) in 2020. The original version can still be found in Releases. Scott modified the code to make it compile without errors on modern versions of Java, revised the documentation, lightly improved the GUI, and added unit tests to ensure LJP calculations remain accurate. The core analytical methods of JLJP have been ported to C# as the LJPmath module of the LJPcalc project.

Quickstart

  • Install the Java Platform (JDK)
  • Ensure Java's bin folder is in your system path (instructions)
  • Compile with javac -nowarn Jljp.java
  • Launch the GUI with java Jljp
  • Add ions (Zn, K, and Cl) as seen in the screenshot
  • Set concentrations (c0 and cL) for each ion
  • Select "X" and "Last" as shown in the screenshot
  • Click "Calculate" and the liquid junction potential will be displayed

Notes about Adding Ions

  • In the graphical panel put the name of the ion in the text field and press "Add"
  • Use names like Na and Cl (do not write charge as a number)
  • For ions that can have various charges, use FeII and FeIII
  • Each ion added will have several parameters:
    • Name: Na, Zn, Cl, etc.
    • Charge (relative to e): 1 for sodium, 2 for zinc, -1 for chlorine, etc.
    • For common ions charge and mobility are populated automatically
    • Mobility: units must be m/s / N (not the electrokinetic mobility!)
    • cdadc: concentration (M) at each end of the interface (see note 1)
    • phi: relative flux of the ion (automatically calculated by the program)
  • You must define two ions as x and last (see note 2)

Note 1: cdadc is the ion's concentration times the derivative of the logarithm of that ion's activity with respect to its concentration. The units of concentration and activity are M and cdadc is dimensionless. When calculating LJP for small concentrations (where ionic activity is close to concentration) this value is approximately 1.0

Note 2: The values of c0 and cL for the ion "last" is ignored and calculated from the values of the other ions by imposing the electro-neutrality.

Resources

  • LJPcalc is a C# port of this application which can run in the browser

  • View the JLJP Java API on SourceForge

  • The package can be used both as single classes (Example.java) or a graphical interface (Jljp.class).

  • Typically the Henderson method is employed in commercial programs. They are often used for correcting the results of biophisical measurements. The algorithm JLJP uses is more general.

  • Comparison of Henderson's Method I and restricted maximum likelihood estimation of genetic parameters of reproductive traits (PMID 1886854)

  • Liquid junction potential on Wikipedia