Skip to content

Conversation

@nkongenelly
Copy link
Contributor

@nkongenelly nkongenelly commented Oct 29, 2025

Description:

  • This version enables passing of the demultiplexer name e.g bcl2fastq or bclconvert to seqreports.
  • It also ensures the correct path of the statistical results are used by multiqc as bcl2fastq and bclconvert store their statistical results in different folders.
  • The code also ensures that the correct demultiplexer name is used in the flowcell multiqc report
  • Only 2 demultiplexers are supported currently i.e bcl2fastq and bclconvert

Risk Analysis:
This potentially could break report generation and cause a stop in production, but validation in staging env should catch serious bugs like that.

Validation Procedure:
This version might not be tested separately/individually as just this single seqreports service but as a whole by triggering the arteria workflows and looking at the multiqc reports generated

@nkongenelly nkongenelly changed the title Add BCLConvert support (WIP)Add BCLConvert support Oct 30, 2025
@nkongenelly nkongenelly changed the title (WIP)Add BCLConvert support Add BCLConvert support Oct 31, 2025
@nkongenelly nkongenelly requested a review from matrulda October 31, 2025 08:32
Copy link
Collaborator

@matrulda matrulda left a comment

Choose a reason for hiding this comment

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

Great work! I left some comments for you!

Other general stuff:

  • Could you adapt the test scripts for py 3.13 and make sure we use that version in GHA?
  • We use Nextflow 24.10.4 on Miarka, can you update the tests to use that version?
  • It would be nice to check if we can update some of the singularity containers used: https://github.com/Molmed/seqreports/blob/main/config/nextflow_config/singularity.config. But it might be out of scope for this PR. We could make a separate ticket about that. Let me know what you think!

@nkongenelly nkongenelly force-pushed the DATAOPS-1297_support_for_bclconvert branch from 8b93c07 to 6654bd6 Compare November 5, 2025 17:37
@nkongenelly
Copy link
Contributor Author

nkongenelly commented Nov 5, 2025

I have now updated the code after fixing things from the comments in the scripts.

@nkongenelly nkongenelly force-pushed the DATAOPS-1297_support_for_bclconvert branch 11 times, most recently from f886e82 to cb7cc63 Compare November 7, 2025 16:01
@nkongenelly nkongenelly force-pushed the DATAOPS-1297_support_for_bclconvert branch 3 times, most recently from a244e6a to d54947b Compare November 7, 2025 17:05
@nkongenelly
Copy link
Contributor Author

I have been unable to update GHA python version to v3.13 due to this error 'Failed building wheel for lxml' in this run and the ones that failed before.

It also seems that there are issues with lxml with python v3.13 but i also tried with python v.3.12 and it failed with the same error in this run
I did try again with the installation documentations from lxml github README page but still got the same error in this python v3.13 run and this python v3.12 run

I also could NOT update checkQC version in requirements.txt to match the latest checkQC singularity container available i.e v4.0.7 as i got this error ERROR: No matching distribution found for checkqc==4.0.7

@matrulda
Copy link
Collaborator

I have been unable to update GHA python version to v3.13 due to this error 'Failed building wheel for lxml' in this run and the ones that failed before.

It also seems that there are issues with lxml with python v3.13 but i also tried with python v.3.12 and it failed with the same error in this run I did try again with the installation documentations from lxml github README page but still got the same error in this python v3.13 run and this python v3.12 run

I also could NOT update checkQC version in requirements.txt to match the latest checkQC singularity container available i.e v4.0.7 as i got this error ERROR: No matching distribution found for checkqc==4.0.7

Did you try to update the requirements when using py3.11? The example you sent was with 3.13.

Copy link
Collaborator

@matrulda matrulda left a comment

Choose a reason for hiding this comment

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

Awesome! A few final comments.

@nkongenelly
Copy link
Contributor Author

I have been unable to update GHA python version to v3.13 due to this error 'Failed building wheel for lxml' in this run and the ones that failed before.
It also seems that there are issues with lxml with python v3.13 but i also tried with python v.3.12 and it failed with the same error in this run I did try again with the installation documentations from lxml github README page but still got the same error in this python v3.13 run and this python v3.12 run
I also could NOT update checkQC version in requirements.txt to match the latest checkQC singularity container available i.e v4.0.7 as i got this error ERROR: No matching distribution found for checkqc==4.0.7

Did you try to update the requirements when using py3.11? The example you sent was with 3.13.

I think the unit tests are currently running with python v3.11 successfully now. Or might i have missed anything from your question?

@nkongenelly nkongenelly force-pushed the DATAOPS-1297_support_for_bclconvert branch from cfd8863 to 1ea3cba Compare November 12, 2025 15:09
@nkongenelly
Copy link
Contributor Author

Thanks for the reviews. I have now pushed the updated code

@matrulda
Copy link
Collaborator

I have been unable to update GHA python version to v3.13 due to this error 'Failed building wheel for lxml' in this run and the ones that failed before.
It also seems that there are issues with lxml with python v3.13 but i also tried with python v.3.12 and it failed with the same error in this run I did try again with the installation documentations from lxml github README page but still got the same error in this python v3.13 run and this python v3.12 run
I also could NOT update checkQC version in requirements.txt to match the latest checkQC singularity container available i.e v4.0.7 as i got this error ERROR: No matching distribution found for checkqc==4.0.7

Did you try to update the requirements when using py3.11? The example you sent was with 3.13.

Ah sorry for being unclear! I meant, were you able to update the dependencies (e.g. CheckQC) when using py3.11?

@nkongenelly
Copy link
Contributor Author

I have been unable to update GHA python version to v3.13 due to this error 'Failed building wheel for lxml' in this run and the ones that failed before.
It also seems that there are issues with lxml with python v3.13 but i also tried with python v.3.12 and it failed with the same error in this run I did try again with the installation documentations from lxml github README page but still got the same error in this python v3.13 run and this python v3.12 run
I also could NOT update checkQC version in requirements.txt to match the latest checkQC singularity container available i.e v4.0.7 as i got this error ERROR: No matching distribution found for checkqc==4.0.7

Did you try to update the requirements when using py3.11? The example you sent was with 3.13.

Ah sorry for being unclear! I meant, were you able to update the dependencies (e.g. CheckQC) when using py3.11?

Oooh. Okay. I have just tried it and it failed with the same error [here](ERROR: No matching distribution found for checkqc==4.0.7)

@nkongenelly nkongenelly force-pushed the DATAOPS-1297_support_for_bclconvert branch 2 times, most recently from d3c10a0 to 314d899 Compare November 13, 2025 15:43
@nkongenelly
Copy link
Contributor Author

I have now pushed the updated code changing outdir default back to 'Unaligned' in the Comment

@matrulda
Copy link
Collaborator

](ERROR: No matching distribution found for checkqc==4.0.7)

Ah I see now, 4.07 (and 4.1.0) that is on pypi has "Requires: Python <3.11, >3.10". I think this was due to the old interop version that we used. I think 3.13 is supported now? 🤔 We should investigate this.

@nkongenelly
Copy link
Contributor Author

nkongenelly commented Nov 26, 2025

](ERROR: No matching distribution found for checkqc==4.0.7)

Ah I see now, 4.07 (and 4.1.0) that is on pypi has "Requires: Python <3.11, >3.10". I think this was due to the old interop version that we used. I think 3.13 is supported now? 🤔 We should investigate this.

I see that checkQC uses interop v1.4.0 which supports python v3.8-3.13 as seen here. Does this mean we might need to build checkqc with the latest python version first to pypi before using it here?

@matrulda
Copy link
Collaborator

](ERROR: No matching distribution found for checkqc==4.0.7)

Ah I see now, 4.07 (and 4.1.0) that is on pypi has "Requires: Python <3.11, >3.10". I think this was due to the old interop version that we used. I think 3.13 is supported now? 🤔 We should investigate this.

I see that checkQC uses interop v1.4.0 which supports python v3.8-3.13 as seen here. Does this mean we might need to build checkqc with the latest python version first to pypi before using it here?

yeah, I think we need create a new checkqc release and put it on pypi. I guess we could make it 4.2.0-rc1 perhaps? Or is it perhaps only a patch update 🤔

@nkongenelly
Copy link
Contributor Author

](ERROR: No matching distribution found for checkqc==4.0.7)

Ah I see now, 4.07 (and 4.1.0) that is on pypi has "Requires: Python <3.11, >3.10". I think this was due to the old interop version that we used. I think 3.13 is supported now? 🤔 We should investigate this.

I see that checkQC uses interop v1.4.0 which supports python v3.8-3.13 as seen here. Does this mean we might need to build checkqc with the latest python version first to pypi before using it here?

yeah, I think we need create a new checkqc release and put it on pypi. I guess we could make it 4.2.0-rc1 perhaps? Or is it perhaps only a patch update 🤔

I think it can be just a patch update because BCLConvert was introduced in 4.1.0 bt not used yet... so maybe 4.1.1-rc1?

@matrulda
Copy link
Collaborator

4.1.1-rc1?

New release candidate out on pypi: https://pypi.org/project/checkQC/4.1.1rc1/ You can try if it works better! :)

@nkongenelly
Copy link
Contributor Author

4.1.1-rc1?

New release candidate out on pypi: https://pypi.org/project/checkQC/4.1.1rc1/ You can try if it works better! :)

Thanks, i've now updated the checkQC version in the requirements file

Copy link
Collaborator

@matrulda matrulda left a comment

Choose a reason for hiding this comment

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

Awesome, thank you!

@nkongenelly nkongenelly merged commit b75b3d9 into Molmed:main Nov 28, 2025
1 check passed
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