Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@DSchreyer
Copy link
Collaborator

@DSchreyer DSchreyer commented Mar 23, 2023

v1.0.3 - [2023-03-23]

Added

  • documentation about absolute path needed of AmpliconArchitect data repository
  • ampliconclassifier stub run tests
  • new version of circdna metromap with updated colors
  • note that ATAC-seq should be used in caution with the pipeline.
  • build docker container for prepareaa -> Needs to be built first and will be included in the next release
  • nf-core template update 2.8

Fixed

Dependencies

Deprecated

  • Local versions of nf-core modules

PR checklist

  • This comment contains a description of changes (with reason).
  • If you've fixed a bug or added code that should be tested, add tests!
  • If you've added a new tool - have you followed the pipeline conventions in the contribution docs- [ ] If necessary, also make a PR on the nf-core/circdna branch on the nf-core/test-datasets repository.
  • Make sure your code lints (nf-core lint).
  • Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • Usage Documentation in docs/usage.md is updated.
  • Output Documentation in docs/output.md is updated.
  • CHANGELOG.md is updated.
  • README.md is updated (including new tool citations and authors/contributors).

@github-actions
Copy link

github-actions bot commented Mar 23, 2023

nf-core lint overall result: Passed ✅ ⚠️

Posted for pipeline commit 48b449b

+| ✅ 157 tests passed       |+
#| ❔   2 tests were ignored |#
!| ❗   2 tests had warnings |!

❗ Test warnings:

  • nextflow_config - Config manifest.version should end in dev: '1.0.3'
  • pipeline_todos - TODO string in methods_description_template.yml: #Update the HTML below to your prefered methods description, e.g. add publication citation for this pipeline

❔ Tests ignored:

  • files_exist - File is ignored: assets/multiqc_config.yml
  • files_unchanged - File ignored due to lint config: assets/email_template.html

✅ Tests passed:

Run details

  • nf-core/tools version 2.8
  • Run at 2023-05-31 15:48:27

@github-actions
Copy link

Python linting (black) is failing

To keep the code consistent with lots of contributors, we run automated code consistency checks.
To fix this CI test, please run:

  • Install black: pip install black
  • Fix formatting errors in your pipeline: black .

Once you push these changes the test should pass, and you can hide this comment 👍

We highly recommend setting up Black in your code editor so that this formatting is done automatically on save. Ask about it on Slack for help!

Thanks again for your contribution!

@DSchreyer DSchreyer changed the title v.1.0.3 - Minor release with updated documentation and test runs v.1.0.3 - Minor release containing template and documentation updates plus PrepareAA Docker build needed for next release May 26, 2023
Copy link

@SPPearce SPPearce left a comment

Choose a reason for hiding this comment

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

I think this is generally fine.
Can you go through the scripts and check that they have authors and licences please.
See: https://nf-co.re/docs/contributing/pipeline_release_review_guidelines

Choose a reason for hiding this comment

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

Is there a license attached to this file?
Does it just come straight from the AA repo or have you modified it at all?

sys.exit(1)

rdList = hg.interval_list([r for r in rdList0 if float(r.info[-1]) > GAIN])
tempL = []

Choose a reason for hiding this comment

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

Do you need to change the header to note that you have modified the script too.

Choose a reason for hiding this comment

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

Looks like this change actually makes circdna's modified version of amplified_intervals.py closer to the current version of the amplified_intervals.py script from the AmpliconArchitect maintainer (me). Is it possible to use the unmodified version of amplified_intervals.py script directly from the jluebeck fork of AmpliconArchitect? This way it can be kept updated more easily.

Copy link

@SPPearce SPPearce May 27, 2023

Choose a reason for hiding this comment

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

Hmm. It sounds like the easiest thing would be if AmpliconArchitect was put into bioconda. Then these additional helper scripts would just be in the containers and not separate scripts in the pipeline.

Choose a reason for hiding this comment

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

Got it - we are planning to work on this, but I will prioritize it.

Choose a reason for hiding this comment

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

Great! On the nf-core slack there is a bioconda channel if you need help/reviews with that.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Hi Simon and Jens, Yes I will update the pipeline with the unmodified version of the script on your fork and add citations and version

Choose a reason for hiding this comment

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

Can you please add an author and licence to this script please.

Choose a reason for hiding this comment

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

And this one.

tag "$meta.id"
label 'process_low'

conda "conda-forge::python=2.7 bioconda::pysam=0.15.2 anaconda::flask=1.1.2 anaconda::cython=0.29.14 anaconda::numpy=1.16.6 anaconda::scipy=1.2.1 conda-forge::matplotlib=2.2.5 mosek::mosek=8.0.60 anaconda::future=0.18.2 anaconda::intervaltree=3.0.2"

Choose a reason for hiding this comment

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

Changing from python 2 to python 3 is a major change isn't it (I'm not a python developer)? Does the script still work?

Choose a reason for hiding this comment

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

Hi Simon, I'm the developer of PrepareAA - a while back we added support for both python2 and python3 to this collection of tools, so it can be run with either version of python.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Hi Simon and Jens,
I will update the prepareaa.nf containers from python2 and python3 and it works with both. PrepareAA is not yet included in the pipeline, but will be in the next version update. PrepareAA requires a new docker container which hopefully is automatically built after this version release. Then, prepareaa will be included and replaces the helper scripts collect_seeds.nf or amplified_intervals.nf

Choose a reason for hiding this comment

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

Hi Simon and Daniel,

I am working on making a Conda package which will wrap AmpliconSuite-pipeline (PrepareAA.py) and its modules - AmpliconArchitect and AmpliconClassifier. Hopefully will be able to release it by next week or so. I just joined the nf-core slack and circdna channel - happy to discuss there. May ask some questions about conda packages there as well. Thanks!

tag "$meta.id"
label 'process_low'

conda "conda-forge::python=2.7 bioconda::pysam=0.15.2 anaconda::flask=1.1.2 anaconda::cython=0.29.14 anaconda::numpy=1.16.6 anaconda::scipy=1.2.1 conda-forge::matplotlib=2.2.5 mosek::mosek=8.0.60 anaconda::future=0.18.2"

Choose a reason for hiding this comment

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

This script hasn't been updated for the newer versions, but the previous one has?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Hi Simon,
good spot. I will leave it as is for now and will update in the next version. It will get removed in the next version as it will be replaced by PrepareAA. The versions need to be cautiously handled as these packages don't have a lot of overlap where all can be simultaneously installed. Because it is working as is I am preferring to stay at the current version

@DSchreyer DSchreyer requested review from SPPearce and jluebeck May 30, 2023 07:57
@DSchreyer
Copy link
Collaborator Author

Hi @jluebeck and @SPPearce ,
About the pipeline update. I included your suggestions and updated the pipeline.

PrepareAA is still not included and needs to be included as soon as the docker container was generated. @pditommaso noted that nextflow has a wave option to generate containers on-the-fly. I will try to include it in this release so I will wait to merge until it is clear how I can implement wave into the pipeline.

Choose a reason for hiding this comment

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

Generally, "ecDNA" seems to be the preferred term as it captures both the large megabase-scale oncogene-carrying extrachromosomal circular DNAs, and also includes the small circular extrachromosomal DNAs (which the field studying them call "eccDNAs"). The terminology is a bit confusing and it is not official in any regards, but my suggestion is that using the term "ecDNAs" instead of "eccDNAs" may be slightly less confusing for those who are coming to use the methods in the context of cancer samples (probably the majority of users?).

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

In my understanding eccDNAs was supposed to be the term for all circular DNAs including the large amplified and the small ones. EcDNAs is mostly used when talking about large amplified ones found usually in cancer. It seems that this changes from lab to lab and I am not sure what abbreviation should be used from now. However, I agree that most users will most likely be interested in identifying amplified ecDNAs and therefore I will change eccDNAs to ecDNAs in the README.md

Choose a reason for hiding this comment

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

I see, perhaps if the cirdna workflow supports analysis of both the small and also megabase-scale ecDNA, then it may be worth putting that into information into the Readme and making it clear which modules are designed for either task. AA and its related tools are not at all designed for detection of small (< 5kbp) eccDNAs, only the large, amplified structures.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

That seems like a good idea. Will include

Copy link

@jluebeck jluebeck left a comment

Choose a reason for hiding this comment

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

Looks good from the AA side. To confirm - is the workflow now

  1. start with a bam file
  2. run PrepareAA.py to get AA_CNV_SEEDS.bed
  3. run AmpliconArchitect on bam file + AA_CNV_SEEDS.bed
  4. run the AmpliconClassification stages?

If so that is great - as calling amplified_intervals.py outside of the PrepareAA.py wrapper is not really supported and could cause issues.

Copy link

@jluebeck jluebeck May 30, 2023

Choose a reason for hiding this comment

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

The script that should be run to give users the information for similarity scores is called feature_similarity.py. amplicon_similarity.py is a more general function that is used by feature_similarity. Simply swapping the two script names should work in this case.

EDIT: You will also need to give feature_similarity.py the -f argument, the file for which is generated by amplicon_classification.py and ends with [sample]_features_to_graph.txt

Choose a reason for hiding this comment

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

It is my fault the distinction on these two functions is not more clear. I will work on improving our documentaiton.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Understood! This should be easily included in this release.

Choose a reason for hiding this comment

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

While optional in the older version of AC wrapped by nf, the argument --summary_map should also be given and it is required in the latest version of AC. That summary_map file is already generated by make_input.sh and is located alongside the .input file.

Also, the [sample]_run_metadata.json file produced by PrepareAA.py, should also be given to make_results_table.py via the --run_metadata_file argument.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

About PrepareAA.py i mentioned that it is not yet included in this release. AmpliconArchitect still runs with the external amplified intervals script and needs to be updated. However, I don't have a docker container for PrepareAA, yet, which includes intervaltree. I will try using the wave strategy from nextflow, but if not, a built-docker-image script is in place that should generate a docker container upon the next pipeline release (after this merge).

After the docker container is created, PrepareAA.py can be fully implemented. This can be facilitated in a few days which then will be also released.

I will let you know if I was able to implement wave. If not, I hope you will be available after this release to verify the correct implementation of prepareaa and offer to review the pipeline again.

Thanks a lot for your time and wonderful insights"

@DSchreyer
Copy link
Collaborator Author

@SPPearce Let me know if you identified issues or changes that need to be implemented. I hope I addressed all your change request for a version release.

I now stopped using wave and have fallen back to docker when talking about PrepareAA. PrepareAA will not yet be implemented, but will be implemented in the next release which will hopefully follow soon after this one. The only issue is, as I mentioned before, the docker container that is required for it to fully function with singularity and docker.

@SPPearce
Copy link

SPPearce commented Jun 5, 2023

@SPPearce Let me know if you identified issues or changes that need to be implemented. I hope I addressed all your change request for a version release.

I now stopped using wave and have fallen back to docker when talking about PrepareAA. PrepareAA will not yet be implemented, but will be implemented in the next release which will hopefully follow soon after this one. The only issue is, as I mentioned before, the docker container that is required for it to fully function with singularity and docker.

I think most of my comments will be best resolved once the whole of AmpliconArchitect is on bioconda, that'll move a lot of the scripts from the pipeline here to just being present in the container.

@DSchreyer DSchreyer merged commit 09bdf9a into master Jun 5, 2023
@DSchreyer
Copy link
Collaborator Author

@SPPearce Let me know if you identified issues or changes that need to be implemented. I hope I addressed all your change request for a version release.
I now stopped using wave and have fallen back to docker when talking about PrepareAA. PrepareAA will not yet be implemented, but will be implemented in the next release which will hopefully follow soon after this one. The only issue is, as I mentioned before, the docker container that is required for it to fully function with singularity and docker.

I think most of my comments will be best resolved once the whole of AmpliconArchitect is on bioconda, that'll move a lot of the scripts from the pipeline here to just being present in the container.

I agree. Thanks for reviewing and all your suggestions!

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.

6 participants