Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
bc8f42c
Dengue typing requires reads in input - when a sample fails to assemb…
cimendes Dec 27, 2018
36a44d1
add option to raxml process to simplify labels in newick tree
cimendes Dec 28, 2018
c968000
cleanup
cimendes Dec 28, 2018
bd640ce
moved dengue_typing script into template.
cimendes Jan 26, 2019
ba17696
devided dengue_typing into two components with two templates, one for
cimendes Jan 31, 2019
42a2ac8
devided dengue_typing into two components with two templates, one for
cimendes Feb 1, 2019
8fb4be6
add custom exit code. code cleanup and commenting
cimendes Feb 1, 2019
40d0be6
fix bug and code cleanup
cimendes Feb 1, 2019
268fff2
add check_coverage to denim recipe
cimendes Feb 3, 2019
2e06f3e
fix database location
cimendes Feb 4, 2019
9dde95c
fix bug in the add label option
cimendes Feb 4, 2019
fd675c1
add identity and coverage to dengue_typing report.json
cimendes Feb 6, 2019
bd5f7c2
latest update to den-im recipe components - dengue_typing
cimendes Apr 6, 2019
d65d1ba
Merge branch 'den-im' into dev
cimendes Apr 6, 2019
d6b3fbd
fix typo
cimendes Apr 6, 2019
705d209
Update spades container to the 3.13.0 version
cimendes Apr 24, 2019
1a22f0e
Add seroba component
cimendes May 9, 2019
99e7e1c
Merge remote-tracking branch 'origin/dev' into dev
cimendes May 9, 2019
5d2da64
fix typo
cimendes May 9, 2019
a308341
remove temporary folder when a seroba run is successful, as well as w…
cimendes May 16, 2019
7bababb
remove temporary folder when a seroba run is successful, as well as w…
cimendes May 16, 2019
2056dc0
renames input files to avoid filename matching errors
cimendes May 17, 2019
c3f7f14
added concoct component for metagenomic binning
cimendes May 22, 2019
2f35cbe
added concoct report (workaround issue)
cimendes May 22, 2019
dc4caa6
fixed script for concoct
cimendes May 23, 2019
bca3be0
add metabat2 component
cimendes May 24, 2019
33845b4
remove submodule from dev install
cimendes Jun 11, 2019
e9ea39f
fix typo
cimendes Jun 11, 2019
260ff85
Added bwa component
PhilPalmer Jun 11, 2019
a4db6b1
Added cpus to bwa command
PhilPalmer Jun 11, 2019
a50e0ae
added manifest information to the `nextflow.config` file to allow for…
cimendes Jun 11, 2019
58e8cc7
Added component for haplotypecaller
PhilPalmer Jun 11, 2019
b823897
Added merge vcfs to haplotypecaller component
PhilPalmer Jun 11, 2019
6fcc1e6
Added mark duplicates component
PhilPalmer Jun 11, 2019
1e13999
Added bam index to mark duplicates
PhilPalmer Jun 12, 2019
6d43c7d
Added base_recalibrator component
PhilPalmer Jun 12, 2019
54dd4de
Removed publishDir for haplotypecaller
PhilPalmer Jun 12, 2019
46fab6d
Added apply_bqsr process to base_recalibrator component
PhilPalmer Jun 12, 2019
5392202
Updated changelog
PhilPalmer Jun 14, 2019
83f1328
Added description to haplotypecaller
PhilPalmer Jun 14, 2019
804bca3
Rebase with dev
PhilPalmer Jun 14, 2019
492df2e
Add check for the location of specific dot files
cimendes Jun 11, 2019
0527009
Merge pull request #206 from assemblerflow/lifebit
PhilPalmer Jun 18, 2019
e0bc4d8
Updated changelog
ODiogoSilva Jun 18, 2019
890d54d
Updated version
ODiogoSilva Jun 18, 2019
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
19 changes: 17 additions & 2 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,24 @@
# Changelog

## Changes in upcoming release (`dev` branch)
## 1.4.2

### New components

## 1.4.0
- `Bwa`: align short paired-end sequencing reads to long reference sequences
- `MarkDuplicates`: Identifies duplicate reads
- `BaseRecalibrator`: Detects systematic errors in base quality scores
- `Haplotypecaller`: Call germline SNPs and indels via local re-assembly of haplotypes

- `Seroba`: Serotyping of *Streptococcus pneumoniae* sequencing data (FastQ)
- `Concoct`: Clustering metagenomic assembled comtigs with coverage and composition
- `MetaBAT2`: A robust statistical framework for reconstructing genomes from metagenomic data

### Minor/Other changes

- added manifest information to the `nextflow.config` file to allow for remote execution
- Added checks for the DAG's dot files in the compile_reports component

## 1.4.1

### New features

Expand Down
4 changes: 2 additions & 2 deletions docs/dev/create_process.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ substitute key variables in the process, such as input/output channels.
An example created as a ``my_process.nf`` file is as follows::

some_channel_{{ pid }} = Channel.value(params.param1{{ param_id}})
other_channel_{{ pid }} = Chanel.fromPath(params.param2{{ param_id}})
other_channel_{{ pid }} = Channel.fromPath(params.param2{{ param_id}})

process myProcess_{{ pid }} {

Expand Down Expand Up @@ -795,4 +795,4 @@ template::
<main input> from {{ input_channel }}


.. _jinja2: http://jinja.pocoo.org/docs/2.10/
.. _jinja2: http://jinja.pocoo.org/docs/2.10/
1 change: 0 additions & 1 deletion docs/getting_started/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ setup.py::

git clone https://github.com/assemblerflow/flowcraft.git
cd flowcraft
git submodule update --init --recursive
python3 setup.py install


Expand Down
4 changes: 2 additions & 2 deletions flowcraft/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

__version__ = "1.4.1"
__build__ = "02032019"
__version__ = "1.4.2"
__build__ = "18062019"
__author__ = "Diogo N. Silva, Tiago F. Jesus, Ines Mendes, Bruno Ribeiro-Goncalves"
__copyright__ = "Diogo N. Silva"
__license__ = "GPL3"
Expand Down
4 changes: 0 additions & 4 deletions flowcraft/flowcraft.py
Original file line number Diff line number Diff line change
Expand Up @@ -279,10 +279,6 @@ def copy_project(path):
# Copy bin scripts
copy_tree(join(repo_dir, "bin"), join(target_dir, "bin"))

# Copy default config file
shutil.copy(join(repo_dir, "nextflow.config"),
join(target_dir, "nextflow.config"))

# Copy static profiles file
shutil.copy(join(repo_dir, "profiles.config"),
join(target_dir, "profiles.config"))
Expand Down
2 changes: 1 addition & 1 deletion flowcraft/generator/components/assembly.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ def __init__(self, **kwargs):
"cpus": 4,
"memory": "{ 5.GB * task.attempt }",
"container": "flowcraft/spades",
"version": "3.12.0-1",
"version": "3.13.0-1",
"scratch": "true"
}}

Expand Down
138 changes: 138 additions & 0 deletions flowcraft/generator/components/mapping.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,3 +108,141 @@ def __init__(self, **kwargs):
self.status_channels = [
"retrieve_mapped"
]


class Bwa(Process):
"""Bwa to align short paired-end sequencing reads to long reference sequences

This process is set with:

- ``input_type``: fastq
- ``output_type``: bam
- ``ptype``: mapping

"""

def __init__(self, **kwargs):

super().__init__(**kwargs)

self.input_type = "fastq"
self.output_type = "bam"

self.params = {
"bwaIndex": {
"default": "'s3://ngi-igenomes/igenomes/Homo_sapiens/GATK/GRCh37/Sequence/BWAIndex/human_g1k_v37_decoy.fasta'",
"description": "Specifies the reference indexes to be provided "
"to bwa."
}
}

self.directives = {
"bwa": {
"container": "flowcraft/bwa_samtools",
"version": "0.7.17-1",
"memory": "{5.Gb*task.attempt}",
"cpus": 4
}
}

self.status_channels = [
"bwa",
]


class MarkDuplicates(Process):
"""Identifies duplicate reads.

This process is set with:

- ``input_type``: bam
- ``output_type``: bam
- ``ptype``: mapping

"""

def __init__(self, **kwargs):

super().__init__(**kwargs)

self.input_type = "bam"
self.output_type = "bam"

self.compiler["multiqc"] = ["markDupMultiQC"]

self.directives = {
"mark_duplicates": {
"container": "broadinstitute/gatk",
"memory": "{5.Gb*task.attempt}",
"cpus": 4
}
}

self.status_channels = [
"mark_duplicates"
]


class BaseRecalibrator(Process):
"""Detects systematic errors in base quality scores

This process is set with:

- ``input_type``: bam
- ``output_type``: bam
- ``ptype``: mapping

"""

def __init__(self, **kwargs):

super().__init__(**kwargs)

self.input_type = "bam"
self.output_type = "bam"

self.params = {
"reference": {
"default": "null",
"description": "Specifies the name of the FASTA reference genome and index files to be provided "
"to BaseRecalibrator."
},
"dbsnp": {
"default": "null",
"description": "Specifies the dbSNP VCF file to be provided "
"to BaseRecalibrator."
},
"dbsnpIdx": {
"default": "null",
"description": "Specifies the dbSNP VCF index file to be provided "
"to BaseRecalibrator."
},
"goldenIndel": {
"default": "null",
"description": "Specifies the Gold standard INDELs VCF file to be provided "
"to BaseRecalibrator."
},
"goldenIndelIdx": {
"default": "null",
"description": "Specifies the Gold standard INDELs VCF index file to be provided "
"to BaseRecalibrator."
}
}

self.directives = {
"base_recalibrator": {
"container": "broadinstitute/gatk",
"memory": "{5.Gb*task.attempt}",
"cpus": 4
},
"apply_bqsr": {
"container": "broadinstitute/gatk",
"memory": "{5.Gb*task.attempt}",
"cpus": 4
}
}

self.status_channels = [
"base_recalibrator",
"apply_bqsr"
]
131 changes: 130 additions & 1 deletion flowcraft/generator/components/metagenomics.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,74 @@
from flowcraft.generator.process import Process


class Concoct(Process):
"""
CONCOCT process template interface for the
taxonomic independent binning of metagenomic
assemblies.

This process is set with:
- ``input_type``: assembly
- ``output_type``: assembly
- ``ptype``: post_assembly

It contains one **secondary channel link end**:

- ``MAIN_fq`` (alias: ``_MAIN_assembly``): Receives the FastQ files
from the last process with ``fastq`` output type.
"""
def __init__(self, **kwargs):

super().__init__(**kwargs)

self.input_type = "fasta"
self.output_type = "fasta"

self.link_end.append({"link": "__fastq", "alias": "_LAST_fastq"})

self.params = {
"clusters": {
"default": 400,
"description": "Maximum number of clusters for VGMM. Default: 400"
},
"lengthThreshold": {
"default": 1000,
"description": "Contigs shorter than this value will not be included. Default: 1000."
},
"readLength": {
"default": 100,
"description": "Specify read length for coverage."
"Default: 0.9"
},
"iterations": {
"default": 500,
"description": "Number of iterations for the VBGMM. Default: 500"
},
"clearInput": {
"default": "false",
"description":
"Permanently removes temporary input files. This option "
"is only useful to remove temporary files in large "
"workflows and prevents nextflow's resume functionality. "
"Use with caution."
}
}

self.directives = {
"concoct": {
"container": "flowcraft/concoct",
"version": "1.0.0-1",
"cpus": 4,
"memory": "{ 5.GB * task.attempt }"
}
}

self.status_channels = [
"concoct",
"report_concoct"
]


class Kraken(Process):
"""kraken process template interface

Expand Down Expand Up @@ -41,6 +109,7 @@ def __init__(self, **kwargs):
"kraken"
]


class Kraken2(Process):
"""kraken2 process template interface

Expand Down Expand Up @@ -212,6 +281,66 @@ def __init__(self, **kwargs):
]


class Metabat2(Process):
"""
MetaBat2 process template interface for the
taxonomic independent binning of metagenomic
assemblies.

This process is set with:
- ``input_type``: assembly
- ``output_type``: assembly
- ``ptype``: post_assembly

It contains one **dependency process**:

- ``assembly_mapping``: Requires the BAM file generated by the
assembly mapping process

"""
def __init__(self, **kwargs):

super().__init__(**kwargs)

self.input_type = "fasta"
self.output_type = "fasta"

self.dependencies = ["assembly_mapping"]

self.params = {
"maxPercentage": {
"default": 95,
"description": "Percentage of 'good' contigs considered for binning decided by connection. Default: 95."
},
"minContig": {
"default": 2500,
"description": "Minimum size of a contig for binning (should be >=1500). Default: 2500."
},
"clearInput": {
"default": "false",
"description":
"Permanently removes temporary input files. This option "
"is only useful to remove temporary files in large "
"workflows and prevents nextflow's resume functionality. "
"Use with caution."
}
}

self.directives = {
"metabat2": {
"container": "flowcraft/metabat",
"version": "2.13-1",
"cpus": 4,
"memory": "{ 5.GB * task.attempt }"
}
}

self.status_channels = [
"metabat2",
"report_metabat2"
]


class Metaspades(Process):
"""Metaspades process template interface

Expand Down Expand Up @@ -349,6 +478,7 @@ def __init__(self, **kwargs):
"report_remove_host"
]


class Metaprob(Process):
"""MetaProb to bin metagenomic reads interface

Expand Down Expand Up @@ -431,4 +561,3 @@ def __init__(self, **kwargs):
self.status_channels = [
"split_assembly"
]

4 changes: 4 additions & 0 deletions flowcraft/generator/components/phylogeny.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ def __init__(self, **kwargs):
"bootstrap": {
"default": "500",
"description": "Specify the number of alternative runs on distinct starting trees"
},
"simpleLabel": {
"default": "true",
"description": "Simplify the labels in the newick tree (for interactive report only)"
}
}

Expand Down
Loading