Skip to content

Commit 6ffe73f

Browse files
committed
replace flatten with map_while(Result::ok) on iter
1 parent 041a2e6 commit 6ffe73f

38 files changed

Lines changed: 65 additions & 56 deletions

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "fqkit"
3-
version = "0.4.9"
3+
version = "0.4.10"
44
edition = "2021"
55
authors = ["sharkLoc <mmtinfo@163.com>"]
66
rust-version = "1.77.2"

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ cargo install --git https://github.com/sharkLoc/fqkit.git
4040
```bash
4141
FqKit -- A simple and cross-platform program for fastq file manipulation
4242

43-
Version: 0.4.9
43+
Version: 0.4.10
4444

4545
Authors: sharkLoc <mmtinfo@163.com>
4646
Source code: https://github.com/sharkLoc/fqkit.git

src/cli/barcode.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ fn barcode_list(file: &String, rev_comp: bool) -> Result<HashMap<String, String>
1515
info!("reading from barcode list file: {}", file);
1616

1717
if rev_comp {
18-
for line in fp.lines().map_while(std::io::Result::ok) {
18+
for line in fp.lines().map_while(Result::ok) {
1919
let item = line.split('\t').collect::<Vec<&str>>(); // barcode => sample
2020
let bar: String = item[0]
2121
.chars()
@@ -42,7 +42,7 @@ fn barcode_list(file: &String, rev_comp: bool) -> Result<HashMap<String, String>
4242
error_flag = "";
4343
}
4444
} else {
45-
for line in fp.lines().map_while(std::io::Result::ok) {
45+
for line in fp.lines().map_while(Result::ok) {
4646
let item = line.split('\t').collect::<Vec<&str>>();
4747
let bar: String = item[0]
4848
.chars()

src/cli/check.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ pub fn check_fastq(
2222

2323
if save {
2424
let mut out_writer = file_writer(out, compression_level).map(fastq::Writer::new)?;
25-
for rec in fp_reader.records().flatten() {
25+
for rec in fp_reader.records().map_while(Result::ok) {
2626
total += 1;
2727
match rec.check() {
2828
Ok(_) => {
@@ -37,7 +37,7 @@ pub fn check_fastq(
3737
}
3838
out_writer.flush()?;
3939
} else {
40-
for rec in fp_reader.records().flatten() {
40+
for rec in fp_reader.records().map_while(Result::ok) {
4141
total += 1;
4242
match rec.check() {
4343
Ok(_) => {

src/cli/concat.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ pub fn concat_fqstq_lane(
4646
let fq_reader2 = file_reader(Some(pe.1)).map(fastq::Reader::new)?;
4747
for (rec1, rec2) in fq_reader1
4848
.records()
49-
.flatten()
50-
.zip(fq_reader2.records().flatten())
49+
.map_while(Result::ok)
50+
.zip(fq_reader2.records().map_while(Result::ok))
5151
{
5252
out_writer1.write_record(&rec1)?;
5353
out_writer2.write_record(&rec2)?;

src/cli/cutadapter.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ pub fn cut_adapter(
2626

2727
let mut seqs = HashMap::new();
2828
let iters = seqfile_reader.records();
29-
for rec in iters.flatten() {
29+
for rec in iters.map_while(Result::ok) {
3030
//while let Some(each) = iters.next() {
3131
//let rec = each?;
3232
if seqs.contains_key(rec.id()) {

src/cli/filter.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ pub fn filter_fastq(
4848
for (rec1, rec2) in fq_reader1
4949
.records()
5050
.flatten()
51-
.zip(fq_reader2.records().flatten())
51+
.zip(fq_reader2.records().map_while(Result::ok))
5252
{
5353
if rec1.seq().iter().filter(|v| v == &&b'N').count() > nbase
5454
|| rec2.seq().iter().filter(|v| v == &&b'N').count() > nbase
@@ -117,8 +117,8 @@ pub fn filter_fastq(
117117
let pe_vec: Vec<_> = fq_iter1
118118
.by_ref()
119119
.take(chunk)
120-
.flatten()
121-
.zip(fq_iter2.by_ref().take(chunk).flatten())
120+
.map_while(Result::ok)
121+
.zip(fq_iter2.by_ref().take(chunk).map_while(Result::ok))
122122
.collect();
123123
if pe_vec.is_empty() {
124124
break;

src/cli/flatten.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ pub fn flatten_fq(
3333
let fields = get_flag(flag);
3434
let mut out_writer = file_writer(out, compression_level)?;
3535

36-
for rec in fq_reader.records().flatten() {
36+
for rec in fq_reader.records().map_while(Result::ok) {
3737
let read = [rec.id().as_bytes(), rec.seq(), "+".as_bytes(), rec.qual()];
3838
let res = fields.iter().map(|idx| read[*idx]).collect::<Vec<&[u8]>>();
3939

src/cli/fq2fa.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ pub fn fq2fa(
2323

2424
let mut fo = fasta::Writer::new(file_writer(out, compression_level)?);
2525
if remove {
26-
for rec in fq_reader.records().flatten() {
26+
for rec in fq_reader.records().map_while(Result::ok) {
2727
num += 1;
2828
fo.write(rec.id(), None, rec.seq())?;
2929
}

0 commit comments

Comments
 (0)