All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hfg.bio.proteinproperty.PctExtinctionCoeff Maven / Gradle / Ivy

There is a newer version: 20240423
Show newest version
package com.hfg.bio.proteinproperty;

import java.math.BigDecimal;
import java.math.MathContext;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

import com.hfg.bio.seq.Protein;

//------------------------------------------------------------------------------
/**
 Percent extinction coefficient (ml/mg cm-1) at A280
 packaged as a protein property for ease of integration with other protein properties.
 
Uses residue coefficients from Pace, C.N. et. al. (1995). "How to measure and predict the molar absorption coefficient of a protein." Protein Science, 4, 2411-2423.
@author J. Alex Taylor, hairyfatguy.com
*/ //------------------------------------------------------------------------------ // com.hfg Library // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com // [email protected] //------------------------------------------------------------------------------ public class PctExtinctionCoeff extends SimpleProteinProperty { private static Map sUniqueMap = new HashMap<>(); public static final PctExtinctionCoeff PROPERTY = new PctExtinctionCoeff("Pct. Extinction Coeff.", "Pct. Exinction Coefficient (ml/mg per cm) at A280"); //########################################################################### // CONSTRUCTORS //########################################################################### //--------------------------------------------------------------------------- private PctExtinctionCoeff(String inName, String inDescription) { super(inName); setDescription(inDescription); sUniqueMap.put(inName, this); } //########################################################################### // PUBLIC METHODS //########################################################################### //--------------------------------------------------------------------------- public static Collection values() { return sUniqueMap.values(); } //-------------------------------------------------------------------------- public String getType() { return "Extinction Coeff."; } //--------------------------------------------------------------------------- public Float calculate(Protein inProtein) { return calculate(inProtein, null); } //--------------------------------------------------------------------------- public Float calculate(Protein inProtein, SimpleProteinPropertyCalcSettings inSettings) { double value = inProtein.getExtinctionCoeff() / inProtein.getAverageMass(); BigDecimal bd = new BigDecimal(value); bd = bd.round(new MathContext(3)); double roundedValue = bd.doubleValue(); return (float) roundedValue; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy