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

com.hfg.bio.seq.BioSequencePlus Maven / Gradle / Ivy

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

import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Set;

import com.hfg.bio.DbXref;
import com.hfg.bio.seq.format.SeqCitation;
import com.hfg.bio.seq.format.feature.FeatureKey;
import com.hfg.bio.seq.format.feature.SeqFeature;
import com.hfg.bio.seq.format.feature.qualifier.MolType;
import com.hfg.bio.taxonomy.ncbi.NCBITaxon;
import com.hfg.bio.taxonomy.SeqRepositoryDivision;
import com.hfg.util.collection.CollectionUtil;

//------------------------------------------------------------------------------
/**
 Interface for an exetended biological protein, DNA, or RNA sequence with support for features,
 citations, db xrefs, etc.
 
@author J. Alex Taylor, hairyfatguy.com
*/ //------------------------------------------------------------------------------ // com.hfg XML/HTML Coding 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 interface BioSequencePlus extends BioSequence { //-------------------------------------------------------------------------- public BioSequencePlusImpl setSeqRepositoryDivision(SeqRepositoryDivision inValue); //-------------------------------------------------------------------------- public SeqRepositoryDivision getSeqRepositoryDivision(); //-------------------------------------------------------------------------- public BioSequencePlusImpl setMolType(MolType inValue); //-------------------------------------------------------------------------- public MolType getMolType(); //-------------------------------------------------------------------------- public BioSequencePlusImpl setSeqTopology(SeqTopology inValue); //-------------------------------------------------------------------------- public SeqTopology getSeqTopology(); //-------------------------------------------------------------------------- public BioSequence addFeature(SeqFeature inValue); //-------------------------------------------------------------------------- public List getFeatures(); //-------------------------------------------------------------------------- public List getFeatures(FeatureKey inFeatureKey); //-------------------------------------------------------------------------- public void clearFeatures(); //-------------------------------------------------------------------------- public BioSequence addReference(SeqCitation inValue); //-------------------------------------------------------------------------- public List getReferences(); //-------------------------------------------------------------------------- public void clearReferences(); //-------------------------------------------------------------------------- public BioSequence addDbXref(DbXref inValue); //-------------------------------------------------------------------------- public List getDbXrefs(); //-------------------------------------------------------------------------- public void clearDbXrefs(); //-------------------------------------------------------------------------- public BioSequence addKeyword(String inValue); //-------------------------------------------------------------------------- public BioSequence addKeywords(Collection inValues); //-------------------------------------------------------------------------- public BioSequence addKeywords(String[] inValues); //-------------------------------------------------------------------------- public Set getKeywords(); //-------------------------------------------------------------------------- public void clearKeywords(); //-------------------------------------------------------------------------- public BioSequencePlusImpl setRevisionDate(Date inValue); //-------------------------------------------------------------------------- public Date getRevisionDate(); //-------------------------------------------------------------------------- public BioSequencePlusImpl setClone(Clone inValue); //-------------------------------------------------------------------------- public Clone getClone(); //-------------------------------------------------------------------------- public BioSequencePlusImpl setNCBITaxon(NCBITaxon inValue); //-------------------------------------------------------------------------- public NCBITaxon getNCBITaxon(); //-------------------------------------------------------------------------- public default boolean hadParseExceptions() { return CollectionUtil.hasValues(getParseExceptions()); } //-------------------------------------------------------------------------- public void addParseException(Throwable inException); //-------------------------------------------------------------------------- public List getParseExceptions(); //-------------------------------------------------------------------------- public void clearParseExceptions(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy