You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+17-10Lines changed: 17 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,6 +50,9 @@ This option provides the latest features but stable releases are more rigorously
50
50
./setup.sh
51
51
```
52
52
53
+
### Updating an Existing Installation
54
+
When it's time to update your installation of tinyRNA, simply repeat the procedure you used for installation. Note that the existing Conda environment, including any additional packages you may have installed within it, will be removed by the installation script.
55
+
53
56
## tiny-count Standalone Installation
54
57
Alternatively, you can install tinyRNA's precision counting tool by itself. Unlike the full tinyRNA suite, this option can be installed in existing conda environments and requires fewer dependencies.
55
58
@@ -250,16 +253,20 @@ Diagnostic information can optionally be produced. If enabled, tiny-count will p
250
253
251
254
The alignment tables (**... alignment_table.csv**) include the following information per-alignment:
| Sequence | The read sequence, reverse complemented if antisense |
256
-
| Normalized Count | The reads available for assignment (the sequence's original read count normalized by genomic hits) |
257
-
| Chrom | The alignment's RNAME field |
258
-
| Strand | The alignment's strand |
259
-
| Start | The alignment's start coordinate |
260
-
| End | The alignment's end coordinate |
261
-
| Candidates | The number of features overlapping the alignment by at last one nucleotide |
262
-
| Assigned Features | Feature IDs of all features assigned to the alignment. `NONE` if no features were assigned. If the assigning rule has a classifier, it is included in parentheses. |
| Sequence | The read sequence, reverse complemented if antisense |
259
+
| Raw Count | The sequence's original read count |
260
+
| Normalized Count | The reads available for assignment to features (the sequence's original read count optionally normalized by genomic hits) |
261
+
| Genomic Hits | The number of alignments produced for the sequence |
262
+
| Chrom | The alignment's RNAME field |
263
+
| Strand | The alignment's strand |
264
+
| Start | The alignment's start coordinate |
265
+
| End | The alignment's end coordinate |
266
+
| Mismatches | The alignment's reported mismatches between the query sequence and the reference |
267
+
| Candidates | The number of features overlapping the alignment by at last one nucleotide |
268
+
| Feature Hits | The feature ID and assigning rule's classifier for all features assigned to the alignment, formatted as `(feature_id, classifier); (...)`. If the match was made by an unclassified rule then classifier is left empty. If no features were assigned the cell is left blank. |
269
+
| Feature Aliases | The user-defined aliases for all features assigned to the alignment, formatted as `(alias1, alias2, ...); (...)` where the index of each alias grouping matches the index of the corresponding feature in the Feature Hits column. If a feature has no aliases then `()` is reported. |
263
270
264
271
265
272
The unassigned counts table (**assignment_diags.csv**) includes the following, with a column per library:
These files are utilized during tinyRNA's setup. During normal usage you shouldn't need to access or modify them. To install or update the tinyRNA environment and codebase, navigate to the project's root directory and run `./setup.sh`
3
+
4
+
# For Developers
5
+
Environment lockfiles allow us to skip Conda's time-intensive preparation steps, e.g. "Solving environment" and "Collecting package metadata", when the user installs/updates the tinyRNA environment.
6
+
7
+
Dependencies are strictly pinned so that the user's environment exactly matches the environment where testing has been performed.
|`environment_3.[...].yml`| Environment files for different Python versions. These files are platform-agnostic to simplify testing. Just one environment file is needed for creating both the Linux and macOS lockfiles. |
13
+
|`environment_template.yml`| Template environment file used for creating new environment files for a specific Python version. |
14
+
|`conda-[...]-64.lock`| Platform-specific lockfiles that contain a fully solved dependency tree specification for the latest Python version we support. These are the files that the setup script uses when creating the tinyRNA environment. |
15
+
|`env.py`| A script for creating and updating these files. |
16
+
17
+
## The Development Environment
18
+
A separate conda environment is created to hold the dependencies required for creating and updating lockfiles. Keeping development and tinyRNA dependencies separate helps to avoid dependency conflicts.
19
+
20
+
## Updating the Default Python Version
21
+
An environment's Python version determines the environment's dependency tree. Creating specifications for a new Python version is a multi-step process, but a script has been provided to help automate it. **The script can be executed from any environment.**
22
+
23
+
The idea is to start with a template environment file containing all of our dependencies where nearly all dependencies are unpinned. Normally only the Python version is pinned in the template, but right now Pysam is also pinned because Mamba doesn't currently solve for the version we need by default. We then use Mamba to solve the unpinned dependency versions which are used to create a final, strictly pinned environment file for the new Python version. The new file is then used to create platform-specific lockfiles.
24
+
25
+
### 1. Create an Environment File for the new Python Version
Replace `3.XX` with the target Python version. This command will produce a new environment file named `environment_3.XX.yml` that contains each dependency's solved version.
Replace `environment_3.XX.yml` with the name of the environment file you created in step 1. This command will rebuild the dependency tree in both lockfiles (linux and osx) according to the new environment file.
0 commit comments