Skip to content

Commit 3cb1cd2

Browse files
committed
Tools: tidy instructions for cvmfs
1 parent 61aaeb4 commit 3cb1cd2

2 files changed

Lines changed: 115 additions & 100 deletions

File tree

pages/tools.md

Lines changed: 30 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ module avail
3131
Then load what you need, for example `module load jupyter` or `module load rstudio`. Anything
3232
not listed, you can install yourself with [**Shelley**](tutorials/shelley-howto).
3333

34-
## How BioShell manages bioinformatics software {#tooling-stack}
34+
## How BioShell manages bioinformatics tools {#tooling-stack}
3535

3636
Bioinformatics often requires us to use many different software including command-line software, R and Python packages. BioShell gives you access to over 100,000 bioinformatics packages, managed in three layers for you:
3737

@@ -41,140 +41,80 @@ Bioinformatics often requires us to use many different software including comman
4141
- **[sHPC](https://singularity-hpc.readthedocs.io/)** packages containers in cvmfs into installable modules
4242
- **[Lmod](https://lmod.readthedocs.io/en/latest/)** is the system behind the `module` command you use to load and switch tools
4343

44+
45+
![](assets/img/shelley-orchestrator.png)
46+
4447
You don't need to undersand any of this to use BioShell because **Shelley**, BioShell's command-line assistant, drives all three for you. She:
4548

4649
* Searches the tool library
4750
* Picks the right container version
4851
* Creates any sHPC registry entry that is missing
4952
* Installs the module: one command to find a tool, one to install it
5053

51-
![](assets/img/shelley-orchestrator.png)
5254

53-
## Finding and installing tools with Shelley :turtle: {#getting-started-with-shelley}
55+
## Shelley basic usage :turtle: {#basic-usage}
5456

55-
Shelley runs from the command line or in an interactive mode. This walkthrough installs a tool
56-
on a BioShell VM for the first time. Start by confirming Shelley is available:
57+
Shelley runs from the command line or in an interactive mode. It can be used to manage your bioinformatics tool containers. We currently only support command-line tools and are working on extending this functionality out to R and Python packages.
58+
59+
Run Shelley with:
5760

5861
```bash
5962
shelley help
6063
```
6164

62-
You will see a list of available commands.
63-
6465
<details markdown="1">
6566
<summary>Example output</summary>
6667
![](assets/img/shelley_help.png)
6768
<br>
6869
</details>
6970
<br>
7071

71-
### Find a tool you know by name
72-
73-
Say you already know you need `fastqc`. Look it up with `find`:
72+
**From the command line:**
7473

7574
```bash
76-
shelley find fastqc
75+
shelley find <tool> # Look up a specific tool by name
76+
shelley search "<function>" # Search by keyword or function
77+
shelley build <tool> # Install the tool as a loadable module
7778
```
7879

79-
<details markdown="1">
80-
<summary>Example output</summary>
81-
![](assets/img/shelley_find_fastqc.png)
82-
<br>
83-
</details>
84-
<br>
85-
86-
Shelley returns the tool's description, its most recent container versions, and whether it is
87-
installed as a module yet. `find` is forgiving about naming: case, hyphens, and underscores are
88-
all handled for you, so `shelley find STAR`, `shelley find bwa-mem2`, and `shelley find samtools`
89-
all work as expected.
90-
91-
### See every available version
92-
93-
By default `find` shows only the most recent versions of a tool. To pin an exact version for
94-
reproducibility, or to match a pipeline's requirements, add the `-v` (verbose) flag to see every
95-
available container, newest first:
80+
**In interactive mode:**
9681

9782
```bash
98-
shelley find fastqc -v
83+
shelley interactive # Launch Shelley in interactive mode
9984
```
10085

101-
<details markdown="1">
102-
<summary>Example output</summary>
103-
![](assets/img/shelley_find_fastqc_v.png)
104-
<br>
105-
</details>
106-
<br>
86+
Interactive mode works the same way as the command line. The `find`, `search`, and `build`
87+
behave identically, except you type just the command name and its arguments, without
88+
prefixing every call with `shelley`.
10789

90+
{% include callout.html type="tip" content="Follow our [Shelley tutorial](tutorials/shelley-howto.md) to practice using Shelley to find, search, and build modules." %}
10891

109-
### Search when you only know the task
92+
## Reference genomes and indexes {#reference-data}
11093

111-
Sometimes you know what you want to do but not which tool does it. That's what `search` is for:
94+
Reference genome builds and pre-built indexes, managed and maintained by the
95+
[Galaxy Project](https://galaxyproject.org/admin/cvmfs/), sit in two directories:
11296

11397
```bash
114-
shelley search "quality control"
115-
shelley search "variant calling"
116-
shelley search "de novo assembly"
98+
ls /cvmfs/data.galaxyproject.org/byhand/ # by genome build, then index type
99+
ls /cvmfs/data.galaxyproject.org/managed/ # by index type, then genome build
117100
```
118101

119-
Each result shows the tool name and a brief description of what it does. **Shorter, more
120-
specific phrases work better than full sentences** — every extra word broadens the match rather
121-
than narrowing it, so remove words rather than adding them if you get too many results.
122-
123-
<details markdown="1">
124-
<summary>Example output</summary>
125-
![](assets/img/shelley_search_de-novo-assembly.png)
126-
<br>
127-
</details>
128-
<br>
129-
130-
{% include callout.html type="note" content="Search is under active development. Results are broad and currently presented alphabetically." %}
131102

103+
To use a reference file in your analysis, pass its absolute path directly to your tool or
104+
pipeline config. For example, the human CHM13 T2T v2.0 FASTA file is at:
132105

133-
### Build the module
134-
135-
Once you know the tool and version you want, build its module with `shelley build`:
136-
137-
```bash
138-
shelley build fastqc
139106
```
140-
141-
This installs the most recent available version by default.
142-
143-
<details markdown="1">
144-
<summary>Example output</summary>
145-
![](assets/img/shelley_build_fastqc.png)
146-
<br>
147-
</details>
148-
<br>
149-
150-
{% include callout.html type="tip" content="To install a specific version instead of the most recent one, give `build` the same `<tool>/<version>` spec that `find -v` showed you, for example `shelley build fastqc/0.12.1`." %}
151-
152-
### Load and run the tool
153-
154-
Load the module the same way you would on any HPC system, then run the tool:
155-
156-
```bash
157-
module load fastqc
158-
fastqc --version
159-
# FastQC v0.12.1
107+
/cvmfs/data.galaxyproject.org/byhand/CHM13_T2T_v2.0/seq/CHM13_T2T_v2.0.fa
160108
```
161109

162-
That's the whole loop, and it is the same for every tool: find, build, load, run. When you are
163-
ready for more, [**How to use Shelley**](shelley-howto) covers the other use cases that will
164-
come in handy.
165-
166-
167-
## Reference genomes and indexes {#reference-data}
168-
169-
Reference genome builds and pre-built indexes, managed and maintained by the
170-
[Galaxy Project](https://galaxyproject.org/admin/cvmfs/), sit in two directories:
110+
The T2T genome directory also includes pre-built indexes for common aligners:
171111

172112
```bash
173-
ls /cvmfs/data.galaxyproject.org/byhand/ # by genome build, then index type
174-
ls /cvmfs/data.galaxyproject.org/managed/ # by index type, then genome build
113+
ls /cvmfs/data.galaxyproject.org/byhand/CHM13_T2T_v2.0/
114+
# bowtie2_index/ bwa_mem_index/ bwameth_index/ hisat2_index/ len/ rnastar/ seq/
175115
```
176116

177-
{% include callout.html type="note" content="The reference datasets available through CVMFS are maintained by the Galaxy Project and may not be comprehensive. This is not a replacement for your institution's primary data access methods." %}
117+
{% include callout.html type="note" content="The reference datasets available through CVMFS are maintained by the Galaxy Project and may not be comprehensive." %}
178118

179119

180120
## Troubleshooting {#troubleshooting}

pages/tutorials/shelley-howto.md

Lines changed: 85 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,100 @@ This page collects several use cases for Shelley to find and build tools. If you
88
it fits together, see the [**Getting started with Shelley**](tools#getting-started-with-shelley)
99
tutorial first.
1010

11-
## Basic usage {#basic-usage}
11+
### Find a tool you know by name
1212

13-
**From the command line:**
13+
Say you already know you need `fastqc`. Look it up with `find`:
1414

1515
```bash
16-
shelley find <tool> # Look up a specific tool by name
17-
shelley search "<function>" # Search by keyword or function
18-
shelley build <tool> # Install the tool as a loadable module
16+
shelley find fastqc
1917
```
2018

21-
**In interactive mode:**
19+
<details markdown="1">
20+
<summary>Example output</summary>
21+
![](assets/img/shelley_find_fastqc.png)
22+
<br>
23+
</details>
24+
<br>
25+
26+
Shelley returns the tool's description, its most recent container versions, and whether it is
27+
installed as a module yet. `find` is forgiving about naming: case, hyphens, and underscores are
28+
all handled for you, so `shelley find STAR`, `shelley find bwa-mem2`, and `shelley find samtools`
29+
all work as expected.
30+
31+
### See every available version
32+
33+
By default `find` shows only the most recent versions of a tool. To pin an exact version for
34+
reproducibility, or to match a pipeline's requirements, add the `-v` (verbose) flag to see every
35+
available container, newest first:
36+
37+
```bash
38+
shelley find fastqc -v
39+
```
40+
41+
<details markdown="1">
42+
<summary>Example output</summary>
43+
![](assets/img/shelley_find_fastqc_v.png)
44+
<br>
45+
</details>
46+
<br>
47+
48+
49+
### Search when you only know the task
50+
51+
Sometimes you know what you want to do but not which tool does it. That's what `search` is for:
52+
53+
```bash
54+
shelley search "quality control"
55+
shelley search "variant calling"
56+
shelley search "de novo assembly"
57+
```
58+
59+
Each result shows the tool name and a brief description of what it does. **Shorter, more
60+
specific phrases work better than full sentences** — every extra word broadens the match rather
61+
than narrowing it, so remove words rather than adding them if you get too many results.
62+
63+
<details markdown="1">
64+
<summary>Example output</summary>
65+
![](assets/img/shelley_search_de-novo-assembly.png)
66+
<br>
67+
</details>
68+
<br>
69+
70+
{% include callout.html type="note" content="Search is under active development. Results are broad and currently presented alphabetically." %}
71+
72+
73+
### Build the module
74+
75+
Once you know the tool and version you want, build its module with `shelley build`:
76+
77+
```bash
78+
shelley build fastqc
79+
```
80+
81+
This installs the most recent available version by default.
82+
83+
<details markdown="1">
84+
<summary>Example output</summary>
85+
![](assets/img/shelley_build_fastqc.png)
86+
<br>
87+
</details>
88+
<br>
89+
90+
{% include callout.html type="tip" content="To install a specific version instead of the most recent one, give `build` the same `<tool>/<version>` spec that `find -v` showed you, for example `shelley build fastqc/0.12.1`." %}
91+
92+
### Load and run the tool
93+
94+
Load the module the same way you would on any HPC system, then run the tool:
2295

2396
```bash
24-
shelley interactive # Launch Shelley in interactive mode
97+
module load fastqc
98+
fastqc --version
99+
# FastQC v0.12.1
25100
```
26101

27-
Interactive mode works the same way as the command line. The `find`, `search`, and `build`
28-
behave identically, except you type just the command name and its arguments, without
29-
prefixing every call with `shelley`.
102+
That's the whole loop, and it is the same for every tool: find, build, load, run. When you are
103+
ready for more, [**How to use Shelley**](shelley-howto) covers the other use cases that will
104+
come in handy.
30105

31106
## How-to install `bwa-mem2` {#how-to-install-bwa-mem2}
32107

0 commit comments

Comments
 (0)