diff options
Diffstat (limited to 'python-cg-fluffy.spec')
-rw-r--r-- | python-cg-fluffy.spec | 437 |
1 files changed, 437 insertions, 0 deletions
diff --git a/python-cg-fluffy.spec b/python-cg-fluffy.spec new file mode 100644 index 0000000..37bf9fe --- /dev/null +++ b/python-cg-fluffy.spec @@ -0,0 +1,437 @@ +%global _empty_manifest_terminate_build 0 +Name: python-cg-fluffy +Version: 3.2.0 +Release: 1 +Summary: NIPT analysis pipeline +License: MIT +URL: https://github.com/Clinical-Genomics/fluffy +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/4b/1d/29e5a919194598b9befab33f602c8711b330b02de20bd13b02b2551e623a/cg-fluffy-3.2.0.tar.gz +BuildArch: noarch + +Requires: python3-click +Requires: python3-coloredlogs +Requires: python3-slurmpy +Requires: python3-pyyaml +Requires: python3-numpy + +%description + + +[](https://codecov.io/gh/Clinical-Genomics/fluffy) +# FluFFyPipe +NIPT analysis pipeline, using WisecondorX for detecting aneuplodies and large CNVs, AMYCNE for FFY and PREFACE for FF prediction (optional). FluFFYPipe produces a variety of output files, as well as a per batch csv summary. + +<p align="center"> +<img src="https://github.com/J35P312/FluFFyPipe/blob/master/logo/IMG_20200320_132001.jpg" width="400" height="400" > +</p> + +# Run FluFFyPipe +Run NIPT analysis, using a previously comnputed reference: + + fluffy --sample <samplesheet> --project <input_folder> --out <output_folder> --analyse + +Run NIPT analysis, using an internally computed reference (i.e the reference is built using all samples listed in samplesheet): + + fluffy --sample <samplesheet> --project <input_folder> --out <output_folder> --analyse --batch-ref + +optionally, skip preface: + + fluffy --sample <samplesheet> --project <input_folder> --out <output_folder> --skip_preface --analyse + +All output will be written to the output folder, this output includes: + +``` +bam files +wisecondorX output +tiddit coverage summary +Fetal fraction estimation +``` + +as well as a summary csv and multiqc html (per batch) + +the input folder is a project folder containing one folder per sample, each of these subfolders contain the fastq file(s). +The samplesheet contains at least a "sampleID" column, the sampleID should match the subfolders in the input folder. The samplesheet may contain other columns, such as flowcell and index folder: such columns will be printed to the summary csv. +If the samplesheet contains a SampleName column, fluffy will name the output according to SampleName + +Create a WisecondorX reference + + fluffy --sample <samplesheet> --project <input_folder> --out <output_folder> --reference + +samplesheet should contain atleast a "sampleID" column. All samples in the samplesheet will be used to construct the reference, visit the WisecondorX manual for more information. +# Optional fluffy parameters: + Analysis mode: + --dry_run - run the pipeline without generating files + -l - add paramters to the slurm header of the script, should be given on the following format parameter:value + example: qos:high + + Reference mode: + --dry_run - run the pipeline without generating files + + Rerun mode: + --dry_run - run the pipeline without generating files + +# Troubleshooting and rerun +There are three statuses of the fluffy pipeline: +running, complete, and failed + +The status of a fluffy run is found in the + + <output_folder>/analysis_status.json + +The status of all jobs are listed in + + <output_folder>/sacct/fluffy_<date>.log.status + +Where <date> is the timepoint when the jobs were submitted +Use grep to find the failed jobs: + + grep -v COMPLETE <output_folder>/sacct/fluffy_<date>.log.status + +The output logs are stored in: + + <output_folder>/logs + +Before continuing, you may want to generate the summary csv for all completed cases: + + bash <output_folder>/scripts/summarizebatch-<hash> + +where <hash> is a randomly generated string. + +use the rerun module to rerun failed fluffy analyses: + + fluffy --sample <samplesheet> --project <input_folder> --out <output_folder> --skip_preface rerun + + +# Install FluFFyPipe +FluFFyPipe requires python 3, slurm, slurmpy, and singularity, python-coloredlogs. + +fluffy may be installed using pip: + + pip install fluffy-cg + +alternatively, fluffy is cloned and installed from github: + git clone https://github.com/Clinical-Genomics/fluffy + cd fluffy + pip install -e . + +Next download the FluFFyPipe singularity container + + singularity pull library://jeisfeldt/default/fluffy:sha256.dbef92cd5eab8558c2729f73a191d73a7576a24e9bb44dde7372c0cd405c4ef6 + +copy the example config (found in example_config), and edit the variables. +You will need to download/create the following files: + + Reference fasta (indexed using bwa) + + WisecondorX reference files (created using the reference mode) + + PREFACE model file (optional) + + blacklist bed file (used by wisecondorX) + + FluFFyPipe singularity collection (singularity pull --name FluFFyPipe.sif shub://J35P312/FluFFyPipe) + + + + + + + +%package -n python3-cg-fluffy +Summary: NIPT analysis pipeline +Provides: python-cg-fluffy +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-cg-fluffy + + +[](https://codecov.io/gh/Clinical-Genomics/fluffy) +# FluFFyPipe +NIPT analysis pipeline, using WisecondorX for detecting aneuplodies and large CNVs, AMYCNE for FFY and PREFACE for FF prediction (optional). FluFFYPipe produces a variety of output files, as well as a per batch csv summary. + +<p align="center"> +<img src="https://github.com/J35P312/FluFFyPipe/blob/master/logo/IMG_20200320_132001.jpg" width="400" height="400" > +</p> + +# Run FluFFyPipe +Run NIPT analysis, using a previously comnputed reference: + + fluffy --sample <samplesheet> --project <input_folder> --out <output_folder> --analyse + +Run NIPT analysis, using an internally computed reference (i.e the reference is built using all samples listed in samplesheet): + + fluffy --sample <samplesheet> --project <input_folder> --out <output_folder> --analyse --batch-ref + +optionally, skip preface: + + fluffy --sample <samplesheet> --project <input_folder> --out <output_folder> --skip_preface --analyse + +All output will be written to the output folder, this output includes: + +``` +bam files +wisecondorX output +tiddit coverage summary +Fetal fraction estimation +``` + +as well as a summary csv and multiqc html (per batch) + +the input folder is a project folder containing one folder per sample, each of these subfolders contain the fastq file(s). +The samplesheet contains at least a "sampleID" column, the sampleID should match the subfolders in the input folder. The samplesheet may contain other columns, such as flowcell and index folder: such columns will be printed to the summary csv. +If the samplesheet contains a SampleName column, fluffy will name the output according to SampleName + +Create a WisecondorX reference + + fluffy --sample <samplesheet> --project <input_folder> --out <output_folder> --reference + +samplesheet should contain atleast a "sampleID" column. All samples in the samplesheet will be used to construct the reference, visit the WisecondorX manual for more information. +# Optional fluffy parameters: + Analysis mode: + --dry_run - run the pipeline without generating files + -l - add paramters to the slurm header of the script, should be given on the following format parameter:value + example: qos:high + + Reference mode: + --dry_run - run the pipeline without generating files + + Rerun mode: + --dry_run - run the pipeline without generating files + +# Troubleshooting and rerun +There are three statuses of the fluffy pipeline: +running, complete, and failed + +The status of a fluffy run is found in the + + <output_folder>/analysis_status.json + +The status of all jobs are listed in + + <output_folder>/sacct/fluffy_<date>.log.status + +Where <date> is the timepoint when the jobs were submitted +Use grep to find the failed jobs: + + grep -v COMPLETE <output_folder>/sacct/fluffy_<date>.log.status + +The output logs are stored in: + + <output_folder>/logs + +Before continuing, you may want to generate the summary csv for all completed cases: + + bash <output_folder>/scripts/summarizebatch-<hash> + +where <hash> is a randomly generated string. + +use the rerun module to rerun failed fluffy analyses: + + fluffy --sample <samplesheet> --project <input_folder> --out <output_folder> --skip_preface rerun + + +# Install FluFFyPipe +FluFFyPipe requires python 3, slurm, slurmpy, and singularity, python-coloredlogs. + +fluffy may be installed using pip: + + pip install fluffy-cg + +alternatively, fluffy is cloned and installed from github: + git clone https://github.com/Clinical-Genomics/fluffy + cd fluffy + pip install -e . + +Next download the FluFFyPipe singularity container + + singularity pull library://jeisfeldt/default/fluffy:sha256.dbef92cd5eab8558c2729f73a191d73a7576a24e9bb44dde7372c0cd405c4ef6 + +copy the example config (found in example_config), and edit the variables. +You will need to download/create the following files: + + Reference fasta (indexed using bwa) + + WisecondorX reference files (created using the reference mode) + + PREFACE model file (optional) + + blacklist bed file (used by wisecondorX) + + FluFFyPipe singularity collection (singularity pull --name FluFFyPipe.sif shub://J35P312/FluFFyPipe) + + + + + + + +%package help +Summary: Development documents and examples for cg-fluffy +Provides: python3-cg-fluffy-doc +%description help + + +[](https://codecov.io/gh/Clinical-Genomics/fluffy) +# FluFFyPipe +NIPT analysis pipeline, using WisecondorX for detecting aneuplodies and large CNVs, AMYCNE for FFY and PREFACE for FF prediction (optional). FluFFYPipe produces a variety of output files, as well as a per batch csv summary. + +<p align="center"> +<img src="https://github.com/J35P312/FluFFyPipe/blob/master/logo/IMG_20200320_132001.jpg" width="400" height="400" > +</p> + +# Run FluFFyPipe +Run NIPT analysis, using a previously comnputed reference: + + fluffy --sample <samplesheet> --project <input_folder> --out <output_folder> --analyse + +Run NIPT analysis, using an internally computed reference (i.e the reference is built using all samples listed in samplesheet): + + fluffy --sample <samplesheet> --project <input_folder> --out <output_folder> --analyse --batch-ref + +optionally, skip preface: + + fluffy --sample <samplesheet> --project <input_folder> --out <output_folder> --skip_preface --analyse + +All output will be written to the output folder, this output includes: + +``` +bam files +wisecondorX output +tiddit coverage summary +Fetal fraction estimation +``` + +as well as a summary csv and multiqc html (per batch) + +the input folder is a project folder containing one folder per sample, each of these subfolders contain the fastq file(s). +The samplesheet contains at least a "sampleID" column, the sampleID should match the subfolders in the input folder. The samplesheet may contain other columns, such as flowcell and index folder: such columns will be printed to the summary csv. +If the samplesheet contains a SampleName column, fluffy will name the output according to SampleName + +Create a WisecondorX reference + + fluffy --sample <samplesheet> --project <input_folder> --out <output_folder> --reference + +samplesheet should contain atleast a "sampleID" column. All samples in the samplesheet will be used to construct the reference, visit the WisecondorX manual for more information. +# Optional fluffy parameters: + Analysis mode: + --dry_run - run the pipeline without generating files + -l - add paramters to the slurm header of the script, should be given on the following format parameter:value + example: qos:high + + Reference mode: + --dry_run - run the pipeline without generating files + + Rerun mode: + --dry_run - run the pipeline without generating files + +# Troubleshooting and rerun +There are three statuses of the fluffy pipeline: +running, complete, and failed + +The status of a fluffy run is found in the + + <output_folder>/analysis_status.json + +The status of all jobs are listed in + + <output_folder>/sacct/fluffy_<date>.log.status + +Where <date> is the timepoint when the jobs were submitted +Use grep to find the failed jobs: + + grep -v COMPLETE <output_folder>/sacct/fluffy_<date>.log.status + +The output logs are stored in: + + <output_folder>/logs + +Before continuing, you may want to generate the summary csv for all completed cases: + + bash <output_folder>/scripts/summarizebatch-<hash> + +where <hash> is a randomly generated string. + +use the rerun module to rerun failed fluffy analyses: + + fluffy --sample <samplesheet> --project <input_folder> --out <output_folder> --skip_preface rerun + + +# Install FluFFyPipe +FluFFyPipe requires python 3, slurm, slurmpy, and singularity, python-coloredlogs. + +fluffy may be installed using pip: + + pip install fluffy-cg + +alternatively, fluffy is cloned and installed from github: + git clone https://github.com/Clinical-Genomics/fluffy + cd fluffy + pip install -e . + +Next download the FluFFyPipe singularity container + + singularity pull library://jeisfeldt/default/fluffy:sha256.dbef92cd5eab8558c2729f73a191d73a7576a24e9bb44dde7372c0cd405c4ef6 + +copy the example config (found in example_config), and edit the variables. +You will need to download/create the following files: + + Reference fasta (indexed using bwa) + + WisecondorX reference files (created using the reference mode) + + PREFACE model file (optional) + + blacklist bed file (used by wisecondorX) + + FluFFyPipe singularity collection (singularity pull --name FluFFyPipe.sif shub://J35P312/FluFFyPipe) + + + + + + + +%prep +%autosetup -n cg-fluffy-3.2.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-cg-fluffy -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 3.2.0-1 +- Package Spec generated |