Giter Club home page Giter Club logo

scurel's People

Contributors

angrymaciek avatar dominikburri avatar mzavolan avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

bit-vs-it

scurel's Issues

missing image

Describe the bug
There is no logo to be presented in the README.md, the link is currently broken.

Test workflow execution with a test data

Add some small samples to run the full workflow. As input the mapped reads can be used and the outputs are two list of genes and some visualisations. The test data should not exceed 20 MB.

This helps to

  • test the workflow and if all steps are running properly
  • configure and set-up own samples based on the provided test samples

The following should be added:

  • at least two samples with mapped reads in BAM format; the same genomic region should be used in all samples
  • cell type annotations for at least two cell types from the samples
  • the relevant subset of the genome annotation
  • the samples table samples.tsv
  • the configuration file config.yaml

Include Singularity support

Is your feature request related to a problem? Please describe.
Currently only Conda is supported, but Singularity would be good to have, especially on HPC environments.

Describe the solution you'd like
Include in each Snakemake rule an appropriate Singularity / Docker container

Describe alternatives you've considered
Alternatively, use one global Singularity / Docker container for all rules.

feat: include snakemake profiles

Is your feature request related to a problem? Please describe.
Currently there are 5 top level bash scripts that run the workflow with different options.
This is not very flexible and not so elegant. ๐Ÿค”

Describe the solution you'd like
Current setup is OK (it works!) but it would be even cooler if you could add snakemake profiles mechanism into your tool (so that others could also easily contribute with new profiles, ex. for different clusters). Also you could then have one "master" bash script (ex: run.sh) which starts SCUREL with a different profile depending on the command like arguments to this script.

Additional context

  • We are already using profiles in the ZARP repo.
  • If you wait 1 month with this then most probably MAPP repo will be public too and you could peek how I incorporated such solution there.

static code analysis

Is your feature request related to a problem? Please describe.
Not so much of a problem, but the code style is currently not enofrced at all. It would be good to keep consistent good coding practice throughout the repo, especially if it has multiple Py/R scripts.

Describe the solution you'd like
It is relatively easy to introduce another GitHub Actions workflow that would run static code analysis with every commit. There are linters dedicated to Python (flake8) and R (lintr) and one can set them up such that they check all the scripts upon each push. If they detect anything that should be corrected they return with an error exit code, thus triggering a fail for the whole CI workflow.

Describe alternatives you've considered
Alternatively one can hook up the repo to a service like codefactor but then the developer has less flexibility around the code analysis setup.

Instructions for contribution

@dominikburri : consider adding a CONTRIBUTING.md file with instructions for other developers?
You can take a look at this one, for example. But you need to read it carefully and adapt to the specific project rules you'd like to set here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.