View Javadoc

1   /*--------------------------------------------------------------------------
2    *  Copyright 2010 utgenome.org
3    *
4    *  Licensed under the Apache License, Version 2.0 (the "License");
5    *  you may not use this file except in compliance with the License.
6    *  You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   *  Unless required by applicable law or agreed to in writing, software
11   *  distributed under the License is distributed on an "AS IS" BASIS,
12   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   *  See the License for the specific language governing permissions and
14   *  limitations under the License.
15   *--------------------------------------------------------------------------*/
16  //--------------------------------------
17  // utgb-core Project
18  //
19  // SAMReadPairFragment.java
20  // Since: 2010/12/02
21  //
22  //--------------------------------------
23  package org.utgenome.gwt.utgb.client.bio;
24  
25  /**
26   * Paired-end reads without the other mate data
27   * 
28   * @author leo
29   * 
30   */
31  public class SAMReadPairFragment extends Interval {
32  	/**
33  	 * 
34  	 */
35  	private static final long serialVersionUID = 1L;
36  
37  	public SAMReadLight oneEnd;
38  	public int mateStart;
39  
40  	public SAMReadPairFragment() {
41  	}
42  
43  	public SAMReadPairFragment(SAMReadLight oneEnd, int mateStart) {
44  		super(Math.min(oneEnd.unclippedStart, mateStart), Math.max(oneEnd.unclippedEnd, mateStart));
45  		this.oneEnd = oneEnd;
46  		this.mateStart = mateStart;
47  	}
48  
49  	@Override
50  	public String getName() {
51  		return oneEnd.getName();
52  	}
53  
54  	public Gap getGap() {
55  		if (mateStart > oneEnd.unclippedEnd) {
56  			return new Gap(oneEnd.unclippedEnd, mateStart);
57  		}
58  		else if (mateStart < oneEnd.unclippedStart) {
59  			return new Gap(mateStart, oneEnd.unclippedStart);
60  		}
61  		else
62  			return new Gap(-1, -1);
63  	}
64  
65  	@Override
66  	public void accept(OnGenomeDataVisitor visitor) {
67  		visitor.visitSAMReadPairFragment(this);
68  	}
69  }