| Usage | Requirement |
|---|---|
- AIM
- WARNING
- CONTENT
- INPUT
- HOW TO RUN
- OUTPUT
- VERSIONS
- LICENCE
- CITATION
- CREDITS
- ACKNOWLEDGEMENTS
- WHAT'S NEW IN
Use slivar on a VCF file to:
- annotate (added in the INFO field, if -g option of slivar is used).
- add familial relationship information (added in the INFO field, if --trio, --family-expr, --group-exp, --sample-expr option of slivar is used).
- filter (line, i.e., variant removal, according to quality, family criteria, etc.).
Return both an indexed .vcf.gz and a .tsv.gz file.
-
Use nextflow DSL1. To install DSL1 and use it when DSL2 is already installed, see these java and nextflow instructions. This allows to install the
nextflow-dls1command, used below. -
The code uses these following commands of slivar (see this slivar webpage for details):
slivar expr --js ${fun} -g ${annot1} -g ${annot2} --vcf ${vcf} --ped ${ped} ${sample_expr} ${pedigree_expr} ${filter} -o "res.vcf" slivar tsv --ped ${ped} -s ${tsv_sample} ${tsv_info} res.vcf > res.tsv
Thus, pay attention with the family_expr, sample and info parameters in the nextflow.config file.
| Files and folder | Description |
|---|---|
| main.nf | File that can be executed using a linux terminal, a MacOS terminal or Windows 10 WSL2. |
| nextflow.config | Parameter settings for the main.nf file. Users have to open this file, set the desired settings and save these modifications before execution. |
| bin folder | Contains files required by the main.nf file. |
| Licence.txt | Licence of the release. |
| Required files |
|---|
| A variant Calling Format (VCF) file (zipped or not). |
| A jason file containing functions for the slivar --family-expr option. This file is present in the bin folder describe above. |
| A pedigree file. |
| A Cadd annotation file. |
| A Gnomad annotation file. |
The dataset used in the nextflow.config file, as example, is available at https://zenodo.org/records/10723664.
| Files | Description |
|---|---|
| example.vcf.gz | VCF file. Available here. |
| pedigree.txt | Pedigree file. Available here. |
| cadd-1.6-SNVs-phred10-GRCh37.zip | Cadd variant annotation v1.6 filtered at phred10. Available here. |
| gnomad-2.1.1-genome-GRCh37.zip | Gnomad variant annotation v2.1.1. Available here. |
Installation of:
nextflow DSL1
Graphviz, sudo apt install graphviz for Linux ubuntu
Apptainer
- Mount a server if required:
DRIVE="Z" # change the letter to fit the correct drive
sudo mkdir /mnt/share
sudo mount -t drvfs $DRIVE: /mnt/share
Warning: if no mounting, it is possible that nextflow does nothing, or displays a message like:
Launching `main.nf` [loving_morse] - revision: d5aabe528b /mnt/share/Users
- Run the following command from where the main.nf and nextflow.config files are (example: \wsl$\Ubuntu-20.04\home\gael):
nextflow-dsl1 run main.nf -c nextflow.config
with -c to specify the name of the config file used.
Run the following command from where you want the results:
nextflow-dsl1 run gael-millot/slivar_vcf_extraction # github, or nextflow-dsl1 run http://github.com/gael-millot/slivar_vcf_extraction
nextflow-dsl1 run -hub pasteur gmillot/slivar_vcf_extraction -r v1.0.0 # gitlab
Copy-paste this after having modified the EXEC_PATH variable:
EXEC_PATH="/pasteur/helix/projects/BioIT/gmillot/slivar_vcf_extraction" # where the bin folder of the main.nf script is located
export CONF_BEFORE=/opt/gensoft/exe # on maestro
export JAVA_CONF=java/13.0.2
export JAVA_CONF_AFTER=bin/java # on maestro
export APP_CONF=apptainer/1.3.5
export APP_CONF_AFTER=bin/apptainer # on maestro
export GIT_CONF=git/2.39.1
export GIT_CONF_AFTER=bin/git # on maestro
export GRAPHVIZ_CONF=graphviz/2.42.3
export GRAPHVIZ_CONF_AFTER=bin/graphviz # on maestro
MODULES="${CONF_BEFORE}/${JAVA_CONF}/${JAVA_CONF_AFTER},${CONF_BEFORE}/${APP_CONF}/${APP_CONF_AFTER},${CONF_BEFORE}/${GIT_CONF}/${GIT_CONF_AFTER}/${GRAPHVIZ_CONF}/${GRAPHVIZ_CONF_AFTER}"
cd ${EXEC_PATH}
chmod 755 ${EXEC_PATH}/bin/*.*
module load ${JAVA_CONF} ${APP_CONF} ${GIT_CONF} ${GRAPHVIZ_CONF}
Modify the second line of the code below, and run from where the main.nf and nextflow.config files are (which has been set thanks to the EXEC_PATH variable above):
HOME_INI=$HOME
HOME="${HELIXHOME}/slivar_vcf_extraction/" # $HOME changed to allow the creation of .nextflow into /$HELIXHOME/slivar_vcf_extraction/, for instance. See NFX_HOME in the nextflow software script
nextflow-dsl1 run main.nf -c nextflow.config
HOME=$HOME_INI
Modify the first and third lines of the code below, and run (results will be where the EXEC_PATH variable has been set above):
VERSION="v1.0"
HOME_INI=$HOME
HOME="${HELIXHOME}/slivar_vcf_extraction/" # $HOME changed to allow the creation of .nextflow into /$HELIXHOME/slivar_vcf_extraction/, for instance. See NFX_HOME in the nextflow software script
nextflow-dsl1 run gael-millot/slivar_vcf_extraction -r $VERSION -c $HOME/nextflow.config #github, or nextflow-dsl1 run http://github.com/gael-millot/slivar_vcf_extraction -r $VERSION -c $HOME/nextflow.config
nextflow-dsl1 run -hub pasteur gmillot/slivar_vcf_extraction -r $VERSION -c $HOME/nextflow.config # gitlab
HOME=$HOME_INI
Unknown error accessing project `gmillot/slivar_vcf_extraction` -- Repository may be corrupted: /pasteur/sonic/homes/gmillot/.nextflow/assets/gmillot/slivar_vcf_extraction
Purge using:
rm -rf /pasteur/sonic/homes/gmillot/.nextflow/assets/gmillot*
WARN: Cannot read project manifest -- Cause: Remote resource not found: https://gitlab.pasteur.fr/api/v4/projects/gmillot%2Fslivar_vcf_extraction
Contact Gael Millot (distant repository is not public).
permission denied
Use chmod to change the user rights. Example linked to files in the bin folder:
chmod 755 bin/*.*
An example of results obtained with the dataset is present at this address: https://zenodo.org/records/10723664/files/slivar_vcf_extraction_1709139998.zip
| Files and folder | Description |
|---|---|
| reports | folder containing all the reports of the different processes including the nextflow.config file used. |
| res.vcf.gz | annotated and filtered VCF file. |
| res.vcf.gz.tbi | Index file of res.vcf.gz. |
| res.tsv.gz | VCF file converted into a table, each row representing a different variant and a different patient. Columns description (depending on the tsv_info parameter):
|
The different releases are tagged here
This package of scripts can be redistributed and/or modified under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchandability or fitness for a particular purpose. See the GNU General Public License for more details at https://www.gnu.org/licenses or in the Licence.txt attached file.
Not yet published
Freddy Cliquet, GHFC, Institut Pasteur, Paris, France
Gael A. Millot, Hub, Institut Pasteur, Paris, France
The developers & maintainers of the mentioned softwares and packages, including:
Special acknowledgement to Brent Pedersen, Utrecht, The Netherlands, for the release of slivar.
- In the nextflow.config file, downgrade apptainer -> singularity because does not work otherwise.
- In the nextflow.config file, upgrade singularity -> apptainer.
- Dataset and results are in zenodo.
- Transfert into github.
README improved.
Compression added, tsv file optional
Everything
