1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
5 <!-- Generated by javadoc (1.8.0_121) on Fri Apr 21 15:32:49 BST 2017 -->
6 <title>FastaReader</title>
7 <meta name="date" content="2017-04-21">
8 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
9 <script type="text/javascript" src="../../../script.js"></script>
12 <script type="text/javascript"><!--
14 if (location.href.indexOf('is-external=true') == -1) {
15 parent.document.title="FastaReader";
21 var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9};
22 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
23 var altColor = "altColor";
24 var rowColor = "rowColor";
25 var tableTab = "tableTab";
26 var activeTableTab = "activeTableTab";
29 <div>JavaScript is disabled on your browser.</div>
31 <!-- ========= START OF TOP NAVBAR ======= -->
32 <div class="topNav"><a name="navbar.top">
35 <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
36 <a name="navbar.top.firstrow">
39 <ul class="navList" title="Navigation">
40 <li><a href="../../../overview-summary.html">Overview</a></li>
41 <li><a href="package-summary.html">Package</a></li>
42 <li class="navBarCell1Rev">Class</li>
43 <li><a href="class-use/FastaReader.html">Use</a></li>
44 <li><a href="package-tree.html">Tree</a></li>
45 <li><a href="../../../deprecated-list.html">Deprecated</a></li>
46 <li><a href="../../../index-files/index-1.html">Index</a></li>
47 <li><a href="../../../help-doc.html">Help</a></li>
52 <li><a href="../../../compbio/data/sequence/DisorderMethod.html" title="enum in compbio.data.sequence"><span class="typeNameLink">Prev Class</span></a></li>
53 <li><a href="../../../compbio/data/sequence/FastaSequence.html" title="class in compbio.data.sequence"><span class="typeNameLink">Next Class</span></a></li>
56 <li><a href="../../../index.html?compbio/data/sequence/FastaReader.html" target="_top">Frames</a></li>
57 <li><a href="FastaReader.html" target="_top">No Frames</a></li>
59 <ul class="navList" id="allclasses_navbar_top">
60 <li><a href="../../../allclasses-noframe.html">All Classes</a></li>
63 <script type="text/javascript"><!--
64 allClassesLink = document.getElementById("allclasses_navbar_top");
66 allClassesLink.style.display = "block";
69 allClassesLink.style.display = "none";
75 <ul class="subNavList">
76 <li>Summary: </li>
77 <li>Nested | </li>
78 <li><a href="#field.summary">Field</a> | </li>
79 <li><a href="#constructor.summary">Constr</a> | </li>
80 <li><a href="#method.summary">Method</a></li>
82 <ul class="subNavList">
83 <li>Detail: </li>
84 <li><a href="#field.detail">Field</a> | </li>
85 <li><a href="#constructor.detail">Constr</a> | </li>
86 <li><a href="#method.detail">Method</a></li>
89 <a name="skip.navbar.top">
92 <!-- ========= END OF TOP NAVBAR ========= -->
93 <!-- ======== START OF CLASS DATA ======== -->
95 <div class="subTitle">compbio.data.sequence</div>
96 <h2 title="Class FastaReader" class="title">Class FastaReader</h2>
98 <div class="contentContainer">
99 <ul class="inheritance">
100 <li>java.lang.Object</li>
102 <ul class="inheritance">
103 <li>compbio.data.sequence.FastaReader</li>
107 <div class="description">
108 <ul class="blockList">
109 <li class="blockList">
111 <dt>All Implemented Interfaces:</dt>
112 <dd>java.util.Iterator<<a href="../../../compbio/data/sequence/FastaSequence.html" title="class in compbio.data.sequence">FastaSequence</a>></dd>
116 <pre>public class <span class="typeNameLabel">FastaReader</span>
117 extends java.lang.Object
118 implements java.util.Iterator<<a href="../../../compbio/data/sequence/FastaSequence.html" title="class in compbio.data.sequence">FastaSequence</a>></pre>
119 <div class="block">Reads files with FASTA formatted sequences. All the information in the FASTA
120 header is preserved including trailing white spaces. All the white spaces are
121 removed from the sequence.
123 Examples of the correct input:
128 GCQDKNNIAELNEIMGTTRSPSDWQHMKGASPRAEIGLTGKKDSWWRHCCSKEFNKTPPPIHPDMKRWGWMWNRENFEKFLIDNFLNPPCPRLMLTKGTWWRHEDLCHEIFWSTLRWLCLGNQSFSAMIWGHLCECHRMIWWESNEHMFWLKFRRALKKMNSNGPCMGPDNREWMITNRMGKEFCGPAFAGDCQSCWRKCHKTNKICFNEKKGTPTKIDHEQKDIMDILKDIDNHRNWKQCQLWLLTSKSTDQESTTMLTWSTWRDFFIIIKQPFDHKCRGALDANGDFQIAAELKWPAPMIILRQNQKTMHDKSCHHFFTNRCPLMHTTRANDKQCSWHTRKQFICQQDFTTWQHRPDTHRILPSWCMSTRRKNHIKNTPALAFSTCEMGDLPNGWAPGTIILQRQFTQAIKLPQETTGWPRCDPKFDHWNMSKWLRQLLGRDDEMIPPQCD
131 CPLSKWWNRRAFLSHTANHWMILMTWEGPHDGESKMRIAMMKWSPCKPTMSHFRCGLDAWAEPIRQIACESTFRM
132 FCTTPRPIHKLTEMWGHMNGWTGAFCRQLECEWMMPPRHPHPCTSTFNNNKKRLIGQIPNEGKQLFINFQKPQHG
133 FSESDIWIWKDNPTAWHEGLTIAGIGDGQHCWNWMPMPWSGAPTSNALIEFWTWLGMIGTRCKTQGMWWDAMNHH
134 DQFELSANAHIAAHHMEKKMILKPDDRNLGDDTWMPPGKIWMRMFAKNTNACWPEGCRDDNEEDDCGTHNLHRMC
137 CGCKIF D D NMKDNNRHG TDIKKHGFMH IRHPE KRDDC FDNHCIMPKHRRWGLWD
138 EASINM AQQWRSLPPSRIMKLNG HGCDCMHSHMEAD DTKQSGIKGTFWNG HDAQWLCRWG
139 EFITEA WWGRWGAITFFHAH ENKNEIQECSDQNLKE SRTTCEIID TCHLFTRHLDGW
140 RCEKCQANATHMTW ACTKSCAEQW FCAKELMMN
141 W KQMGWRCKIFRKLFRDNCWID FELPWWPICFCCKGLSTKSHSAHDGDQCRRW WPDCARDWLGPGIRGEF
142 FCTHICQQLQRNFWCGCFRWNIEKRMFEIFDDNMAAHWKKCMHFKFLIRIHRHGPITMKMTWCRSGCCFGKTRRLPDSSFISAFLDPKHHRDGSGMMMWSSEMRSCAIPDPQQAWNQGKWIGQIKDWNICFAWPIRENQQCWATPHEMPSGFHFILEKWDALAHPHMHIRQKKCWAWAFLSLMSSTHSDMATFQWAIPGHNIWSNWDNIICGWPRI
149 CCDQCQSWEAENWCASMRKAILF
153 <dt><span class="simpleTagLabel">Version:</span></dt>
154 <dd>1.0 April 2011</dd>
155 <dt><span class="simpleTagLabel">Author:</span></dt>
156 <dd>Peter Troshin</dd>
161 <div class="summary">
162 <ul class="blockList">
163 <li class="blockList">
164 <!-- =========== FIELD SUMMARY =========== -->
165 <ul class="blockList">
166 <li class="blockList"><a name="field.summary">
169 <h3>Field Summary</h3>
170 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
171 <caption><span>Fields</span><span class="tabEnd"> </span></caption>
173 <th class="colFirst" scope="col">Modifier and Type</th>
174 <th class="colLast" scope="col">Field and Description</th>
176 <tr class="altColor">
177 <td class="colFirst"><code>private java.lang.String</code></td>
178 <td class="colLast"><code><span class="memberNameLink"><a href="../../../compbio/data/sequence/FastaReader.html#DELIM">DELIM</a></span></code>
179 <div class="block">Delimiter for the scanner</div>
182 <tr class="rowColor">
183 <td class="colFirst"><code>private java.util.Scanner</code></td>
184 <td class="colLast"><code><span class="memberNameLink"><a href="../../../compbio/data/sequence/FastaReader.html#input">input</a></span></code> </td>
189 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
190 <ul class="blockList">
191 <li class="blockList"><a name="constructor.summary">
194 <h3>Constructor Summary</h3>
195 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
196 <caption><span>Constructors</span><span class="tabEnd"> </span></caption>
198 <th class="colOne" scope="col">Constructor and Description</th>
200 <tr class="altColor">
201 <td class="colOne"><code><span class="memberNameLink"><a href="../../../compbio/data/sequence/FastaReader.html#FastaReader-java.io.InputStream-">FastaReader</a></span>(java.io.InputStream inputStream)</code>
202 <div class="block">This class will not close the incoming stream! So the client should do
206 <tr class="rowColor">
207 <td class="colOne"><code><span class="memberNameLink"><a href="../../../compbio/data/sequence/FastaReader.html#FastaReader-java.lang.String-">FastaReader</a></span>(java.lang.String inputFile)</code>
208 <div class="block">Header data can contain non-ASCII symbols and read in UTF8</div>
214 <!-- ========== METHOD SUMMARY =========== -->
215 <ul class="blockList">
216 <li class="blockList"><a name="method.summary">
219 <h3>Method Summary</h3>
220 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
221 <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
223 <th class="colFirst" scope="col">Modifier and Type</th>
224 <th class="colLast" scope="col">Method and Description</th>
226 <tr id="i0" class="altColor">
227 <td class="colFirst"><code>void</code></td>
228 <td class="colLast"><code><span class="memberNameLink"><a href="../../../compbio/data/sequence/FastaReader.html#close--">close</a></span>()</code>
229 <div class="block">Call this method to close the connection to the input file if you want to
230 free up the resources.</div>
233 <tr id="i1" class="rowColor">
234 <td class="colFirst"><code>boolean</code></td>
235 <td class="colLast"><code><span class="memberNameLink"><a href="../../../compbio/data/sequence/FastaReader.html#hasNext--">hasNext</a></span>()</code></td>
237 <tr id="i2" class="altColor">
238 <td class="colFirst"><code><a href="../../../compbio/data/sequence/FastaSequence.html" title="class in compbio.data.sequence">FastaSequence</a></code></td>
239 <td class="colLast"><code><span class="memberNameLink"><a href="../../../compbio/data/sequence/FastaReader.html#next--">next</a></span>()</code>
240 <div class="block">Reads the next FastaSequence from the input</div>
243 <tr id="i3" class="rowColor">
244 <td class="colFirst"><code>void</code></td>
245 <td class="colLast"><code><span class="memberNameLink"><a href="../../../compbio/data/sequence/FastaReader.html#remove--">remove</a></span>()</code>
246 <div class="block">Not implemented</div>
249 <tr id="i4" class="altColor">
250 <td class="colFirst"><code>private static <a href="../../../compbio/data/sequence/FastaSequence.html" title="class in compbio.data.sequence">FastaSequence</a></code></td>
251 <td class="colLast"><code><span class="memberNameLink"><a href="../../../compbio/data/sequence/FastaReader.html#toFastaSequence-java.lang.String-">toFastaSequence</a></span>(java.lang.String singleFastaEntry)</code> </td>
254 <ul class="blockList">
255 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
258 <h3>Methods inherited from class java.lang.Object</h3>
259 <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
261 <ul class="blockList">
262 <li class="blockList"><a name="methods.inherited.from.class.java.util.Iterator">
265 <h3>Methods inherited from interface java.util.Iterator</h3>
266 <code>forEachRemaining</code></li>
273 <div class="details">
274 <ul class="blockList">
275 <li class="blockList">
276 <!-- ============ FIELD DETAIL =========== -->
277 <ul class="blockList">
278 <li class="blockList"><a name="field.detail">
281 <h3>Field Detail</h3>
285 <ul class="blockList">
286 <li class="blockList">
288 <pre>private final java.util.Scanner input</pre>
294 <ul class="blockListLast">
295 <li class="blockList">
297 <pre>private final java.lang.String DELIM</pre>
298 <div class="block">Delimiter for the scanner</div>
300 <dt><span class="seeLabel">See Also:</span></dt>
301 <dd><a href="../../../constant-values.html#compbio.data.sequence.FastaReader.DELIM">Constant Field Values</a></dd>
307 <!-- ========= CONSTRUCTOR DETAIL ======== -->
308 <ul class="blockList">
309 <li class="blockList"><a name="constructor.detail">
312 <h3>Constructor Detail</h3>
313 <a name="FastaReader-java.lang.String-">
316 <ul class="blockList">
317 <li class="blockList">
319 <pre>public FastaReader(java.lang.String inputFile)
320 throws java.io.FileNotFoundException</pre>
321 <div class="block">Header data can contain non-ASCII symbols and read in UTF8</div>
323 <dt><span class="paramLabel">Parameters:</span></dt>
324 <dd><code>inputFile</code> - the file containing the list of FASTA formatted sequences to
326 <dt><span class="throwsLabel">Throws:</span></dt>
327 <dd><code>java.io.FileNotFoundException</code> - if the input file is not found</dd>
328 <dd><code>java.lang.IllegalStateException</code> - if the close method was called on this instance</dd>
332 <a name="FastaReader-java.io.InputStream-">
335 <ul class="blockListLast">
336 <li class="blockList">
338 <pre>public FastaReader(java.io.InputStream inputStream)
339 throws java.io.FileNotFoundException</pre>
340 <div class="block">This class will not close the incoming stream! So the client should do
343 <dt><span class="paramLabel">Parameters:</span></dt>
344 <dd><code>inputStream</code> - </dd>
345 <dt><span class="throwsLabel">Throws:</span></dt>
346 <dd><code>java.io.FileNotFoundException</code></dd>
352 <!-- ============ METHOD DETAIL ========== -->
353 <ul class="blockList">
354 <li class="blockList"><a name="method.detail">
357 <h3>Method Detail</h3>
361 <ul class="blockList">
362 <li class="blockList">
364 <pre>public boolean hasNext()</pre>
366 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
367 <dd><code>hasNext</code> in interface <code>java.util.Iterator<<a href="../../../compbio/data/sequence/FastaSequence.html" title="class in compbio.data.sequence">FastaSequence</a>></code></dd>
368 <dt><span class="throwsLabel">Throws:</span></dt>
369 <dd><code>java.lang.IllegalStateException</code> - if the close method was called on this instance</dd>
376 <ul class="blockList">
377 <li class="blockList">
379 <pre>public <a href="../../../compbio/data/sequence/FastaSequence.html" title="class in compbio.data.sequence">FastaSequence</a> next()</pre>
380 <div class="block">Reads the next FastaSequence from the input</div>
382 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
383 <dd><code>next</code> in interface <code>java.util.Iterator<<a href="../../../compbio/data/sequence/FastaSequence.html" title="class in compbio.data.sequence">FastaSequence</a>></code></dd>
384 <dt><span class="throwsLabel">Throws:</span></dt>
385 <dd><code>java.lang.AssertionError</code> - if the header or the sequence is missing</dd>
386 <dd><code>java.lang.IllegalStateException</code> - if the close method was called on this instance</dd>
387 <dd><code>MismatchException</code> - - if there were no more FastaSequence's.</dd>
394 <ul class="blockList">
395 <li class="blockList">
397 <pre>public void remove()</pre>
398 <div class="block">Not implemented</div>
400 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
401 <dd><code>remove</code> in interface <code>java.util.Iterator<<a href="../../../compbio/data/sequence/FastaSequence.html" title="class in compbio.data.sequence">FastaSequence</a>></code></dd>
408 <ul class="blockList">
409 <li class="blockList">
411 <pre>public void close()</pre>
412 <div class="block">Call this method to close the connection to the input file if you want to
413 free up the resources. The connection will be closed on the JVM shutdown
414 if this method was not called explicitly. No further reading on this
415 instance of the FastaReader will be possible after calling this method.</div>
418 <a name="toFastaSequence-java.lang.String-">
421 <ul class="blockListLast">
422 <li class="blockList">
423 <h4>toFastaSequence</h4>
424 <pre>private static <a href="../../../compbio/data/sequence/FastaSequence.html" title="class in compbio.data.sequence">FastaSequence</a> toFastaSequence(java.lang.String singleFastaEntry)</pre>
433 <!-- ========= END OF CLASS DATA ========= -->
434 <!-- ======= START OF BOTTOM NAVBAR ====== -->
435 <div class="bottomNav"><a name="navbar.bottom">
438 <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
439 <a name="navbar.bottom.firstrow">
442 <ul class="navList" title="Navigation">
443 <li><a href="../../../overview-summary.html">Overview</a></li>
444 <li><a href="package-summary.html">Package</a></li>
445 <li class="navBarCell1Rev">Class</li>
446 <li><a href="class-use/FastaReader.html">Use</a></li>
447 <li><a href="package-tree.html">Tree</a></li>
448 <li><a href="../../../deprecated-list.html">Deprecated</a></li>
449 <li><a href="../../../index-files/index-1.html">Index</a></li>
450 <li><a href="../../../help-doc.html">Help</a></li>
455 <li><a href="../../../compbio/data/sequence/DisorderMethod.html" title="enum in compbio.data.sequence"><span class="typeNameLink">Prev Class</span></a></li>
456 <li><a href="../../../compbio/data/sequence/FastaSequence.html" title="class in compbio.data.sequence"><span class="typeNameLink">Next Class</span></a></li>
459 <li><a href="../../../index.html?compbio/data/sequence/FastaReader.html" target="_top">Frames</a></li>
460 <li><a href="FastaReader.html" target="_top">No Frames</a></li>
462 <ul class="navList" id="allclasses_navbar_bottom">
463 <li><a href="../../../allclasses-noframe.html">All Classes</a></li>
466 <script type="text/javascript"><!--
467 allClassesLink = document.getElementById("allclasses_navbar_bottom");
469 allClassesLink.style.display = "block";
472 allClassesLink.style.display = "none";
478 <ul class="subNavList">
479 <li>Summary: </li>
480 <li>Nested | </li>
481 <li><a href="#field.summary">Field</a> | </li>
482 <li><a href="#constructor.summary">Constr</a> | </li>
483 <li><a href="#method.summary">Method</a></li>
485 <ul class="subNavList">
486 <li>Detail: </li>
487 <li><a href="#field.detail">Field</a> | </li>
488 <li><a href="#constructor.detail">Constr</a> | </li>
489 <li><a href="#method.detail">Method</a></li>
492 <a name="skip.navbar.bottom">
495 <!-- ======== END OF BOTTOM NAVBAR ======= -->