* New last/lastal to align query sequences on a target index
`lastal` is the main program of the [LAST](https://gitlab.com/mcfrith/last)
suite. It align query DNA sequences in FASTA or FASTQ format to a
target index of DNA or protein sequences. The index is produced by
the `lastdb` program (module `last/lastdb`). The score matrix for
evaluating the alignment can be chosen among preset ones or computed
iteratively by the `last-train` program (module `last/train`). For
this reason, the `last/lastal` module proposed here has one input
channel containing an optional file, that has to be dummy when not used.
The LAST aligner outputs MAF files that can be very large (up to
hundreds of gigabytes), therefore this module unconditionally compresses
its output with gzip.
This new module is part of the work described in Issue #464. During
this development, we fix the version of LAST to 1219 to ensure
consistency (hence ignore lint's version warning).
* Apply suggestions from code review
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* Un-hardcode the path to the LAST index.
Among multiple alternatives I have chosen the following command to
detect the sample name of the index, because it fails in situations
where there is no index files in the index folder, and in situations
were there are two indexes files in the folder. Not failing would
result in feeding garbage information in the INDEX_NAME variable.
basename \$(ls $index/*.bck) .bck
In case of missing file, a clear error message is given by `ls`. In
case of more than one file, the error message of `basename` is more
cryptic, unfortunately. (`basename: extra operand ‘.bck’`)
Alternatives that do not fail if there is no .bck file:
basename $index/*bck .bck
find $index -name '*bck' | sed 's/.bck//'
Alternatives that do not fail if there are more than one .bck file:
basename -s .bck $index/*bck
ls $index/*.bck | xargs basename -s .bck
find $index -name '*bck' | sed 's/.bck//'
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* New last/split module to find split alignments.
The `last-split` tool distributed with [LAST](https://gitlab.com/mcfrith/last)
finds split or spliced alignments in a MAF file that is produced with, for
example, LAST `lastal` command.
This new module is part of the work discribed in Issue #464. During this
development, we fix the versiob of LAST to 1219 to ensure consistency. We will
upgrade it later.
* Update software/last/split/main.nf
* Apply suggestions from code review
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* add additional ucsc tools
* Update software/ucsc/wigtobigwig/meta.yml
Co-authored-by: Kevin Menden <kevin.menden@live.com>
* Update the functions.nf and software name for ucsc/wigtobigwig and bigwigaverageoverbed.
Co-authored-by: Kevin Menden <kevin.menden@live.com>
* New module last/mafswap to reorder sequences in alignments
The `maf-swap` tool distributed with [LAST](https://gitlab.com/mcfrith/last)
reorders sequences in alignment files in Multiple Alignment Format.
When run without command-line arguments, it will swap the target and the
query sequences. This is useful when turning a many-to-many alignment
into a many-to-one and then a one-to-one alignment in conjunction with
the `last-split` command (split, swap, split and swap again).
The LAST aligner outputs MAF files, but other tools also use this
format. As MAF files can be very large (up to hundreds of gigabytes),
the module expects its input to be compressed with gzip and will
compress its output.
This new module is part of the work described in Issue #464. During
this development, we fix the version of LAST to 1219 to ensure
consistency (hence ignore lint's version warning).
* Update MD5 sum.
Actually, 7029066c27ac6f5ef18d660d5741979a is the MD5 sum of
an empty file compressed with `gzip --no-name`… This happened
because I forgot to update the config file after correcting the
module… sorry !
* Apply suggestions from code review
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* Change name as suggested in pull request.
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* New last/train module to train alignment parameters.
The last-train command creates a parameter file that
will be used by last/lastal module for sequence alignment.
It takes indexed sequences and query sequences as input
and we use the metadata of both to create an id of the
parameter output file.
Submission of the LAST modules is discussed in more
details in the issue #464. For consistancy, we use LAST
version 1219 for this whole development and will upgrade later.
* Corrected files according to the nf-core v1.14 standards.
* Fixed function.nf file for the last-train module.
* Apply suggestions from code review
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* Find index name.
* Correct after the input channels were changed.
* Use double underscore as a name separator.
Single underscores can happen in ids, therefore, we would like to keep two underscores.
* Remove extra spaces.
* Fixed the passing of the "score matrix" line.
* Apply suggestions from code review
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* Update software/last/train/main.nf
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* added intervallisttools module
* add intervallisttools module
* arguments are now supplied using options.args
* removed java heapsize settings
* changes in main.nf and it is tested
* comment added
* Update software/gatk4/intervallisttools/meta.yml
Co-authored-by: Maxime U. Garcia <maxime.garcia@scilifelab.se>
* Update tests/software/gatk4/intervallisttools/test.yml
Co-authored-by: Maxime U. Garcia <maxime.garcia@scilifelab.se>
* review comment on tags in bedtointerval
* modified the test to get input from bedtointerval module
* Update software/gatk4/intervallisttools/meta.yml
* Apply suggestions from code review
Co-authored-by: Kevin Menden <kevin.menden@live.com>
* Apply suggestions from code review
* Update tests/config/pytest_software.yml
Co-authored-by: Kevin Menden <kevin.menden@live.com>
* Apply suggestions from code review
* Apply suggestions from code review
Co-authored-by: @praveenraj2018 <praveen.raj.somarajan@ki.se>
Co-authored-by: Maxime U. Garcia <maxime.garcia@scilifelab.se>
Co-authored-by: Kevin Menden <kevin.menden@live.com>
* Bump pangolin version
* Add nextclade to software list
* Add nextclade module
* Update md5sum for Pangolin due to version bump
* Adding some URL to meta.yml
* Adding new line at end of file
Co-authored-by: JoseEspinosa <kadomu@gmail.com>
* New last/lastdb module to index sequences before alignment.
The `lastdb` command creates a sequence index for the LAST aligner
(https://gitlab.com/mcfrith/last). Input can be in FASTA or FASTQ
format, and compression is handled automagically. DNA or protein
sequences can be indexed.
The sequence index is a collection of files sharing the same basename.
This module sets the basename to the sample identifier (`$meta.id`) and
creates the index in a directory always called `lastdb`. The module's
output channel then conveys a copy of the metadata and the path to the
`lastdb` directory.
Other modules will follow (see Issue #464). The LAST aligner can align
proteins to proteins, DNA to DNA and can translate DNA align to
proteins.
* Remove trailing whitespace.
* Apply suggestions from code review
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* Update as suggested in PR.
* Attempt to pass linting.
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* Basic kb-python count functionality for scRNA-seq quantification working.
* Added tests and test data for workflow kite.
* Removed trailing whitespace
* Changed output channels to tuples with meta
Based on suggestions by @KevinMenden.
* Moved workflow and technology to input variables. Currently create test-yaml file script failes with cryptic message.
* Update software/kallistobustools/count/main.nf
@KevinMenden fixed wrong path definition
Co-authored-by: Kevin Menden <kevin.menden@live.com>
* Increased version of kb-python
* Updated tests with raw links.
* Fixed subtool referencing: kallistobustools/count
* Added newline
* Update software/kallistobustools/count/main.nf
Co-authored-by: Kevin Menden <kevin.menden@live.com>
* Add new human data and fix sarscov paths
* Fix filename typo
* Apply code review
* replace index with to match sarscov data
* lower case
* indent everythin
* Adapt sarscov keys to new naming convention
* Update test_data.config
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* new raxml module
* new raxml module
* pass in args for bootstrap and add test for support file
* remove unnecessary tag
* ensure tags meet guidleines
* Apply suggestions from code review
* Update to latest functions file
Co-authored-by: avantonder <avt@sanger.ac.uk>
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* Adding bigWig and deeptools computeMatrix files to config
* Adding meta.yml for deeptools modules
* Add test for deeptools modules
* Fixing and reordering tags
* Fixing conda test that worked in local...
* Apply suggestions from code review
* Changing bigwig file pattern to include bigwig extension
* Saving after last change is a good practice
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* Resolve suggests after PR review
* add newline to functions
* need variable interpolation using double quotes; remove unnecessary tag
* add a more resilient link to raw github files
* remove trailing slash
* Update software/iqtree/main.nf
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* Add abacas module
* Add test for abacas module
* Add Harshil to authorship
* Updating test with the data uploaded to nf-core/datasets
* Apply suggestions from code review
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* initial 'modules create' of minia
* fixed tests
* finished meta.yml
* fixed filters.yml
* resolved issues in pytest_software.yml
* add newline
* Update software/minia/main.nf
* fixing a bunch of module tests
* remove vscode
* fixed minia
* move test data directory to nf-core/test-datasets
* bump multiqc version
* remove the test data
* updated test data link
* update README
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* new submodule mash/sketch
* fixed submodule naming
* OK, tag is diff to keyword
* OK another round 🤣
* removed TODO comments
* updated as per review comments 🙆♂️
* updated functions.nf 😁
* Update software/mash/sketch/main.nf
* Update main.nf
Removed blank line at the 12th
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* new module: rasusa
* Removed blank line in software/rasusa/main
* updated code as per reviewcomments
* removed blank line as failed for lint
* updated as per review comments
* Apply suggestions from code review
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* Added kallistobustools/ref. Local tests all passing with Docker. Linting passed. Test data currently in /tests/data/delete_me
* Removed trailing whitespace line 29
* Moved workflow from meta to options.
* Update main.nf
* Forgot to remove previous testing input channel for workflow.
* Apply suggestions from code review
Applied changes suggested by @drpatelh
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* Added gtf to meta.yml.
* Apply suggestions from code review
Adding @drpatelh suggested changes.
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* Moved workflow to input value. Fixed tests.
* Update tests/software/kallistobustools/ref/test.yml
* Apply suggestions from code review
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* adding fasttree module
* correct trailing whitespace
* using sarscov2 as a test dir
* remove TODO
* update test data naming
* further test data naming updates
* remove options in favour of $options.args
* ensure non standard exit codes don't cause an issue
* update md5sum
* ci: Add modules lint step
Moved it ahead of the nextflow install so ideally it'll fail before we
bother doing any more setup
* ci: _ => /
* Update tests/config/pytest_software.yml
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* inital commit
* added meta.yaml info
* add initial logic for featurecounts test
* add args and change SE/PE to strandedness for featurecounts test
* added tests to pytest
* added test.yml
* removed GTF flag in options
* corrected test meta params
* meta yaml corrected tool info
* update test.yml
* fix lint errors meta.yml
Co-authored-by: Nicholas TODA <nicholas.toda@mnhn.fr>
* Added fgbio callmolecularconsensusreads and sortbam modules
* Fixed naming issue in meta.yml
* fix: test.yml and config lint
* Revert "fix: test.yml and config lint"
This reverts commit 0453bc3a8dc3dab6997442a4349ee2241adcc380, which caused the sortbam tests to fail.
* style: Fix test names
* style: Remove trailing whitespace
* fixed test.yml
* fix: test data in sortbam
* fix: data format
* fix: test data for callmolecularconsensusreads
* Corrected with updated test data
* Apply suggestions from code review
Applied changes from code review, mainly syntactical changes
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
Co-authored-by: Sruthi Suresh <sps180004@ganymede.utdallas.edu>
Co-authored-by: Edmund Miller <edmund.a.miller@protonmail.com>
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* initial commit hisat2/build
* initial commit hisat2/build
* changed names for hisat2
* fixed directory structure and args
* added splice site test data
* added splice site inputs
* replaced list with individual args
* fixed removed commas
* added test yml file
* updated hisat2 conda version
* added meta.yml
* added meta.yml description
* added meta.yml inputs
* added meta.yml outputs
* update conda version for hisat2
* removed trailing whitespace meta.yml
* fixed version number for containers
* added test data to test config
* updated for new test logic
* fix pytest issue?
* fix pytest issue
* fixed wrong tool in meta.yaml
* updated tets.yaml name
* handle build bug for testing
* handle build bug for testing in yaml
* moved test folder to fix build bug
* use old hisat2 version to avoid conda giving inconsistent md5sum
* initial commit
* removed temp file
* added meta yaml
* add to pytest
* added tests
* added test yml
* add align meta yaml
* add hisat2 align to pytest
* remove need for splice data by calling process
* add hisat2 align se test
* add hisat2 align pe test
* update names hisat2 align
* update software pytest for using mutiple modules
* remove splice site test data since using module instead
* remove splice site from config since using module instead
* fixed extra brace
* added hisat2 align test.yml
* removed md5sum for bam files
* updated build md5sums
* Apply suggestions from code review
Co-authored-by: Nicholas TODA <nicholas.toda@mnhn.fr>
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* Adding tar.gz kraken2 db to test data
* Update test path files for untar module
* Update test path files for kraken2/run module
* Update test path files for cat/fastq module
* Initial work on yara module
* Adding in index basics
* Updated the index stuff
* Adding in proper tests
* Fix editorconfig
* Odd paths
* that should do it
* Fix tests
* Fix tests
* FFS
* Once more
* Mapping is not deterministic
* Re-organise all test data
* Fix ECLint
* Fix ECLint agaaainn
* Now is not the time EClint
* Initial commit for test data config
* Rename test data
* Include test config
* Update indents
* Update test for FastQC via config
* Remove quotes of bottom-level variables
* Use underscores in key names
* Get tests working for fastp
* Remove whitespace at beginning of file
* nf-core template created
* boilerplate and sarek_dsl2 code merged
* adding an option to give it args
* bai got away
* seperating vcf files and vcf index files into seperate streams
* some minor spacefixes
* adding standard information about the module
* removing typos
* some basic tests based on tiddit tests
* removed the bed parameter, should be provided via options.args instead
* removing typos
* adding indexed bam file instead
* Adding changing out fasta with reference to deal with empty fasta input
* adding the correct fasta
* removing the empty test
* adding the correct data to the testoutput and removing the md5sum since
it constantly changes
* adding target_bed to input
* adding info on target bed
* adding target bed to test
* adding more files to the test
* adding meta for target bed test
* adding a test for target_bed
* typo
* fixing pytest with master
* Adding in optitype prototype (To be worked on these days)
* I've tried my best 😆
* No idea
* Add in YML stuff
* Fix paths
* Ok, lets try this
* Adding proper options
* Replacec configbuilder thing
* Fix seq_type
* Adding human bam - sarscov doesnt work
* Fix a bunch of things
* -def
* Make this test run
* Fancy as fuck
* Update tests/software/optitype/test.yml
* Add proper tag
* Remove md5sums
Co-authored-by: Kevin Menden <kevin.menden@t-online.de>
* Inital nf-core create
* remove TODO comments, input and output files defined
* add get version in script
* added flow control for single/paired end data
* added script main commands
* removed completed TODO messages
* removed completed TODO messages
* added software info
* added input reads description
* added output description
* added description and keywords
* added single end test
* added paired end test
* fixed sample name flag
* fixed reverse read variable
* added test yaml
* update for pytest_software
* order in pytest_software was different
* replaced functions.nf with copy from another module
* simplify read command line
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
Co-authored-by: Nicholas TODA <nicholas.toda@mnhn.fr>
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* add bismark/align module
* bismark/align: add tests
* bismark/align: update meta.yml
* bismark/align: skip checksum for alignment logs
they contain timestamps
* bismark/align: restore correct checksum
caused some mixup in the last commit
* bismark/align: add genome_preparation to filters
* Fix conda version pin
* change options to be a global var
* remove params from meta.yml
* add bismark/summary
* remove md5sum check for bismark_summary_report.html
it contains a timestamp
* fix tests
* update meta.yml
* remove mysterious index files
* add bismark/align module
* bismark/align: add tests
* bismark/align: update meta.yml
* bismark/align: skip checksum for alignment logs
they contain timestamps
* bismark/align: restore correct checksum
caused some mixup in the last commit
* bismark/align: add genome_preparation to filters
* Fix conda version pin
* change options to be a global var
* remove params from meta.yml
* add bismark/report
* fix test filepaths
* remove mysterious index files
* add bismark/methylation_extractor
* add tests for bismark/methylation_extractor
* bismark/methylation_extractor: add genome_preparation to filters
* Apply suggestions from code review
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
* remove params from meta.yml
* pytest: remove md5sum checks for gzipped output
gzip stores timestamps in the file header, so the checksum will be different each time
Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
The user will now set the env variable and pass it to pytest. You also
can't set the env variable ahead of time, it has to be run with pytest.
Example:
PROFILE=conda pytest --tag fastqc --symlink --kwd