**[8. Plasmid maps and sequences](#Plasmidmapsandsequences)**
*[8.1 Plasmid maps](#Plasmidmaps)
*[8.2 Plasmid sequences](#Plasmidsequences)
**[9. BREADs](#Breads)**
...
...
@@ -77,6 +79,8 @@ MyLabStocks allows you to define roles and assign them to users. For administrat
* role `supermanager`: same as `hypermanager` except that supermanagers can not modify [BREADs](#Breads).
* role `manager`: This is **the safest role for administrative tasks**. With this role, you can perform all common tasks such as editing tables, creating users, assigning them roles, etc. You cannot, however, add new Roles or modify BREADs, Menus or Settings and this will avoid corrupting important functionalities of the application (see below).
*[Back to Contents](#Contents)*
### Before anything else: create a 'manager' user <a name="Doitfirst"></a>
After completing the installation steps, a single user is created and its role is `admin`. This user therefore has full priviledge on the application functionalities. Using this full access can be convenient but it presents important risks because you can easily make irreversible damage. Even worse, you may make damage that you will not notice immediately, but which will generate difficult issues during future upgrades of your instance. We therefore ***strongly recommend*** that you use another role for your administrative tasks.
...
...
@@ -92,6 +96,8 @@ If you want, you can repeat the same procedure to create another user with defau
Then click in the top right corner to open your user menu and click `Logout`.
*[Back to Contents](#Contents)*
### Your first steps as a manager <a name="Managerfirststeps"></a>
You can now safely log in to the manager account that you created. After doing so, you have access on the left of the page to the following menu:
...
...
@@ -129,7 +135,7 @@ As the manager of your MyLabStocks instance, you can add, edit and delete user a
Each `user` has a `default role` and `additional roles`. For simplicity, and also to avoid difficulties during upgrades, **we recommend to leave the `additional roles` field empty** for all users.
A `role` is a defined set of `permissions`. To access the list of availables roles, click on Roles icon of the menu and you will obtain a page like this:
A `role` is a defined set of `permissions`. To access the list of available roles, click on Roles icon of the menu and you will obtain a page like this:

...
...
@@ -182,6 +188,8 @@ Stocks are the items listed in yellow in the main menu:
They correspond to different types of stocks. Each type is stored in a specific table. These tables are described below.
*[Back to Contents](#Contents)*
### Plasmids <a name="Plasmids"></a>
| Field name | Type | What you enter in this field |
...
...
@@ -210,17 +218,6 @@ They correspond to different types of stocks. Each type is stored in a specific
| Insert type | Character string | Type of insert, such as restriction fragment, PCR etc. (free text, optional) |
| Projects | Relationship | Links to projects related to this plasmid. Dropdown selection made from the `name` field of the `projects` table |
In the top right corner of the edit page of plasmids, you will find a button inviting you to update the plasmid sequence using its `.gb` file:
A file must be uploaded before you can use this functionality:
- Enter a `.gb` file in the `Seqfile` field (must be in GENBANK format).
- Click `Save`
- Come back to the `Edit` page of the plasmid
- Click `Update sequence from `.gb` file.
- The `Sequence` field of the plasmid now contains the sequence contained in the provided `.gb` file.
**Users can retrieve plasmids using a query sequence.** For this, go to the BLAST item of the menu, select `plasmids` in response to 'what do you want to search' and enter a query sequence in the text box. By default, the page expects your query to be nucleotidic and the program is `blastn`. If your query sequence is a peptide, you can select the program and task `tblastn`.
*[Back to Contents](#Contents)*
### Oligos <a name="Oligos"></a>
...
...
@@ -383,7 +380,9 @@ Note that users do not need administrative permissions to upload files and link
*[Back to Contents](#Contents)*
## Plasmid maps <a name="Plasmidmaps"></a>
## Plasmid maps and sequences <a name="Plasmidmapsandsequences"></a>
### Plasmid maps <a name="Plasmidmaps"></a>
An important feature of MyLabStocks is its dynamic display of plasmid maps. Every time a user visits the read view of a plasmid, a number of tasks are run in the background before rendering the view:
* The plasmid sequence is used as a query in a BLAST search for `Dna features`.
...
...
@@ -402,6 +401,27 @@ Given this implementation, you should keep in mind the following:
The sequence of a plasmid is stored in the field `sequence` of the `plasmids` table. It can be entered and modified in two ways:
- By directly editing the sequence field. This is **NOT** recommended as it may generate errors.
- By automatically importing the sequence from a `.gb` file (GenBank file format). Note that this will overwrite any existing sequence previously stored in the sequence field.
In the top right corner of the edit page of plasmids, a button invites you to update the plasmid sequence using its `.gb` file:
A file must be uploaded before you can use this functionality:
- Enter a `.gb` file in the `Seqfile` field (must be in GENBANK format).
- Click `Save`
- Come back to the `Edit` page of the plasmid
- Click `Update sequence from `.gb` file.
- The `Sequence` field of the plasmid now contains the sequence contained in the provided `.gb` file.
**Users can retrieve plasmids using a query sequence.** For this, go to the BLAST item of the menu, select `plasmids` in response to 'what do you want to search' and enter a query sequence in the text box. By default, the page expects your query to be nucleotidic and the program is `blastn`. If your query sequence is a peptide, you can select the program and task `tblastn`.
*[Back to Contents](#Contents)*
## BREADs <a name="Breads"></a>
As [briefly mentioned above](#Breadbasics), BREADs are the functionalities enabling users to interact with the database. The way BREADs are defined and organized is written in special tables of the database (tables `data_types`, `data_rows` and `permissions`). The application reads these tables to offer specific functionalities on specific records, and according to the specific permissions defined in the user's role.