Name | ogilo-array JSON |
Version |
0.0.2
JSON |
| download |
home_page | |
Summary | Automated construction of oligo library sequences for oligo array synthesis. |
upload_time | 2023-06-28 19:18:39 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.8 |
license | MIT License Copyright (c) [year] [fullname] Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
keywords |
biology
bioinformatics
science
assay
sequencing
oligonucleotides
oligos
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# ⛓️ ogilo
![GitHub Workflow Status (with branch)](https://img.shields.io/github/actions/workflow/status/scbirlab/ogilo/python-publish.yml)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/ogilo-array)
![PyPI](https://img.shields.io/pypi/v/ogilo-array)
Automating construction of oligo library sequences for oligo array synthesis.
**ogilo** takes your table of sequences (such as a library of guide RNAs) and concatenates them
with any other nucleotide sequences you provide, Type IIS restriction sites, and PCR handles.
If your table of sequences contains a column indicating subsets or groups, you can use this column to
instruct **ogilo** to add distinct PCR handles to each group. This allows you to order multiple
libraries as one oligo pool and selectively PCR each one as needed.
## Installation
### The easy way
Install the pre-compiled version from PyPI:
```bash
pip install ogilo-array
```
### From source
Clone the repository, then `cd` into it. Then run:
```bash
pip install -e .
```
## Usage
Call **ogilo** with a set of sequence directives and other options:
```
ogilo file:guide-rnas.csv:sequence:guide_name:essentiality seq:ATCGGGC:spacer re:BsmBI:f --format CSV
```
You tell **ogilo** which sequences to concatenate using the following directive format:
```
[@]<type>:<value>[:<f1>[:<f2>[:<f3>]]]
```
For example, file:oligos.csv:2 would instruct ogilo to take sequences from column 2 of
the file oligos.csv, and seq:ATCCCGAGAG:spacer would add the sequence ATCCCGAGAG and
include "spacer" in the oligo name.
If you prepend the directive with `@`, then reverse complement sequences will be
automatically generated.
The allowed values of `<type>` are as follows.
### Files
```
[@]file:<filename>[:<seq_col>[:<name_col>[:<group_col>]]]
```
Take sequences from file `<filename>`. If `<seq_col>` is provided, **ogilo** will use this column,
otherwise assumes column 1.
`<seq_col>`, `<name_col>`, `<group_col>` can be column names (in which
case, the first line will be skipped) or integers (in which case, the first line will be
included).
**Do not mix column names and integers.** If your file has a header, **use column names**.
If `<group_col>` is provided, and PCR handles are requested, then different PCR handles will
be added to each group.
For example:
```
file:guide-rnas.tsv:sequence:guide_name:essentiality
```
would load sequences from the file `guide-rnas.tsv`, using column `sequence` for sequences,
`guide_name` for the names, and `essentiality` for the groups (if you want different PCR handles
for each group).
### Constant sequences
```
[@]seq:<sequence>[:<name>]
```
An explicit sequence given in `<sequence>`, optionally with a `<name>`.
For example:
```
@seq:ATCGGGC:spacer
```
### Type IIS restriction enzyme sites
```
[@]re:<enzyme_name>
```
A named Type IIS restriction enzyme site. This does not take care of overhangs for you; these can
be added as a seq component.
For example:
```
re:BsmBI
```
### Output
The output is a TSV-formatted table with the following columns:
- `group`: The group of oligos sharing the same PCR handles.
- `pcr_handles`: The name of the PCR handle pair used (if any).
- `length`: Total oligo length.
- `mnemonic`: Adjective-noun mnemonic of oligo sequence.
- `restriction_sites`: Type IIS restriction sites which happen to be in the oligo even though they weren't requested.
- `oligo_name`: Name for the oligo, constricted by concatenating the names of the sequence components.
- `oligo_sequence`: Sequence for the oligo. Each concatenated section alternates case to allow visual checks.
### Examples
Simple example showing parts being concatenated. Note that group and pcr_handles columns are empty.
```bash
$ ogilo seq:ATCG:s1 re:BsmBI seq:GGCCTTAA:main @re:BsaI seq:CATG:s2
group pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence
28 immense_memo s1-BsmBI_f-main-BsaI_r-s2 ATCGcgtctcGGCCTTAAgagaccCATG
```
You can ask for a seqment to be reverse complemented by prepending the directive with `@`.
```bash
$ ogilo @seq:ATCG:s1 re:BsmBI seq:GGCCTTAA:main @re:BsaI seq:CATG:s2
group pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence
28 immense_memo s1-BsmBI_f-main-BsaI_r-s2 CGATcgtctcGGCCTTAAgagaccCATG
```
You can request PCR handles. These are the outermost sections of the sequence.
```bash
$ ogilo seq:ATCG:s1 re:BsmBI seq:GGCCTTAA:main @re:BsaI seq:CATG:s2 --pcr_handles
group pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence
sans18a 68 defeated_active s1-BsmBI_f-main-BsaI_r-s2 AGGCACTTGCTCGTACGACGatcgCGTCTCggccttaaGAGACCcatgATGTGGGCCCGGCACCTTAA
```
You can specify the subset of PCR handles to use. The current options are `illumina` for P5/P7 or NextEra i5/i7 primers,
or `sanson2018` for the primers used in [Sanson et al., _Nat. Commun._, 2018](https://doi.org/10.1038/s41467-018-07901-8).
Here, we request `illumina`, and **ogilo** detects the extra BbsI site in the P5/P7 PCR handles.
```bash
$ ogilo seq:ATCG:s1 re:BsmBI seq:GGCCTTAA:main @re:BsaI seq:CATG:s2 --pcr_handles --handle_set illumina
group pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence
p5p7 69 vivid_stereo BbsI s1-BsmBI_f-main-BsaI_r-s2 AATGATACGGCGACCACCGAatcgCGTCTCggccttaaGAGACCcatgTCAAGCAGAAGACGGCATACG
```
**ogilo** will check for other spurious Type IIS restriction sites that emerge *after* sequences have been concatenated. It ignores the ones you've requested.
```bash
$ ogilo seq:ATCG:s1 re:BsmBI seq:ACCTGC:quasi_paqCI @re:BsaI seq:CATG:s2 --pcr_handles --handle_set illumina
group pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence
p5p7 67 muddy_method BbsI;PaqCI s1-BsmBI_f-quasi_paqCI-BsaI_r-s2 AATGATACGGCGACCACCGAatcgCGTCTCacctgcGAGACCcatgTCAAGCAGAAGACGGCATACGA
```
Files containing sequences can also be used, so long as you specify which column the sequence is coming from.
```bash
$ ogilo re:BsmBI seq:AATTA:s1 file:test/guides-RLC12_mapped-tiny.tsv:guide_sequence seq:ATGCG:s2 @re:BsmBI --pcr_handles
group pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence
sans18a 84 festive_enigma BsmBI_f-s1-1-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAaacccaaacactccctttggaaATGCGgagacgATGTGGGCCCGGCACCTTAA
sans18a 83 tipsy_classic BsmBI_f-s1-2-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAacccaaacactccctttggaaATGCGgagacgATGTGGGCCCGGCACCTTAA
...
sans18a 79 tidy_isotope BsmBI_f-s1-19-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAaacactggtgcgcgataATGCGgagacgATGTGGGCCCGGCACCTTAA
sans18a 78 wistful_liquid BsmBI_f-s1-20-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAacactggtgcgcgataATGCGgagacgATGTGGGCCCGGCACCTTAA
```
**ogilo** interprets the `.csv` or `.tsv` file extnsion to indicate that your file is either comma- or tab-delimited,
but if the file extension is misleading you can force to read either CSV or TSV instead with the `--format` option.
```bash
$ ogilo re:BsmBI seq:AATTA:s1 file:test/guides-RLC12_mapped-tiny.txt:guide_sequence seq:ATGCG:s2 @re:BsmBI --pcr_handles --format CSV
group pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence
sans18a 84 festive_enigma BsmBI_f-s1-1-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAaacccaaacactccctttggaaATGCGgagacgATGTGGGCCCGGCACCTTAA
sans18a 83 tipsy_classic BsmBI_f-s1-2-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAacccaaacactccctttggaaATGCGgagacgATGTGGGCCCGGCACCTTAA
...
sans18a 79 tidy_isotope BsmBI_f-s1-19-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAaacactggtgcgcgataATGCGgagacgATGTGGGCCCGGCACCTTAA
sans18a 78 wistful_liquid BsmBI_f-s1-20-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAacactggtgcgcgataATGCGgagacgATGTGGGCCCGGCACCTTAA
```
Optionally, a column to take names from can be specified. Here, we're using the column called `pam_offset`.
```bash
$ ogilo re:BsmBI seq:AATTA:s1 file:test/guides-RLC12_mapped-tiny.tsv:guide_sequence:pam_offset seq:ATGCG:s2 @re:BsmBI --pcr_handles
group pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence
sans18a 84 festive_enigma BsmBI_f-s1-25-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAaacccaaacactccctttggaaATGCGgagacgATGTGGGCCCGGCACCTTAA
sans18a 83 tipsy_classic BsmBI_f-s1-25-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAacccaaacactccctttggaaATGCGgagacgATGTGGGCCCGGCACCTTAA
...
sans18a 79 tidy_isotope BsmBI_f-s1-58-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAaacactggtgcgcgataATGCGgagacgATGTGGGCCCGGCACCTTAA
sans18a 78 wistful_liquid BsmBI_f-s1-58-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAacactggtgcgcgataATGCGgagacgATGTGGGCCCGGCACCTTAA
```
A column to indicate grouping for different PCR handles can also be specified in addition. Here, we're using the column called `ann_gene_biotype`.
The different values in this column are matched with a different PCR handle pair.
```bash
$ ogilo re:BsmBI seq:AATTA:s1 file:test/guides-RLC12_mapped-tiny.tsv:guide_sequence:pam_offset:ann_gene_biotype seq:ATGCG:s2 @re:BsmBI --pcr_handles
group pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence
rRNA sans18a 84 festive_enigma BsmBI_f-s1-25-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAaacccaaacactccctttggaaATGCGgagacgATGTGGGCCCGGCACCTTAA
rRNA sans18a 83 tipsy_classic BsmBI_f-s1-25-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAacccaaacactccctttggaaATGCGgagacgATGTGGGCCCGGCACCTTAA
...
tRNA sans18b 79 good_iceberg BsmBI_f-s1-58-s2-BsmBI_r GTGTAACCCGTAGGGCACCTcgtctcAATTAaacactggtgcgcgataATGCGgagacgGTCGAGAGCAGTCCTTCGAC
tRNA sans18b 78 damp_index BsmBI_f-s1-58-s2-BsmBI_r GTGTAACCCGTAGGGCACCTcgtctcAATTAacactggtgcgcgataATGCGgagacgGTCGAGAGCAGTCCTTCGAC
```
### Command line options
```
usage: ogilo [-h] [--input INPUT] [--pcr_handles] [--column COLUMN] [--pcr_group PCR_GROUP] [--format {TSV,CSV}] [--output OUTPUT] [inputs ...]
Automated construction of oligo library sequences for oligo array synthesis.
positional arguments:
inputs Further input(s). Format is <type>:<value>:<seq_col>[:<name_col>:<group_col>], for example file:oligos.csv:2 seq:ATCGTAT.
options:
-h, --help show this help message and exit
--input INPUT Single input file. Default: STDIN
--pcr_handles, -p Requests PCR handles to be added either side of final sequences.
--column COLUMN, -c COLUMN
Column number to take from input as sequence. Default: 1
--pcr_group PCR_GROUP, -g PCR_GROUP
Column heading containing groups to give different PCR handles to.
--format {TSV,CSV}, -f {TSV,CSV}
Format of files. Default: TSV
--output OUTPUT, -o OUTPUT
Output file. Default: STDOUT
```
## Documentation
Available at [ReadTheDocs](https://ogilo.readthedocs.org).
Raw data
{
"_id": null,
"home_page": "",
"name": "ogilo-array",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "biology,bioinformatics,science,assay,sequencing,oligonucleotides,oligos",
"author": "",
"author_email": "Eachan Johnson <eachan.johnson@crick.ac.uk>",
"download_url": "https://files.pythonhosted.org/packages/a8/5e/3b137e30fe7a672772bccaea5e3ffd8388e743a9cfce7aa8ce14b915b027/ogilo-array-0.0.2.tar.gz",
"platform": null,
"description": "# \u26d3\ufe0f ogilo\n\n![GitHub Workflow Status (with branch)](https://img.shields.io/github/actions/workflow/status/scbirlab/ogilo/python-publish.yml)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/ogilo-array)\n![PyPI](https://img.shields.io/pypi/v/ogilo-array)\n\nAutomating construction of oligo library sequences for oligo array synthesis.\n\n**ogilo** takes your table of sequences (such as a library of guide RNAs) and concatenates them \nwith any other nucleotide sequences you provide, Type IIS restriction sites, and PCR handles.\n\nIf your table of sequences contains a column indicating subsets or groups, you can use this column to\ninstruct **ogilo** to add distinct PCR handles to each group. This allows you to order multiple\nlibraries as one oligo pool and selectively PCR each one as needed.\n\n## Installation\n\n### The easy way\n\nInstall the pre-compiled version from PyPI:\n\n```bash\npip install ogilo-array\n```\n\n### From source\n\nClone the repository, then `cd` into it. Then run:\n\n```bash\npip install -e .\n```\n\n## Usage\n\nCall **ogilo** with a set of sequence directives and other options:\n\n```\nogilo file:guide-rnas.csv:sequence:guide_name:essentiality seq:ATCGGGC:spacer re:BsmBI:f --format CSV\n```\n\nYou tell **ogilo** which sequences to concatenate using the following directive format:\n\n```\n[@]<type>:<value>[:<f1>[:<f2>[:<f3>]]]\n```\n\nFor example, file:oligos.csv:2 would instruct ogilo to take sequences from column 2 of \nthe file oligos.csv, and seq:ATCCCGAGAG:spacer would add the sequence ATCCCGAGAG and \ninclude \"spacer\" in the oligo name. \n\nIf you prepend the directive with `@`, then reverse complement sequences will be \nautomatically generated.\n\nThe allowed values of `<type>` are as follows.\n\n### Files\n\n```\n[@]file:<filename>[:<seq_col>[:<name_col>[:<group_col>]]]\n```\n\nTake sequences from file `<filename>`. If `<seq_col>` is provided, **ogilo** will use this column,\notherwise assumes column 1. \n\n`<seq_col>`, `<name_col>`, `<group_col>` can be column names (in which \ncase, the first line will be skipped) or integers (in which case, the first line will be \nincluded). \n\n**Do not mix column names and integers.** If your file has a header, **use column names**.\nIf `<group_col>` is provided, and PCR handles are requested, then different PCR handles will \nbe added to each group.\n\nFor example:\n\n```\nfile:guide-rnas.tsv:sequence:guide_name:essentiality\n```\n\nwould load sequences from the file `guide-rnas.tsv`, using column `sequence` for sequences, \n`guide_name` for the names, and `essentiality` for the groups (if you want different PCR handles\nfor each group). \n\n### Constant sequences\n\n```\n[@]seq:<sequence>[:<name>]\n```\n\nAn explicit sequence given in `<sequence>`, optionally with a `<name>`.\n\nFor example:\n\n```\n@seq:ATCGGGC:spacer\n```\n\n### Type IIS restriction enzyme sites\n\n```\n[@]re:<enzyme_name>\n```\n\nA named Type IIS restriction enzyme site. This does not take care of overhangs for you; these can\nbe added as a seq component.\n\nFor example:\n\n```\nre:BsmBI\n```\n\n### Output\n\nThe output is a TSV-formatted table with the following columns:\n- `group`: The group of oligos sharing the same PCR handles.\n- `pcr_handles`: The name of the PCR handle pair used (if any).\n- `length`: Total oligo length.\n- `mnemonic`: Adjective-noun mnemonic of oligo sequence.\n- `restriction_sites`: Type IIS restriction sites which happen to be in the oligo even though they weren't requested.\n- `oligo_name`: Name for the oligo, constricted by concatenating the names of the sequence components.\n- `oligo_sequence`: Sequence for the oligo. Each concatenated section alternates case to allow visual checks.\n\n### Examples\n\nSimple example showing parts being concatenated. Note that group and pcr_handles columns are empty.\n\n```bash\n$ ogilo seq:ATCG:s1 re:BsmBI seq:GGCCTTAA:main @re:BsaI seq:CATG:s2\ngroup pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence\n 28 immense_memo s1-BsmBI_f-main-BsaI_r-s2 ATCGcgtctcGGCCTTAAgagaccCATG\n```\n\nYou can ask for a seqment to be reverse complemented by prepending the directive with `@`.\n\n```bash\n$ ogilo @seq:ATCG:s1 re:BsmBI seq:GGCCTTAA:main @re:BsaI seq:CATG:s2\ngroup pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence\n 28 immense_memo s1-BsmBI_f-main-BsaI_r-s2 CGATcgtctcGGCCTTAAgagaccCATG\n```\n\nYou can request PCR handles. These are the outermost sections of the sequence.\n\n```bash\n$ ogilo seq:ATCG:s1 re:BsmBI seq:GGCCTTAA:main @re:BsaI seq:CATG:s2 --pcr_handles\ngroup pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence\n sans18a 68 defeated_active s1-BsmBI_f-main-BsaI_r-s2 AGGCACTTGCTCGTACGACGatcgCGTCTCggccttaaGAGACCcatgATGTGGGCCCGGCACCTTAA\n```\n\nYou can specify the subset of PCR handles to use. The current options are `illumina` for P5/P7 or NextEra i5/i7 primers, \nor `sanson2018` for the primers used in [Sanson et al., _Nat. Commun._, 2018](https://doi.org/10.1038/s41467-018-07901-8). \nHere, we request `illumina`, and **ogilo** detects the extra BbsI site in the P5/P7 PCR handles.\n\n```bash\n$ ogilo seq:ATCG:s1 re:BsmBI seq:GGCCTTAA:main @re:BsaI seq:CATG:s2 --pcr_handles --handle_set illumina\ngroup pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence\n p5p7 69 vivid_stereo BbsI s1-BsmBI_f-main-BsaI_r-s2 AATGATACGGCGACCACCGAatcgCGTCTCggccttaaGAGACCcatgTCAAGCAGAAGACGGCATACG\n```\n\n**ogilo** will check for other spurious Type IIS restriction sites that emerge *after* sequences have been concatenated. It ignores the ones you've requested.\n\n```bash\n$ ogilo seq:ATCG:s1 re:BsmBI seq:ACCTGC:quasi_paqCI @re:BsaI seq:CATG:s2 --pcr_handles --handle_set illumina\ngroup pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence\n p5p7 67 muddy_method BbsI;PaqCI s1-BsmBI_f-quasi_paqCI-BsaI_r-s2 AATGATACGGCGACCACCGAatcgCGTCTCacctgcGAGACCcatgTCAAGCAGAAGACGGCATACGA\n```\n\nFiles containing sequences can also be used, so long as you specify which column the sequence is coming from.\n\n```bash\n$ ogilo re:BsmBI seq:AATTA:s1 file:test/guides-RLC12_mapped-tiny.tsv:guide_sequence seq:ATGCG:s2 @re:BsmBI --pcr_handles\ngroup pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence\n sans18a 84 festive_enigma BsmBI_f-s1-1-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAaacccaaacactccctttggaaATGCGgagacgATGTGGGCCCGGCACCTTAA\n sans18a 83 tipsy_classic BsmBI_f-s1-2-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAacccaaacactccctttggaaATGCGgagacgATGTGGGCCCGGCACCTTAA\n ...\n sans18a 79 tidy_isotope BsmBI_f-s1-19-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAaacactggtgcgcgataATGCGgagacgATGTGGGCCCGGCACCTTAA\n sans18a 78 wistful_liquid BsmBI_f-s1-20-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAacactggtgcgcgataATGCGgagacgATGTGGGCCCGGCACCTTAA\n```\n\n**ogilo** interprets the `.csv` or `.tsv` file extnsion to indicate that your file is either comma- or tab-delimited, \nbut if the file extension is misleading you can force to read either CSV or TSV instead with the `--format` option.\n\n```bash\n$ ogilo re:BsmBI seq:AATTA:s1 file:test/guides-RLC12_mapped-tiny.txt:guide_sequence seq:ATGCG:s2 @re:BsmBI --pcr_handles --format CSV\ngroup pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence\n sans18a 84 festive_enigma BsmBI_f-s1-1-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAaacccaaacactccctttggaaATGCGgagacgATGTGGGCCCGGCACCTTAA\n sans18a 83 tipsy_classic BsmBI_f-s1-2-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAacccaaacactccctttggaaATGCGgagacgATGTGGGCCCGGCACCTTAA\n ...\n sans18a 79 tidy_isotope BsmBI_f-s1-19-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAaacactggtgcgcgataATGCGgagacgATGTGGGCCCGGCACCTTAA\n sans18a 78 wistful_liquid BsmBI_f-s1-20-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAacactggtgcgcgataATGCGgagacgATGTGGGCCCGGCACCTTAA\n```\n\nOptionally, a column to take names from can be specified. Here, we're using the column called `pam_offset`.\n\n```bash\n$ ogilo re:BsmBI seq:AATTA:s1 file:test/guides-RLC12_mapped-tiny.tsv:guide_sequence:pam_offset seq:ATGCG:s2 @re:BsmBI --pcr_handles\ngroup pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence\n sans18a 84 festive_enigma BsmBI_f-s1-25-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAaacccaaacactccctttggaaATGCGgagacgATGTGGGCCCGGCACCTTAA\n sans18a 83 tipsy_classic BsmBI_f-s1-25-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAacccaaacactccctttggaaATGCGgagacgATGTGGGCCCGGCACCTTAA\n ...\n sans18a 79 tidy_isotope BsmBI_f-s1-58-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAaacactggtgcgcgataATGCGgagacgATGTGGGCCCGGCACCTTAA\n sans18a 78 wistful_liquid BsmBI_f-s1-58-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAacactggtgcgcgataATGCGgagacgATGTGGGCCCGGCACCTTAA\n```\n\nA column to indicate grouping for different PCR handles can also be specified in addition. Here, we're using the column called `ann_gene_biotype`.\nThe different values in this column are matched with a different PCR handle pair.\n\n```bash\n$ ogilo re:BsmBI seq:AATTA:s1 file:test/guides-RLC12_mapped-tiny.tsv:guide_sequence:pam_offset:ann_gene_biotype seq:ATGCG:s2 @re:BsmBI --pcr_handles\ngroup pcr_handles length mnemonic restriction_sites oligo_name oligo_sequence\nrRNA sans18a 84 festive_enigma BsmBI_f-s1-25-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAaacccaaacactccctttggaaATGCGgagacgATGTGGGCCCGGCACCTTAA\nrRNA sans18a 83 tipsy_classic BsmBI_f-s1-25-s2-BsmBI_r AGGCACTTGCTCGTACGACGcgtctcAATTAacccaaacactccctttggaaATGCGgagacgATGTGGGCCCGGCACCTTAA\n ...\ntRNA sans18b 79 good_iceberg BsmBI_f-s1-58-s2-BsmBI_r GTGTAACCCGTAGGGCACCTcgtctcAATTAaacactggtgcgcgataATGCGgagacgGTCGAGAGCAGTCCTTCGAC\ntRNA sans18b 78 damp_index BsmBI_f-s1-58-s2-BsmBI_r GTGTAACCCGTAGGGCACCTcgtctcAATTAacactggtgcgcgataATGCGgagacgGTCGAGAGCAGTCCTTCGAC\n```\n\n### Command line options\n\n```\nusage: ogilo [-h] [--input INPUT] [--pcr_handles] [--column COLUMN] [--pcr_group PCR_GROUP] [--format {TSV,CSV}] [--output OUTPUT] [inputs ...]\n\nAutomated construction of oligo library sequences for oligo array synthesis.\n\npositional arguments:\n inputs Further input(s). Format is <type>:<value>:<seq_col>[:<name_col>:<group_col>], for example file:oligos.csv:2 seq:ATCGTAT.\n\noptions:\n -h, --help show this help message and exit\n --input INPUT Single input file. Default: STDIN\n --pcr_handles, -p Requests PCR handles to be added either side of final sequences.\n --column COLUMN, -c COLUMN\n Column number to take from input as sequence. Default: 1\n --pcr_group PCR_GROUP, -g PCR_GROUP\n Column heading containing groups to give different PCR handles to.\n --format {TSV,CSV}, -f {TSV,CSV}\n Format of files. Default: TSV\n --output OUTPUT, -o OUTPUT\n Output file. Default: STDOUT\n```\n\n## Documentation\n\nAvailable at [ReadTheDocs](https://ogilo.readthedocs.org).\n",
"bugtrack_url": null,
"license": "MIT License Copyright (c) [year] [fullname] Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
"summary": "Automated construction of oligo library sequences for oligo array synthesis.",
"version": "0.0.2",
"project_urls": {
"Bug Tracker": "https://github.com/scbirlab/ogilo/issues",
"Homepage": "https://github.com/scbirlab/ogilo"
},
"split_keywords": [
"biology",
"bioinformatics",
"science",
"assay",
"sequencing",
"oligonucleotides",
"oligos"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6ee66f8fb0d2c4013574b2c907028eba7c2393aaabe73fb43718bbb82cbd549e",
"md5": "6e46e45b1352458ace52a61e3aeef133",
"sha256": "17ad64dc05f4f88c6053e68345c6a800bc4d7c62c6267a6aa754a383a0861f90"
},
"downloads": -1,
"filename": "ogilo_array-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6e46e45b1352458ace52a61e3aeef133",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 14061,
"upload_time": "2023-06-28T19:18:38",
"upload_time_iso_8601": "2023-06-28T19:18:38.173451Z",
"url": "https://files.pythonhosted.org/packages/6e/e6/6f8fb0d2c4013574b2c907028eba7c2393aaabe73fb43718bbb82cbd549e/ogilo_array-0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a85e3b137e30fe7a672772bccaea5e3ffd8388e743a9cfce7aa8ce14b915b027",
"md5": "bb4da6313529818d0c7a64fa1e1c2944",
"sha256": "2c3933a323e474df8d61203d1c0022568ef459965ab3cda6ae0d65bcc4e65406"
},
"downloads": -1,
"filename": "ogilo-array-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "bb4da6313529818d0c7a64fa1e1c2944",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 14683,
"upload_time": "2023-06-28T19:18:39",
"upload_time_iso_8601": "2023-06-28T19:18:39.650020Z",
"url": "https://files.pythonhosted.org/packages/a8/5e/3b137e30fe7a672772bccaea5e3ffd8388e743a9cfce7aa8ce14b915b027/ogilo-array-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-28 19:18:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "scbirlab",
"github_project": "ogilo",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ogilo-array"
}