com.ohnosequences.xml.model.go.GOSlimXML.java Source code

Java tutorial

Introduction

Here is the source code for com.ohnosequences.xml.model.go.GOSlimXML.java

Source

/*
 * Copyright (C) 2010-2012  "Oh no sequences!"
 *
 * This is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 * This program 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 Affero General Public License for more details.
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>
 */

package com.ohnosequences.xml.model.go;

import com.ohnosequences.xml.api.model.XMLElement;
import java.util.ArrayList;
import java.util.List;
import org.jdom2.Element;

/**
 *
 * @author ppareja
 */
public class GOSlimXML extends XMLElement {

    public static final String TAG_NAME = "go_slim";

    public static final String SAMPLE_GENE_NUMBER_TAG_NAME = "sample_gene_number";
    public static final String SAMPLE_ANNOTATED_GENE_NUMBER_TAG_NAME = "sample_annotated_gene_number";
    //public static final String SLIM_SET_TAG_NAME = "slim_set";
    public static final String GO_TERMS_LOST_NOT_INCLUDED_IN_SLIM_SET = "go_terms_lost_not_included_in_slim_set";

    public static final String PROTEINS_TAG_NAME = "proteins";

    public GOSlimXML() {
        super(new Element(TAG_NAME));
    }

    public GOSlimXML(String value) throws Exception {
        super(value);
    }

    public GOSlimXML(Element element) {
        super(element);
    }

    //----------------SETTERS-------------------

    public void setGoTermsLostNotIncludedInSlimSet(int value) {
        setNodeText(GO_TERMS_LOST_NOT_INCLUDED_IN_SLIM_SET, String.valueOf(value));
    }

    public void setSampleGeneNumber(int value) {
        setNodeText(SAMPLE_GENE_NUMBER_TAG_NAME, String.valueOf(value));
    }

    public void setSampleAnnotatedGeneNumber(int value) {
        setNodeText(SAMPLE_ANNOTATED_GENE_NUMBER_TAG_NAME, String.valueOf(value));
    }

    public void setSlimSet(SlimSetXML set) {
        root.removeChildren(SlimSetXML.TAG_NAME);
        addChild(set);
    }

    //----------------GETTERS---------------------
    public SlimSetXML getSlimSet() {
        SlimSetXML set = null;
        Element elem = root.getChild(SlimSetXML.TAG_NAME);
        if (elem != null) {
            set = new SlimSetXML(elem);
        }
        return set;
    }

    public List<GoTermXML> getGoTermsLostNotIncludedInSlimSet() {

        List<GoTermXML> list = new ArrayList<GoTermXML>();

        Element elem = this.asJDomElement().getChild(GO_TERMS_LOST_NOT_INCLUDED_IN_SLIM_SET);
        if (elem != null) {
            List<Element> tempList = elem.getChildren(GoTermXML.TAG_NAME);
            for (Element element : tempList) {
                list.add(new GoTermXML(element));
            }
        }

        return list;
    }

    public int getSampleGeneNumber() throws NumberFormatException {
        return Integer.parseInt(getNodeText(SAMPLE_GENE_NUMBER_TAG_NAME));
    }

    public int getSampleAnnotatedGeneNumber() throws NumberFormatException {
        return Integer.parseInt(getNodeText(SAMPLE_ANNOTATED_GENE_NUMBER_TAG_NAME));
    }

    public void addGoTermLostNotIncludedInSlimSet(GoTermXML term) {
        Element elem = initGoTermLostNotIncludedInSlimSetTag();
        elem.addContent(term.asJDomElement());
    }

    private Element initGoTermLostNotIncludedInSlimSetTag() {
        Element elem = this.asJDomElement().getChild(GO_TERMS_LOST_NOT_INCLUDED_IN_SLIM_SET);
        if (elem == null) {
            this.asJDomElement().addContent(new Element(GO_TERMS_LOST_NOT_INCLUDED_IN_SLIM_SET));
            elem = this.asJDomElement().getChild(GO_TERMS_LOST_NOT_INCLUDED_IN_SLIM_SET);
        }
        return elem;
    }

}