Skip to content

Commit 269855a

Browse files
committed
biojava#534 moving the getHTML methods out of BioJava
1 parent aba6ed8 commit 269855a

File tree

1 file changed

+1
-159
lines changed

1 file changed

+1
-159
lines changed

biojava-genome/src/main/java/org/biojava/nbio/genome/util/ChromosomeMappingTools.java

Lines changed: 1 addition & 159 deletions
Original file line numberDiff line numberDiff line change
@@ -39,20 +39,7 @@ public static String formatExonStructure(GeneChromosomePosition chromosomePositi
3939
return formatExonStructureReverse(chromosomePosition);
4040

4141
}
42-
43-
44-
/** Pretty print the details of a GeneChromosomePosition in a HTML-formatted string
45-
*
46-
* @param chromosomePosition
47-
* @return
48-
*/
49-
public static String getHTMLExonStructure(GeneChromosomePosition chromosomePosition ){
50-
if ( chromosomePosition.getOrientation() == '+')
51-
return getHTMLExonStructureForward(chromosomePosition);
52-
53-
return getHTMLExonStructureReverse(chromosomePosition);
54-
55-
}
42+
5643

5744
private static String formatExonStructureForward(GeneChromosomePosition chromPos) {
5845

@@ -108,68 +95,6 @@ private static String formatExonStructureForward(GeneChromosomePosition chromPos
10895
}
10996

11097

111-
private static String getHTMLExonStructureForward(GeneChromosomePosition chromPos) {
112-
StringWriter s = new StringWriter();
113-
114-
List<Integer> exonStarts = chromPos.getExonStarts();
115-
List<Integer> exonEnds = chromPos.getExonEnds();
116-
117-
118-
int cdsStart = chromPos.getCdsStart();
119-
int cdsEnd = chromPos.getCdsEnd();
120-
121-
boolean inCoding = false;
122-
int codingLength = 0;
123-
124-
for (int i = 0; i < exonStarts.size(); i++) {
125-
126-
int start = exonStarts.get(i);
127-
int end = exonEnds.get(i);
128-
129-
130-
//s.append("forward exon: " + start + " - " + end + " | " + (end - start));
131-
//s.append(newline);
132-
133-
if (start <= cdsStart && end >= cdsStart) {
134-
135-
inCoding = true;
136-
codingLength += (end - cdsStart);
137-
s.append("<tr><th>Region</th><th>start</th><th>end</th><th>region length</th><th>phase at end</th></tr>");
138-
s.append("<tr><td>UTR</td><td>" + format(start) + "</td><td>" + format(cdsStart) + "</td><td></td><td></td></tr>");
139-
s.append(newline);
140-
s.append("<tr><td>Exon</td><td>").append(showGenePosLink(chromPos, (cdsStart + 1))).append("</td><td>").append(showGenePosLink(chromPos, end)).append("</td><td>").append(Integer.toString(end - cdsStart)).append("</td><td>").append(Integer.toString(codingLength % 3)).append("</td></tr>");
141-
s.append(newline);
142-
143-
} else if (start <= cdsEnd && end >= cdsEnd) {
144-
//logger.debug(" <-- CDS end at: " + cdsEnd );
145-
inCoding = false;
146-
codingLength += (cdsEnd - start);
147-
148-
s.append("<tr><td>Exon</td><td>" + showGenePosLink(chromPos, (start + 1)) + "</td><td>" + showGenePosLink(chromPos,cdsEnd) + "</td><td>" + (cdsEnd - start) + "</td><td>" + (codingLength % 3)+"</td></tr>");
149-
s.append(newline);
150-
s.append("<tr><td>UTR</td><td>" + format(cdsEnd +1) + "</td><td>" + format(end)+"</td><td></td><td></td></tr>");
151-
s.append(newline);
152-
153-
154-
} else if (inCoding) {
155-
// full exon is coding
156-
codingLength += (end - start);
157-
158-
s.append("<tr><td>Exon</td><td>").append(showGenePosLink(chromPos, (start + 1))).append("</td><td>").append(showGenePosLink(chromPos, end)).append("</td><td>").append(Integer.toString(end - start)).append("</td><td>").append(Integer.toString(codingLength % 3)).append("</td></tr>");
159-
s.append(newline);
160-
}
161-
// if ( inCoding )
162-
// logger.debug("exon phase at end:" + (codingLength % 3));
163-
//
164-
// logger.debug(" coding length: " + codingLength);
165-
166-
167-
}
168-
//s.append("Length of coding sequence: ");
169-
//s.append((codingLength-3)+" nucleotides.");
170-
s.append(newline);
171-
return s.toString();
172-
}
17398

17499
private static String showGenePosLink(GeneChromosomePosition chromPos, Integer pos ) {
175100

@@ -189,89 +114,6 @@ private static String showGenePosLink(GeneChromosomePosition chromPos, Integer p
189114
return buf.toString();
190115
}
191116

192-
private static String getHTMLExonStructureReverse(GeneChromosomePosition chromPos) {
193-
StringWriter s = new StringWriter();
194-
195-
List<Integer> exonStarts = chromPos.getExonStarts();
196-
List<Integer> exonEnds = chromPos.getExonEnds();
197-
198-
199-
int cdsStart = chromPos.getCdsStart();
200-
int cdsEnd = chromPos.getCdsEnd();
201-
202-
// logger.debug("CDS START:" +format(cdsStart) + " - " + format(cdsEnd));
203-
204-
boolean inCoding = false;
205-
int codingLength = 0;
206-
207-
if (cdsEnd < cdsStart) {
208-
int tmp = cdsEnd;
209-
cdsEnd = cdsStart;
210-
cdsStart = tmp;
211-
}
212-
213-
s.append("<tr><th>Region</th><th>start</th><th>end</th><th>region length</th><th>phase at end</th></tr>");
214-
// map reverse
215-
for (int i = exonStarts.size() - 1; i >= 0; i--) {
216-
217-
int end = exonStarts.get(i);
218-
int start = exonEnds.get(i);
219-
220-
if (end < start) {
221-
int tmp = end;
222-
end = start;
223-
start = tmp;
224-
}
225-
226-
if (start <= cdsEnd && end >= cdsEnd) {
227-
inCoding = true;
228-
229-
230-
int tmpstart = start;
231-
if (start < cdsStart) {
232-
tmpstart = cdsStart;
233-
}
234-
codingLength += (cdsEnd - tmpstart);
235-
236-
s.append("<tr><td><div data-toggle=\"tooltip\" data-placement=\"top\" title=\"Untranslated Region\">UTR</div></td><td>").append(format(cdsEnd + 1)).append("</td><td>").append(format(end)).append("</td><td></td><td></td></tr>");
237-
s.append(newline);
238-
239-
s.append("<tr><td>Exon</td><td>" + showGenePosLink(chromPos,(tmpstart+1)) + "</td><td>" + showGenePosLink(chromPos, cdsEnd) + "</td><td>" + (cdsEnd - tmpstart) + "</td><td>" + (codingLength % 3)+"</td></tr>");
240-
s.append(newline);
241-
// single exon with UTR on both ends
242-
if (tmpstart != start)
243-
s.append("<tr><td><div data-toggle=\"tooltip\" data-placement=\"top\" title=\"Untranslated Region\">UTR</div></td><td>" + format(cdsStart) + "</td><td>" + format(start + 1) + "</td><td></td><td></td></tr>");
244-
s.append(newline);
245-
246-
} else if (start <= cdsStart && end >= cdsStart) {
247-
inCoding = false;
248-
codingLength += (end - cdsStart);
249-
250-
s.append("<tr><td>Exon</td><td>" + showGenePosLink(chromPos,(cdsStart+1)) + "</td><td>" + showGenePosLink(chromPos, end) + "</td><td>" + (end - cdsStart) +"</td><td>"+ (codingLength % 3)+"</td></tr>");
251-
s.append(newline);
252-
s.append("<tr><td><div data-toggle=\"tooltip\" data-placement=\"top\" title=\"Untranslated Region\">UTR</div></td><td>" + format(start+1) + "</td><td>" + format(cdsStart)+"</td><td></td><td></td></tr>");
253-
s.append(newline);
254-
255-
256-
} else if (inCoding) {
257-
// full exon is coding
258-
codingLength += (end - start);
259-
260-
s.append("<tr><td>Exon</td><td>" + showGenePosLink(chromPos,(start+1)) + "</td><td>" + showGenePosLink(chromPos, end) + "</td><td>" + (end - start) + "</td><td>" + (codingLength % 3)+"</td></tr>");
261-
s.append(newline);
262-
} else {
263-
// e.g. see UBQLN3
264-
s.append("<tr><td data-toggle=\"tooltip\" data-placement=\"right\" title=\"Untranslated Region\">UTR</td><td>" + format(start) + "</td><td>" + format(end)+"</td><td></td><td></td></tr>");
265-
s.append(newline);
266-
}
267-
}
268-
269-
// s.append("Length coding sequence: " + (codingLength-3) + " nucleotides");
270-
s.append(newline);
271-
272-
return s.toString();
273-
}
274-
275117

276118
private static String formatExonStructureReverse(GeneChromosomePosition chromPos) {
277119
StringWriter s = new StringWriter();

0 commit comments

Comments
 (0)