/* * Copyright (c) 2007-2011 by The Broad Institute of MIT and Harvard. All Rights Reserved. * * This software is licensed under the terms of the GNU Lesser General Public License (LGPL), * Version 2.1 which is available at http://www.opensource.org/licenses/lgpl-2.1.php. * * THE SOFTWARE IS PROVIDED "AS IS." THE BROAD AND MIT MAKE NO REPRESENTATIONS OR * WARRANTES OF ANY KIND CONCERNING THE SOFTWARE, EXPRESS OR IMPLIED, INCLUDING, * WITHOUT LIMITATION, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, WHETHER * OR NOT DISCOVERABLE. IN NO EVENT SHALL THE BROAD OR MIT, OR THEIR RESPECTIVE * TRUSTEES, DIRECTORS, OFFICERS, EMPLOYEES, AND AFFILIATES BE LIABLE FOR ANY DAMAGES * OF ANY KIND, INCLUDING, WITHOUT LIMITATION, INCIDENTAL OR CONSEQUENTIAL DAMAGES, * ECONOMIC DAMAGES OR INJURY TO PROPERTY AND LOST PROFITS, REGARDLESS OF WHETHER * THE BROAD OR MIT SHALL BE ADVISED, SHALL HAVE OTHER REASON TO KNOW, OR IN FACT * SHALL KNOW OF THE POSSIBILITY OF THE FOREGOING. */ package edu.mit.broad.prodinfo.chromosome; import edu.mit.broad.prodinfo.genomicplot.GenomicAnnotation; import edu.mit.broad.prodinfo.genomicplot.TwoSubjectAnnotation; public class BasicTwoSubjectAnnotation implements TwoSubjectAnnotation { private GenomicAnnotation a; private GenomicAnnotation b; public BasicTwoSubjectAnnotation() { a = new BasicGenomicAnnotation("A"); b = new BasicGenomicAnnotation("B"); } public GenomicAnnotation getA() { return a; } public int getAEnd() { return a.getEnd(); } public String getAName() { return a.getName(); } public int getAStart() { return a.getStart(); } public GenomicAnnotation getB() { return b; } public int getBEnd() { return b.getEnd(); } public String getBName() { return b.getName(); } public int getBStart() { return b.getStart(); } public void setA(GenomicAnnotation a) { this.a = a;} public void setB(GenomicAnnotation b) { this.b = b;} public boolean isDirect() { return !a.inReversedOrientation() && ! b.inReversedOrientation(); } public String toString() { return getA().getChromosome() + ":" + getA().getStart() + "-" + getA().getEnd() + "\t("+(isDirect() ? "+" : "-")+")\t" + getB().getChromosome() + ":" + getB().getStart() + "-" + getB().getEnd(); } }