Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feat] add an option to only process specific lanes #36

Merged
merged 5 commits into from
Jan 12, 2023
Merged

Conversation

nh13
Copy link
Collaborator

@nh13 nh13 commented Jan 11, 2023

Only samples (in the sample sheet) and FASTQs (with known lane numbers) will be processed that match the provided list of lanes. This option cannot be used when the lane for a FASTQ is not known (e.g. when the FASTQS are explicitly given on the command line).

Also allow the same sample_id/barcode combination is used across lanes for a given sample. Previously an error would occur, now the repeated sample is treated as one sample (just in many lanes).

Other changes:

  • the read name is only checked up to the first colon within a group of FASTQS (e.g. R1 across lanes)
  • print out the # of threads being used

@nh13 nh13 requested review from tfenne and omicsorama and removed request for tfenne and omicsorama January 11, 2023 18:34
@nh13 nh13 marked this pull request as draft January 11, 2023 18:35
src/lib/demux.rs Outdated Show resolved Hide resolved
@nh13 nh13 requested a review from tfenne January 11, 2023 18:39
@nh13 nh13 marked this pull request as ready for review January 11, 2023 18:39
@nh13 nh13 requested a review from omicsorama January 11, 2023 18:40
@@ -346,12 +360,12 @@ impl Opts {
Some(Ok(record)) => {
if first_head.is_empty() {
first_head = record.head().to_vec();
end_index = first_head.find_byte(b' ').unwrap_or(first_head.len());
end_index = first_head.find_byte(b':').unwrap_or(first_head.len());
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this was a bug, since the lane is in the read name prior to the first space.

assert!(result.is_err());

// Path prefix
//Index FASTQ found and not extracting sample barcode from FASTQ header,
// so should be ok
let result = Opts::from(vec![prefix], vec![], false);
let result = Opts::from(&vec![prefix], &vec![], false, &vec![]);
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd love to have defaults in rust

Only samples (in the sample sheet) and FASTQs (with known lane numbers)
will be processed that match the provided list of lanes.  This option
cannot be used when the lane for a FASTQ is not known (e.g. when
the FASTQS are explicitly given on the command line).

Also allow the same sample_id/barcode combination is used across lanes for a
given sample.  Previously an error would occur, now the repeated sample
is treated as one sample (just in many lanes).

Other changes:
- the read name is only checked up to the first colon within a group of
  FASTQS (e.g. R1 across lanes)
- print out the # of threads being used
@nh13 nh13 merged commit d74474b into main Jan 12, 2023
@nh13
Copy link
Collaborator Author

nh13 commented Jan 12, 2023

@tfenne I accidentally merged this, please still review, and then I can incorporate changes in a separate PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants