Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 50 additions & 50 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,53 +2,53 @@ name: Bug report
description: Report something that is broken or incorrect
labels: bug
body:
- type: textarea
id: description
attributes:
label: Description of the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: command_used
attributes:
label: Command used and terminal output
description: Steps to reproduce the behaviour. Please paste the command you used
to launch the pipeline and the output from your terminal.
render: console
placeholder: '$ nextflow run ...


Some output where something broke

'
- type: textarea
id: files
attributes:
label: Relevant files
description: 'Please drag and drop the relevant files here. Create a `.zip` archive
if the extension is not allowed.

Your verbose log file `.nextflow.log` is often useful _(this is a hidden file
in the directory where you launched the pipeline)_ as well as custom Nextflow
configuration files.

'
- type: textarea
id: system
attributes:
label: System information
description: '* Nextflow version _(eg. 23.04.0)_

* Hardware _(eg. HPC, Desktop, Cloud)_

* Executor _(eg. slurm, local, awsbatch)_

* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter, Charliecloud,
or Apptainer)_

* OS _(eg. CentOS Linux, macOS, Linux Mint)_

* Version of jlab/refbasedassemblereval _(eg. 1.1, 1.5, 1.8.2)_

'
- type: textarea
id: description
attributes:
label: Description of the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: command_used
attributes:
label: Command used and terminal output
description: Steps to reproduce the behaviour. Please paste the command you used
to launch the pipeline and the output from your terminal.
render: console
placeholder: "$ nextflow run ...


Some output where something broke

"
- type: textarea
id: files
attributes:
label: Relevant files
description: "Please drag and drop the relevant files here. Create a `.zip` archive
if the extension is not allowed.

Your verbose log file `.nextflow.log` is often useful _(this is a hidden file
in the directory where you launched the pipeline)_ as well as custom Nextflow
configuration files.

"
- type: textarea
id: system
attributes:
label: System information
description: "* Nextflow version _(eg. 23.04.0)_

* Hardware _(eg. HPC, Desktop, Cloud)_

* Executor _(eg. slurm, local, awsbatch)_

* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter, Charliecloud,
or Apptainer)_

* OS _(eg. CentOS Linux, macOS, Linux Mint)_

* Version of jlab/refbasedassemblereval _(eg. 1.1, 1.5, 1.8.2)_

"
27 changes: 0 additions & 27 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,30 +14,3 @@ env:
concurrency:
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
cancel-in-progress: true

jobs:
test:
name: Run pipeline with test data
# Only run on push if this is the nf-core dev branch (merged PRs)
if: "${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'jlab/refbasedassemblereval') }}"
runs-on: ubuntu-latest
strategy:
matrix:
NXF_VER:
- "23.04.0"
- "latest-everything"
steps:
- name: Check out pipeline code
uses: actions/checkout@v3

- name: Install Nextflow
uses: nf-core/setup-nextflow@v1
with:
version: "${{ matrix.NXF_VER }}"

- name: Run pipeline with test data
# TODO nf-core: You can customise CI pipeline run tests as required
# For example: adding multiple test runs with different parameters
# Remember that you can parallelise this by using strategy.matrix
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test,docker --outdir ./results
40 changes: 0 additions & 40 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,43 +66,3 @@ jobs:
Thanks again for your contribution!
repo-token: ${{ secrets.GITHUB_TOKEN }}
allow-repeats: false

nf-core:
runs-on: ubuntu-latest
steps:
- name: Check out pipeline code
uses: actions/checkout@v3

- name: Install Nextflow
uses: nf-core/setup-nextflow@v1

- uses: actions/setup-python@v4
with:
python-version: "3.11"
architecture: "x64"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install nf-core

- name: Run nf-core lint
env:
GITHUB_COMMENTS_URL: ${{ github.event.pull_request.comments_url }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PR_COMMIT: ${{ github.event.pull_request.head.sha }}
run: nf-core -l lint_log.txt lint --dir ${GITHUB_WORKSPACE} --markdown lint_results.md

- name: Save PR number
if: ${{ always() }}
run: echo ${{ github.event.pull_request.number }} > PR_number.txt

- name: Upload linting log file artifact
if: ${{ always() }}
uses: actions/upload-artifact@v3
with:
name: linting-logs
path: |
lint_log.txt
lint_results.md
PR_number.txt
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,5 @@ plotting/*.csv*
plotting/data_cache
plotting/envs/
plotting/envs_newtest/
plotting/archive
plotting/archive
plotting/outdir/
46 changes: 23 additions & 23 deletions .nf-core.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
lint:
files_exist:
- CODE_OF_CONDUCT.md
- assets/nf-core-refbasedassemblereval_logo_light.png
- docs/images/nf-core-refbasedassemblereval_logo_light.png
- docs/images/nf-core-refbasedassemblereval_logo_dark.png
- .github/ISSUE_TEMPLATE/config.yml
- .github/workflows/awstest.yml
- .github/workflows/awsfulltest.yml
- conf/igenomes.config
- conf/igenomes.config
- CODE_OF_CONDUCT.md
- assets/nf-core-refbasedassemblereval_logo_light.png
- docs/images/nf-core-refbasedassemblereval_logo_light.png
- docs/images/nf-core-refbasedassemblereval_logo_dark.png
- .github/ISSUE_TEMPLATE/config.yml
- .github/workflows/awstest.yml
- .github/workflows/awsfulltest.yml
- conf/igenomes.config
- conf/igenomes.config
files_unchanged:
- CODE_OF_CONDUCT.md
- assets/nf-core-refbasedassemblereval_logo_light.png
- docs/images/nf-core-refbasedassemblereval_logo_light.png
- docs/images/nf-core-refbasedassemblereval_logo_dark.png
- .github/ISSUE_TEMPLATE/bug_report.yml
- CODE_OF_CONDUCT.md
- assets/nf-core-refbasedassemblereval_logo_light.png
- docs/images/nf-core-refbasedassemblereval_logo_light.png
- docs/images/nf-core-refbasedassemblereval_logo_dark.png
- .github/ISSUE_TEMPLATE/bug_report.yml
multiqc_config:
- report_comment
- report_comment
nextflow_config:
- manifest.name
- manifest.homePage
- process.cpus
- process.memory
- process.time
- custom_config
- manifest.name
- manifest.homePage
- process.cpus
- process.memory
- process.time
- custom_config
repository_type: pipeline
template:
prefix: jlab
skip:
- igenomes
- nf_core_configs
- igenomes
- nf_core_configs
32 changes: 15 additions & 17 deletions CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,51 +13,49 @@
- [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)

> Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online].
>

- [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/)

> Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924.
>

- [Bowtie2](https://link.springer.com/article/10.1186/s13040-014-0034-0)

> LANGDON, William B. Performance of genetic programming optimised Bowtie2 on genome comparison and analytic testing (GCAT) benchmarks.*BioData mining* , 2015, 8. Jg., Nr. 1, S. 1.
>
> LANGDON, William B. Performance of genetic programming optimised Bowtie2 on genome comparison and analytic testing (GCAT) benchmarks._BioData mining_ , 2015, 8. Jg., Nr. 1, S. 1.

- [BEDTools](https://currentprotocols.onlinelibrary.wiley.com/doi/full/10.1002/0471250953.bi1112s47)

> QUINLAN, Aaron R. BEDTools: the Swiss‐army tool for genome feature analysis. *Current protocols in bioinformatics* , 2014, 47. Jg., Nr. 1, S. 11.12. 1-11.12. 34.
>
> QUINLAN, Aaron R. BEDTools: the Swiss‐army tool for genome feature analysis. _Current protocols in bioinformatics_ , 2014, 47. Jg., Nr. 1, S. 11.12. 1-11.12. 34.

- [Salmon](https://www.nature.com/articles/nmeth.4197)

> PATRO, Rob, et al. Salmon provides fast and bias-aware quantification of transcript expression.*Nature methods* , 2017, 14. Jg., Nr. 4, S. 417-419.
>
> PATRO, Rob, et al. Salmon provides fast and bias-aware quantification of transcript expression._Nature methods_ , 2017, 14. Jg., Nr. 4, S. 417-419.

- [SeqKit](https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0163962)

> SHEN, Wei, et al. SeqKit: a cross-platform and ultrafast toolkit for FASTA/Q file manipulation. *PloS one* , 2016, 11. Jg., Nr. 10, S. e0163962.
>
> SHEN, Wei, et al. SeqKit: a cross-platform and ultrafast toolkit for FASTA/Q file manipulation. _PloS one_ , 2016, 11. Jg., Nr. 10, S. e0163962.

- [Subread](https://academic.oup.com/nar/article/41/10/e108/1075719?login=true)

> LIAO, Yang; SMYTH, Gordon K.; SHI, Wei. The Subread aligner: fast, accurate and scalable read mapping by seed-and-vote. *Nucleic acids research* , 2013, 41. Jg., Nr. 10, S. e108-e108.
>
> LIAO, Yang; SMYTH, Gordon K.; SHI, Wei. The Subread aligner: fast, accurate and scalable read mapping by seed-and-vote. _Nucleic acids research_ , 2013, 41. Jg., Nr. 10, S. e108-e108.

## Software packaging/containerisation tools

- [Anaconda](https://anaconda.com)

> Anaconda Software Distribution. Computer software. Vers. 2-2.4.0. Anaconda, Nov. 2016. Web.
>

- [Bioconda](https://pubmed.ncbi.nlm.nih.gov/29967506/)

> Grüning B, Dale R, Sjödin A, Chapman BA, Rowe J, Tomkins-Tinch CH, Valieris R, Köster J; Bioconda Team. Bioconda: sustainable and comprehensive software distribution for the life sciences. Nat Methods. 2018 Jul;15(7):475-476. doi: 10.1038/s41592-018-0046-7. PubMed PMID: 29967506.
>

- [BioContainers](https://pubmed.ncbi.nlm.nih.gov/28379341/)

> da Veiga Leprevost F, Grüning B, Aflitos SA, Röst HL, Uszkoreit J, Barsnes H, Vaudel M, Moreno P, Gatto L, Weber J, Bai M, Jimenez RC, Sachsenberg T, Pfeuffer J, Alvarez RV, Griss J, Nesvizhskii AI, Perez-Riverol Y. BioContainers: an open-source and community-driven framework for software standardization. Bioinformatics. 2017 Aug 15;33(16):2580-2582. doi: 10.1093/bioinformatics/btx192. PubMed PMID: 28379341; PubMed Central PMCID: PMC5870671.
>

- [Docker](https://dl.acm.org/doi/10.5555/2600239.2600241)

> Merkel, D. (2014). Docker: lightweight linux containers for consistent development and deployment. Linux Journal, 2014(239), 2. doi: 10.5555/2600239.2600241.
>

- [Singularity](https://pubmed.ncbi.nlm.nih.gov/28494014/)

> Kurtzer GM, Sochat V, Bauer MW. Singularity: Scientific containers for mobility of compute. PLoS One. 2017 May 11;12(5):e0177459. doi: 10.1371/journal.pone.0177459. eCollection 2017. PubMed PMID: 28494014; PubMed Central PMCID: PMC5426675.
>
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@

Recommended usage:

* Create *in silico* datasets using [Marbel](https://anaconda.org/bioconda/marbel), name the output dirs: NAME_microbiome
* Assemble the datasets
* Run the pipeline
- Create _in silico_ datasets using [Marbel](https://anaconda.org/bioconda/marbel), name the output dirs: NAME_microbiome
- Assemble the datasets
- Run the pipeline

Fill the required parameters per run and adjust the example config files in `example/tool.config`, `example/dataset.config` and `example/resources.config`.

For each dataset create a dataset.config with the data set name. For outdir parameter chose the same parent dir, if you want to visualise the datasets together, e.g., PATH/group/dataset1, PATH/group/dataset2.
For each dataset create a dataset.config with the data set name. For outdir parameter chose the same parent dir, if you want to visualise the datasets together, e.g., PATH/group/dataset1, PATH/group/dataset2.

Run each dataset with:

Expand All @@ -35,7 +35,7 @@ nextflow run . \
-c example/tool.config
```

Afterwards there is multiple methods which can visualise the runs. A script which creates all orb files is provided:
Afterwards there is multiple methods which can visualise the runs. A script which creates all orb files is provided:
`plotting/plot_orb_figures.py

For the dependencies you can use:
Expand All @@ -52,7 +52,7 @@ python plotting/plot_orb_figures.py <fp_orb_basedir> <fp_marbel_basedir> <marbel

`fp_orb_basedir`: Path of the results for orb.

`fp_marbel_basedir`: Path to the *in silico* datasets. Datasets folders require _microbiome suffix.
`fp_marbel_basedir`: Path to the _in silico_ datasets. Datasets folders require \_microbiome suffix.

`marbel_sequence_file`: Path to the bio index file of the [Marbel repository](https://github.com/jlab/marbel): `src/marbel/data/deduplicated_pangenome_EDGAR_Microbiome_JLAB2.fas.bgz.bio_index`

Expand Down
2 changes: 1 addition & 1 deletion assets/schema_input.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"type": "string"
},
"errorMessage": "An array of assemblers for reads 1 must be provided"
},
}
},
"required": ["sample", "assemblers"]
}
Expand Down
17 changes: 12 additions & 5 deletions bin/calculate_calour_confusion.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@

row_prefix = "calour_"

gene_summary = pd.read_csv(gene_summary_file, sep='\t')
assembler_dge = pd.read_csv(assembler_dge_file, sep='\t')
gene_summary = pd.read_csv(gene_summary_file, sep="\t")
assembler_dge = pd.read_csv(assembler_dge_file, sep="\t")


with open(map_file, "r") as file:
contig_to_gene = json.load(file)

assembler_dge["Name"] = assembler_dge["Name"].astype(str)

assembler_dge["original_cds"] = assembler_dge["Name"].map(contig_to_gene)

assembler_dge["gene_name"] = assembler_dge["original_cds"].str.replace(r"_block\d+$", "", regex=True)
Expand All @@ -37,6 +37,13 @@

cm = confusion_matrix(true_labels, pred_labels, labels=[0, 1])

linear_cm = {f"{row_prefix}DE_TN": cm[0, 0], f"{row_prefix}DE_FP": cm[0, 1], f"{row_prefix}DE_FN": cm[1, 0], f"{row_prefix}DE_TP": cm[1, 1]}
linear_cm = {
f"{row_prefix}DE_TN": cm[0, 0],
f"{row_prefix}DE_FP": cm[0, 1],
f"{row_prefix}DE_FN": cm[1, 0],
f"{row_prefix}DE_TP": cm[1, 1],
}

pd.DataFrame.from_dict(linear_cm, orient="index", columns=[prefix]).to_csv(f"{row_prefix}{prefix}_linear_cm.tsv", sep="\t")
pd.DataFrame.from_dict(linear_cm, orient="index", columns=[prefix]).to_csv(
f"{row_prefix}{prefix}_linear_cm.tsv", sep="\t"
)
Loading
Loading