/*
* BioJava development code
*
* This code may be freely distributed and modified under the
* terms of the GNU Lesser General Public Licence. This should
* be distributed with the code. If you do not have a copy,
* see:
*
* http://www.gnu.org/copyleft/lesser.html
*
* Copyright for this code is held jointly by the individual
* authors. These should be listed in @author doc comments.
*
* For more information on the BioJava project and its aims,
* or to join the biojava-l mailing list, visit the home page
* at:
*
* http://www.biojava.org/
*
*/
package org.biojava.nbio.aaproperties;
import org.biojava.nbio.aaproperties.PeptideProperties;
import org.biojava.nbio.aaproperties.xml.AminoAcidCompositionTable;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.xml.bind.JAXBException;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Map;
public class CookBookTest {
// TODO this test doesn't assert anything, i.e. it is not a test! Should fix! - JD 2016-03-07
private final static Logger logger = LoggerFactory.getLogger(CookBookTest.class);
@Test
public void shortExample1(){
String sequence = "QIKDLLVSSSTDLDTTLVLVNAIYFKGMWKTAFNAEDTREMPFHVTKQESKPVQMMCMNNSFNVATLPAE";
logger.debug("Molecular Weight: {}", PeptideProperties.getMolecularWeight(sequence));
}
@Test
public void shortExample2() throws FileNotFoundException, JAXBException{
String sequence = "QIKDLLVSSSTDLDTTLVLVNAIYFKGMWKTAFNAEDTREMPFHVTKQESKPVQMMCMNNSFNVATLPAE";
File aminoAcidCompositionFile = new File("./src/main/resources/AminoAcidComposition.xml");
logger.debug("Molecular Weight: {}", PeptideProperties.getMolecularWeight(sequence, aminoAcidCompositionFile));
}
@Test
public void shortExample3() throws Exception{
String[] sequences = new String[3];
sequences[0] = "QIKDLLVSSSTDLDTTLVLVNAIYFKGMWKTAFNAEDTREMPFHVTKQESKPVQMMCMNNSFNVATLPAE";
sequences[1] = "KMKILELPFASGDLSMLVLLPDEVSDLERIEKTINFEKLTEWTNPNTMEKRRVKVYLPQMKIEEKYNLTS";
sequences[2] = "VLMALGMTDLFIPSANLTGISSAESLKISQAVHGAFMELSEDGIEMAGSTGVIEDIKHSPESEQFRADHP";
File aminoAcidCompositionFile = new File("./src/main/resources/AminoAcidComposition.xml");
AminoAcidCompositionTable table = PeptideProperties.obtainAminoAcidCompositionTable(aminoAcidCompositionFile);
for(String sequence:sequences){
logger.debug("Molecular Weight: {}", PeptideProperties.getMolecularWeightBasedOnXML(sequence, table));
}
}
@Test
public void shortExample4(){
String sequence = "QIKDLLVSSSTDLDTTLVLVNAIYFKGMWKTAFNAEDTREMPFHVTKQESKPVQMMCMNNSFNVATLPAE";
//Enrichment of a specific amino acid type
logger.debug("Composition of A: {}", PeptideProperties.getEnrichment(sequence, "A"));
//Enrichment of a list of amino acid types
Map<String, Double> composition = PeptideProperties.getAACompositionString(sequence);
for(String aa:composition.keySet()){
logger.debug("Composition of {}: {}", aa, composition.get(aa));
}
}
@Test
public void shortExample5(){
String sequence = "QIKDLLVSSSTDLDTTLVLVNAIYFKGMWKTAFNAEDTRECMPFHVTKQESKPVQMMCMNNSFNVATLPAE";
//Absorbance
logger.debug("Absorbance (Cys Reduced): {}", PeptideProperties.getAbsorbance(sequence, true));
logger.debug("Absorbance (Cys Not Reduced): {}", PeptideProperties.getAbsorbance(sequence, false));
//Extinction Coefficient
logger.debug("Extinction Coefficient (Cys Reduced): {}", PeptideProperties.getExtinctionCoefficient(sequence, true));
logger.debug("Extinction Coefficient (Cys Not Reduced): {}", PeptideProperties.getExtinctionCoefficient(sequence, false));
//Instability Index
logger.debug("Instability Index: {}", PeptideProperties.getInstabilityIndex(sequence));
//Apliphatic Index
logger.debug("Apliphatic Index: {}", PeptideProperties.getApliphaticIndex(sequence));
//Average Hydropathy Value
logger.debug("Average Hydropathy Value: {}", PeptideProperties.getAvgHydropathy(sequence));
//Isoelectric Point
logger.debug("Isoelectric Point: {}", PeptideProperties.getIsoelectricPoint(sequence));
//Net Charge
logger.debug("Net Charge at pH 7: {}", PeptideProperties.getNetCharge(sequence));
}
}