Skip to main content

build

SRSLY UMI processing

SRSLY UMIs are attached to the i7 index, and require a bit of handling to make it through bcl2fastq. This package helps guide that process.

SRSLY UMI dual-index sequencing runs

Illumina sequencing performs read cycles for the i7 and i5 indices in between the fragment reads. SRSLY UMIs are attached to the i7 reads, like this:

Order of read cycles
+------------------------+--------------+------------+----------------+-----------------------+
| Forward fragment read  | i7 index     |   UMI      | i5 index       | Reverse fragment read |
+------------------------+--------------+------------+----------------+-----------------------+

Standard bcl2fastq processing
+------------------------+---------------------------+----------------+-----------------------+
| RunInfo.xml Read 1     | RunInfo.xml R2            | RunInfo.xml R3 | RunInfo.xml R4        |
+------------------------+---------------------------+----------------+-----------------------+
| FASTQ output R1        | FASTQ header, without UMI                  | FASTQ output R2       |
+------------------------+--------------------------------------------+-----------------------+

Reformatted bcl2fastq processing
+------------------------+--------------+------------+----------------+-----------------------+
| new RunInfo.xml Read 1 | R2 IsIndex   | R3         | R4 IsIndex     | R5                    |
+------------------------+--------------+------------+----------------+-----------------------+
| fixed FASTQ output R1  | FASTQ header, with UMI                     | fixed FASTQ output R3 |
+------------------------+--------------------------------------------+-----------------------+

However, bcl2fastq can't insert UMIs into the fragment name in the FASTQ header unless it is part of etiher the output R1 or output R2. (Note that index reads as defined in the RunInfo.xml do not count as output reads.

So to solve this, we define a new RunInfo.xml that defines five reads instead of four:

With standard bcl2fastq processing with the TrimUMI option, this results in the UMI in the fragment name in the FASTQ files. However, it has two side effects: the UMI includes both the 5bp of the UMI as well as followed by the first 5bp of the actual read2. This should be compatible with most UMI analysis. Additionally, the proper R2 file is labeled as R3. Post-processing can easily rename the R3 to R2.

Using this package

After installation of this python package, the srslyumi command will take two arguments: 1) an existing run directory, and 2) an output directory for the FASTQ and bcl2fastq reports. Inside this output directory, a new RunInfo.xml and SampleSheet.csv will be created, along with a bcl2fastq2.sh command that can be used to rerun the process. Note that at the end of this command, the _R3_ files are renamed to _R2_.

Developing this package further

When your working directory is the root of this repository, the same directory that contains setup.py, you can run pip install -e . to install the package in a form that lets you edit your code and run it as a python package at the same time.

Testing and test coverage

During delevopment tox, will setup testing virtual environments for Python 2.7 and Python 3.6 and run all tests. Before code can accepted to the main repository it must pass test on Python 2.7, 3.5, 3.6, 3.7, and 3.8, which will run on GitHub automatically.

For quick tests in your current Python environment, run pytest, though you may need to install the test dependencies as listed under the tox section of pyproject.toml.

To run quick tests in your current environment, run pytest

To assess code coverage of the tests, run pytest --cov --report=html.

Release files for srslyumi 0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for srslyumi 0.4
File Size Uploaded
srslyumi-0.4.tar.gz 10.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for srslyumi 0.4
File Interpreter ABI Platform
srslyumi-0.4-py3-none-any.whl Python 3 none any Details

Total release size: 21.5 kB

Release files / srslyumi-0.4.tar.gz

Download URL srslyumi-0.4.tar.gz
Size 10.6 kB
Tags Source
SHA-256 checksum
How to use checksums
13a52b84dae521fc549dd5acf9459e263da2416da8db12d6f29fc05b0e797abd
BLAKE2b-256 checksum
How to use checksums
9fe7a4c18e8ca238c39a6131a2f76b52b782eb75236b293f2919c1c258eb6953
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.8.2

Release files / srslyumi-0.4-py3-none-any.whl

Download URL srslyumi-0.4-py3-none-any.whl
Size 10.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6548de86540435fd11b6b85a31e39dbe213cc74d6b6010a30ff6e83f0aebf77a
BLAKE2b-256 checksum
How to use checksums
ddbf692a9b9a64b6f156611babbc9975b88149f914d21463ebd385a6b94aa3ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.8.2

Release history Release notifications | RSS feed

This release

0.4 This release

2 release files

0.3

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page