https://github.com/cancerit/cgppindel
Cancer Genome Project Insertion/Deletion detection pipeline based around Pindel
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
6 of 10 committers (60.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.1%) to scientific vocabulary
Keywords from Contributors
Repository
Cancer Genome Project Insertion/Deletion detection pipeline based around Pindel
Basic Info
- Host: GitHub
- Owner: cancerit
- License: agpl-3.0
- Language: Perl
- Default Branch: dev
- Homepage: http://cancerit.github.io/cgpPindel/
- Size: 29.4 MB
Statistics
- Stars: 28
- Watchers: 16
- Forks: 5
- Open Issues: 13
- Releases: 40
Metadata Files
README.md
cgpPindel
cgpPindel contains the Cancer Genome Projects workflow for Pindel.
| Master | Develop |
| --------------------------------------------- | ----------------------------------------------- |
| |
|
The is a lightly modified version of pindel v2.0 with CGP specific processing for:
- Input file generation
- Conversion from pindel text output to:
- tumour and normal BAM alignment files
- VCF
- Application of VCF filters.
Details of execution and referencing can be found in the wiki
Contents:
Docker, Singularity and Dockstore
There are pre-built images containing this codebase on quay.io. When pulling an image you must specify
the version there is no latest.
- cgpPindel quay.io: Contained within this repository
- Smallest build required to use cgpPindel
- Not linked to Dockstore (yet)
- Updated most frequently
- dockstore-cgpwxs: Contains tools specific to WXS analysis.
- dockstore-cgpwgs: Contains additional tools for WGS analysis.
These were primarily designed for use with dockstore.org but can be used as normal containers.
The docker images are known to work correctly after import into a singularity image.
Dependencies/Install
When doing a native install please install the following first:
Please see these for any child dependencies.
Once complete please run:
./setup.sh /some/install/location
Please use setup.sh to install any other dependencies. Setting the environment variable
CGP_PERLLIBS allows you to to append to PERL5LIB during install. Without this all dependancies
are installed into the target area.
Please be aware that this expects basic C compilation libraries and tools to be available.
Nextflow
Initial Nextflow bindings for cgpPindel.
Setup personal nextflow
If you don't have a central nextflow install this will get you running with a limited environment:
```bash
seems silly but a python venv is a nice way to handle this during dev
python3 -m venv .venv source .venv/bin/activate
compute head nodes may need you to limit Java accessing all memory
export NXF_OPTS="-Xms500M -Xmx2G" curl get.nextflow.io | bash mv nextflow .venv/bin/. ```
If you have any issues installing refer to Nextflow documentation, not the issue tracker for this repo.
Profiles
Refer to nextflow for an explanation of profiles. The following are available:
- Job management
- local
- spawned jobs use execution host
- lsf
- spawned jobs are submitted via
bsub
- Execution method
<none>- Expects to find programs in
PATH - singularity
- Provide image file via
-with-singularity [singularity image] - docker
- Provide image via
-with-docker [docker image]
For example to run on a LSF farm with singularity the profile would be:
... -profile lsf,singularity ...
While native install with lsf would be:
... -profile lsf ...
Workflow entry points
There are 2 top level entry points:
``` ... -entry pindel_pl ...
or
... -entry np_generation ... ```
pindel_pl
Executes a tumour/normal paired analysis.
CPU and memory are controlled via nextflow.config, configs are additive, see nextflow documentation.
For the workflow options run:
nextflow -entry pindel_pl --help
np_generation
Executes pindel with a "dummy" tumour for a file listing of input BAMs.
CPU and memory are controlled via nextflow.config, configs are additive, see nextflow documentation.
For the workflow options run:
nextflow -entry np_generation --help
Sub-workflows
The nextflow code has been implemented with DSL2 so that the workflows can be composed into larger components.
The items above can be addressed for this purpose via:
subwf_pindel_plsubwf_np_gen
Developers
Please use pre-commit on this project. You can install to $HOME/bin via:
bash
curl https://pre-commit.com/install-local.py | python -
In you checkout please run:
bash
pre-commit install
Updating licence headers
Please use skywalking-eyes.
Expected workflow:
```bash
recent build, change to apache/skywalking-eyes:0.2.0 once released
export DOCKER_IMG=ghcr.io/apache/skywalking-eyes/license-eye ```
- Check state before modifying
.licenserc.yaml:docker run -it --rm -v $(pwd):/github/workspace $DOCKER_IMG header check- You should get some 'valid' here, those without a header as 'invalid'
- Modify
.licenserc.yaml - Apply the changes:
docker run -it --rm -v $(pwd):/github/workspace $DOCKER_IMG header fix
- Add/commit changes
This is executed in the CI pipeline.
DO NOT edit the header in the files, please modify the date component of content in .licenserc.yaml. The only exception being:
README.md
If you need to make more extensive changes to the license carefully test the pattern is functional.
Code changes
This project is maintained using the HubFlow methodology.
- Make appropriate changes
- Update
perl/lib/Sanger/CGP/Pindel.pmto the correct version (adding rc/beta to end if applicable). - Update
CHANGES.mdto show major items. - Commit the updated docs and updated module/version.
- Push commits.
Testing
Regression CI
An internal CI system is used to validate each release using real, large scale datasets.
Public CI
Circleci is used to:
- Build Docker image (unit tests are part of build)
- Validate expected tools exist
- For tags only: push image to quay.io
CI only runs for:
- Branches with pull-requests
- Default branch (
dev) - Tags
Cutting the release
Internal regression CI processes must be completed prior to this.
- Check state on Circleci
- Generate the release (add notes to GitHub)
- Confirm that image has been pushed to quay.io
LICENCE
``` Copyright (c) 2014-2021 Genome Research Ltd.
Author: CASM/Cancer IT cgphelp@sanger.ac.uk
This file is part of cgpPindel.
cgpPindel is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.
- The usage of a range of years within a copyright statement contained within this distribution should be interpreted as being equivalent to a list of years including the first and last year specified and all consecutive years between them. For example, a copyright statement that reads ‘Copyright (c) 2005, 2007- 2009, 2011-2012’ should be interpreted as being identical to a statement that reads ‘Copyright (c) 2005, 2007, 2008, 2009, 2011, 2012’ and a copyright statement that reads ‘Copyright (c) 2005-2012’ should be interpreted as being identical to a statement that reads ‘Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012’." ```
Owner
- Name: CASM IT
- Login: cancerit
- Kind: organization
- Email: cgpit@sanger.ac.uk
- Location: Hinxton, Cambridge, UK
- Website: http://www.sanger.ac.uk/science/programmes/cancer-genetics-and-genomics
- Repositories: 89
- Profile: https://github.com/cancerit
CASM IT provide bioinformatic support for Cancer, Ageing and Somatic Mutation group at the Wellcome Sanger Institute
GitHub Events
Total
- Delete event: 1
- Push event: 4
- Pull request review comment event: 2
- Pull request review event: 3
- Pull request event: 2
- Create event: 2
Last Year
- Delete event: 1
- Push event: 4
- Pull request review comment event: 2
- Pull request review event: 3
- Pull request event: 2
- Create event: 2
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Keiran Raine | k****2@s****k | 145 |
| Keiran Raine | k****e@g****m | 116 |
| David Jones | d****j@s****k | 28 |
| Thomas Clarke | t****0@s****k | 15 |
| jwh | j****h@s****k | 7 |
| Keiran Raine | k****e | 7 |
| Shriram Bhosle | s****3@s****k | 6 |
| Raul Alcantara | r****x@h****m | 4 |
| ra11 | r****1@s****k | 4 |
| hliang | h****g@h****n | 1 |
Committer Domains (Top 20 + Academic)
Dependencies
- quay.io/wtsicgp/pcap-core 5.6.1 build
- ubuntu 20.04 build