Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds PySCENIC wrappers #328

Merged
merged 17 commits into from
Aug 20, 2024
Merged

Adds PySCENIC wrappers #328

merged 17 commits into from
Aug 20, 2024

Conversation

pcm32
Copy link
Member

@pcm32 pcm32 commented Aug 13, 2024

Description

Adds the PySCENIC wrappers for grn, ctx and aucell.

  • grn
  • ctx
  • aucell
  • Add test data to Zenodo and update get data logic.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Checklist

  • I have made any required changes to upstream dependencies for a tool wrapper, and they are available in distribution channels (e.g. Pip, Conda).
  • If I have updated the underlying software for a tool wrapper (e.g. scanpy-scripts by changing the value of @TOOL_VERSION@), then I have reset all 'build' values to 0 (e.g. @TOOL_VERSION@+galaxy0)
  • If I have updated a tool wrapper without a software change, then I have bumped the associated 'build' values (e.g. @TOOL_VERSION@+galaxy0 @TOOL_VERSION@+galaxy1). It is acceptable to do this as well when the cli version changed but not the underlying tool (to avoid issues in the coming point).
  • If I changed the version, the @TOOL_VERSION@ part of the version does not contain any + symbols within, otherwise this will break tool ordering on the interface and the default tool being picked. Tool version should always conform to PEP440 to avoid this issue. The only + should be the one preceding galaxy<build> (unless that all the versions from that tool previously followed a different pattern).

@pcm32 pcm32 marked this pull request as draft August 14, 2024 07:08
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should not be needed anymore.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have now a mechanism on IUC Tools to retrieve data for tests instead of leaving them on the repo? That is great!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool!

<param name="expression_mtx_fname" format="loom" type="data" label="Expression Matrix File" help="The file that contains the expression matrix for the single-cell experiment. Supported formats: csv (rows=cells x columns=genes) or loom (rows=genes x columns=cells)." />
<param name="signatures_fname" type="data" format="csv,tabular" label="Gene Signatures/Regulons File" help="The file that contains the gene signatures (usually the precomputed regulons). Currently only csv/tsv supported, could be extended." />
<param name="transpose" type="boolean" label="Transpose Expression Matrix" help="Transpose the expression matrix if supplied as csv (rows=genes x columns=cells)." optional="true" />
<param name="weights" type="boolean" label="Use Weights for Recovery Analysis" help="Use weights associated with genes in recovery analysis. Relevant when gene signatures are supplied as json format." optional="true" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add truevalue ... like below?

@pcm32
Copy link
Member Author

pcm32 commented Aug 15, 2024

Thanks for taking a look @bgruening

@pcm32 pcm32 marked this pull request as ready for review August 16, 2024 14:24
<param name="weights" type="boolean" label="Use Weights for Recovery Analysis" help="Use weights associated with genes in recovery analysis. Relevant when gene signatures are supplied as json format." optional="true"/>
<param name="seed" type="integer" label="Seed for Ranking" help="Seed for the expression matrix ranking step. The default is to use a random seed." optional="true"/>
<param name="rank_threshold" type="integer" label="Rank Threshold" help="The rank threshold used for deriving the target genes of an enriched motif (default: 5000)." optional="true"/>
<param name="auc_threshold" type="float" label="AUC Threshold" help="The threshold used for calculating the AUC of a feature as fraction of ranked genes (default: 0.05)." optional="true"/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add min/max if you can to all floats/int

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A great suggestion, but I'm going to pass on this one, goes beyond the amount of time I can put to this. If anyone wants it dearly, the contribution will be welcome.

</tests>
<help>
<![CDATA[
Run PySCENIC aucell command to analyze single-cell gene expression data.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This help is not very useful for a user, it just repeats the parameter help. Better would be an explanation of the tool and its inputs/outputs

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will leave it to contributors interested in doing tutorials to improve on this. My use of this is mostly automatic.

@pcm32
Copy link
Member Author

pcm32 commented Aug 20, 2024

Thanks for all the suggestions and comments @bgruening ! Will merge this as it is, we can continue improving as we use it.

@pcm32 pcm32 merged commit 4990a52 into main Aug 20, 2024
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants