001/*
002 *                    BioJava development code
003 *
004 * This code may be freely distributed and modified under the
005 * terms of the GNU Lesser General Public Licence.  This should
006 * be distributed with the code.  If you do not have a copy,
007 * see:
008 *
009 *      http://www.gnu.org/copyleft/lesser.html
010 *
011 * Copyright for this code is held jointly by the individual
012 * authors.  These should be listed in @author doc comments.
013 *
014 * For more information on the BioJava project and its aims,
015 * or to join the biojava-l mailing list, visit the home page
016 * at:
017 *
018 *      http://www.biojava.org/
019 *
020 */
021package org.biojava.nbio.core.sequence.io.embl;
022
023/**
024 * This class contains the processed data of embl file
025 * Primary accession number
026 * Sequence version number
027 * Topology: 'circular' or 'linear'
028 * Molecule type
029 * Data class
030 * Taxonomic division
031 * Sequence length
032 *
033 * @author Noor Aldeen Al Mbaidin
034 * @since 5.0.0
035 */
036public class EmblId {
037
038
039        private final String primaryAccession;
040        private final String sequenceVersion;
041        private final String topology;
042        private final String moleculeType;
043        private final String dataClass;
044        private final String taxonomicDivision;
045        private final String sequenceLength;
046
047        public EmblId(String primaryAccession, String sequenceVersion, String topology,
048                                  String moleculeType, String dataClass, String taxonomicDivision,
049                                  String sequenceLength) {
050                this.primaryAccession = primaryAccession;
051                this.sequenceVersion = sequenceVersion;
052                this.topology = topology;
053                this.moleculeType = moleculeType;
054                this.dataClass = dataClass;
055                this.taxonomicDivision = taxonomicDivision;
056                this.sequenceLength = sequenceLength;
057        }
058
059        /**
060         * @return String
061         */
062        public String getPrimaryAccession() {
063                return primaryAccession;
064        }
065
066        /**
067         * return the sequence version
068         *
069         * @return String
070         */
071        public String getSequenceVersion() {
072                return sequenceVersion;
073        }
074
075        public String getTopology() {
076                return topology;
077        }
078
079        /**
080         * Molecule type this represents the type of molecule as stored
081         *
082         * @return String
083         */
084        public String getMoleculeType() {
085                return moleculeType;
086        }
087
088        public String getDataClass() {
089                return dataClass;
090        }
091
092        /**
093         * @return String
094         */
095        public String getTaxonomicDivision() {
096                return taxonomicDivision;
097        }
098
099        /**
100         * Sequence length The last item on the ID line is the length of the
101         * sequence (the total number of bases in the sequence). This number includes
102         * base positions reported as present but undetermined (coded as "N").
103         *
104         * @return String
105         */
106        public String getSequenceLength() {
107                return sequenceLength;
108        }
109
110}