@@ -6,7 +6,7 @@ permalink: wiki/BioJava%3ACookBook3%3AFASTQ
66How do I work with nextgen sequencing reads in FASTQ format?
77------------------------------------------------------------
88
9- The org.biojava3.sequencing .io.fastq package provides support for
9+ The org.biojava.nbio.genome .io.fastq package provides support for
1010reading and writing nextgen sequencing reads in FASTQ format
1111(FastqReader and FastqWriter, respectively) and for converting FASTQ
1212sequences into proper biojava3 DNASequences for analysis purposes
@@ -44,29 +44,29 @@ for (Fastq fastq : fastqReader.read(new File("illumina.fastq"))) {
4444
4545``` java
4646FastqReader fastqReader = new IlluminaFastqReader ();
47- InputSupplier inputSupplier = Files . newReaderSupplier (new File (" illumina.fastq" ));
47+ BufferedReader reader = new BufferedReader (new FileReader ( new File (" illumina.fastq" ) ));
4848final FastqWriter fastqWriter = new SangerFastqWriter ();
4949final FileWriter fileWriter = new FileWriter (new File (" sanger.fastq" ))));
5050
51- fastqReader. stream(inputSupplier , new StreamListener ()
51+ fastqReader. stream(reader , new StreamListener ()
5252{
53- @Override
54- public void fastq(final Fastq fastq)
55- {
56- fastqWriter. append(fileWriter, fastq);
57- }
53+ @Override
54+ public void fastq(final Fastq fastq)
55+ {
56+ fastqWriter. append(fileWriter, fastq);
57+ }
5858});
5959```
6060
6161### Convert only long sequences using streaming API
6262
6363``` java
6464FastqReader fastqReader = new IlluminaFastqReader ();
65- InputSupplier inputSupplier = Files . newReaderSupplier (new File (" illumina.fastq" ));
65+ BufferedReader reader = new BufferedReader (new FileReader ( new File (" illumina.fastq" ) ));
6666FastqWriter fastqWriter = new SangerFastqWriter ();
6767FileWriter fileWriter = new FileWriter (new File (" sanger.fastq" ))));
6868
69- fastqReader. stream(inputSupplier , new StreamListener ()
69+ fastqReader. stream(reader , new StreamListener ()
7070{
7171 @Override
7272 public void fastq(final Fastq fastq)
@@ -95,11 +95,10 @@ System.out.println(count);
9595
9696``` java
9797FastqReader fastqReader = new IlluminaFastqReader ();
98- InputSupplier inputSupplier = Files . newReaderSupplier(new
99- File (" illumina.fastq" ));
98+ BufferedReader reader = new BufferedReader (new FileReader (new File (" illumina.fastq" )));
10099
101100final AtomicInteger count = new AtomicInteger ();
102- fastqReader. stream(inputSupplier , new StreamListener ()
101+ fastqReader. stream(reader , new StreamListener ()
103102{
104103 @Override
105104 public void fastq(final Fastq fastq)
@@ -115,11 +114,10 @@ System.out.println(count.get());
115114
116115``` java
117116FastqReader fastqReader = new IlluminaFastqReader ();
118- InputSupplier inputSupplier = Files . newReaderSupplier(new
119- File (" illumina.fastq" ));
117+ BufferedReader reader = new BufferedReader (new FileReader (new File (" illumina.fastq" )));
120118
121119final AtomicInteger count = new AtomicInteger ();
122- fastqReader. parse(inputSupplier , new ParseAdapter ()
120+ fastqReader. parse(reader , new ParseAdapter ()
123121{
124122 @Override
125123 public void complete() throws IOException
@@ -136,9 +134,9 @@ System.out.println(count.get());
136134``` java
137135final Pattern pattern = Pattern . compile(" ^HWUSI-EAS100R:.\* $" );
138136FastqReader fastqReader = new IlluminaFastqReader ();
139- InputSupplier inputSupplier = Files . newReaderSupplier (new File (" illumina.fastq" ));
137+ BufferedReader reader = new BufferedReader (new FileReader ( new File (" illumina.fastq" ) ));
140138
141- fastqReader. parse(inputSupplier , new ParseAdapter ()
139+ fastqReader. parse(reader , new ParseAdapter ()
142140{
143141 @Override
144142 public void description(final String description) throws IOException
@@ -155,7 +153,7 @@ fastqReader.parse(inputSupplier, new ParseAdapter()
155153
156154``` java
157155FastqReader fastqReader = new SangerFastqReader ();
158- List<DNASequence > sequences = new LinkedList <DNASequence > ();
156+ List<DNASequence > sequences = new ArrayList <DNASequence > ();
159157
160158for (Fastq fastq : fastqReader. read(new File (" sanger.fastq" ))) {
161159 sequences. add(FastqTools . createDNASequence(fastq));
@@ -166,7 +164,7 @@ for (Fastq fastq : fastqReader.read(new File("sanger.fastq"))) {
166164
167165``` java
168166FastqReader fastqReader = new SangerFastqReader ();
169- List<DNASequence > sequences = new LinkedList <DNASequence > ();
167+ List<DNASequence > sequences = new ArrayList <DNASequence > ();
170168
171169for (Fastq fastq : fastqReader. read(new File (" sanger.fastq" ))) {
172170 sequences. add(FastqTools . createDNASequenceWithQualityScores(fastq));
@@ -177,7 +175,7 @@ for (Fastq fastq : fastqReader.read(new File("sanger.fastq"))) {
177175
178176``` java
179177FastqReader fastqReader = new SangerFastqReader ();
180- List<DNASequence > sequences = new LinkedList <DNASequence > ();
178+ List<DNASequence > sequences = new ArrayList <DNASequence > ();
181179
182180for (Fastq fastq : fastqReader. read(new File (" sanger.fastq" ))) {
183181 sequences. add(FastqTools . createDNASequenceWithQualityScoresAndErrorProbabilities(fastq));
@@ -188,10 +186,10 @@ for (Fastq fastq : fastqReader.read(new File("sanger.fastq"))) {
188186
189187``` java
190188FastqReader fastqReader = new SangerFastqReader ();
191- InputSupplier inputSupplier = Files . newReaderSupplier (new File (" sanger.fastq" ));
192- List<DNASequence > sequences = new LinkedList <DNASequence > ();
189+ BufferedReader reader = new BufferedReader (new FileReader ( new File (" sanger.fastq" ) ));
190+ List<DNASequence > sequences = new ArrayList <DNASequence > ();
193191
194- fastqReader. stream(inputSupplier , new StreamListener ()
192+ fastqReader. stream(reader , new StreamListener ()
195193{
196194 @Override
197195 public void fastq(final Fastq fastq)
@@ -205,8 +203,8 @@ fastqReader.stream(inputSupplier, new StreamListener()
205203
206204``` java
207205FastqReader fastqReader = new SangerFastqReader ();
208- InputSupplier inputSupplier = Files . newReaderSupplier (new File (" sanger.fastq" ));
209- List<DNASequence > sequences = new LinkedList <DNASequence > ();
206+ BufferedReader reader = new BufferedReader (new FileReader ( new File (" sanger.fastq" ) ));
207+ List<DNASequence > sequences = new ArrayList <DNASequence > ();
210208
211209fastqReader. stream(inputSupplier, new StreamListener ()
212210{
@@ -222,10 +220,10 @@ fastqReader.stream(inputSupplier, new StreamListener()
222220
223221``` java
224222FastqReader fastqReader = new SangerFastqReader ();
225- InputSupplier inputSupplier = Files . newReaderSupplier (new File (" sanger.fastq" ));
226- List<DNASequence > sequences = new LinkedList <DNASequence > ();
223+ BufferedReader reader = new BufferedReader (new FileReader ( new File (" sanger.fastq" ) ));
224+ List<DNASequence > sequences = new ArrayList <DNASequence > ();
227225
228- fastqReader. stream(inputSupplier , new StreamListener ()
226+ fastqReader. stream(reader , new StreamListener ()
229227{
230228 @Override
231229 public void fastq(final Fastq fastq)
@@ -239,11 +237,11 @@ fastqReader.stream(inputSupplier, new StreamListener()
239237
240238``` java
241239FastqReader fastqReader = new SangerFastqReader ();
242- InputSupplier inputSupplier = Files . newReaderSupplier (new File (" sanger.fastq" ));
240+ BufferedReader reader = new BufferedReader (new FileReader ( new File (" sanger.fastq" ) ));
243241SummaryStatistics stats = new SummaryStatistics ();
244242StringBuilder sb = new StringBuilder (512 );
245243
246- fastqReader. stream(inputSupplier , new StreamListener ()
244+ fastqReader. stream(reader , new StreamListener ()
247245{
248246 @Override
249247 public void fastq(final Fastq fastq)
@@ -268,11 +266,11 @@ fastqReader.stream(inputSupplier, new StreamListener()
268266
269267``` java
270268FastqReader fastqReader = new SangerFastqReader ();
271- InputSupplier inputSupplier = Files . newReaderSupplier (new File (" sanger.fastq" ));
269+ BufferedReader reader = new BufferedReader (new FileReader ( new File (" sanger.fastq" ) ));
272270SummaryStatistics stats = new SummaryStatistics ();
273271StringBuilder sb = new StringBuilder (512 );
274272
275- fastqReader. stream(inputSupplier , new StreamListener ()
273+ fastqReader. stream(reader , new StreamListener ()
276274{
277275 @Override
278276 public void fastq(final Fastq fastq)
0 commit comments