Prototype for the puck loading software for the MX beamlines at NSLS-II.
- Install requirements.txt using
pip install --user -r requirements.txt
- Compatible with LSDC GUI conda environments
- Set up a configuration yaml file (Example configuration file provided in
config.yaml
) - Type
python start_importer.py path/to/yaml/config.yaml
to run the GUI - Change the master list of pucks by editing
masterlist.json
. Add or remove pucks in the list with the keywhitelist
orblacklist
This software is designed to make the process of importing puck data easier and less error prone by providing validation and exact location of errors in the data.
-
Imported file should contain the following column names, case is ignored
- puckname
- position
- samplename
- model
- sequence
- proposalnum
-
Only columns with the names above are imported every other column is ignored
-
All values in the position and proposalnum should be numerical only. Alphabets and characters are automatically removed
-
All whitespaces are stripped from data
- Match puck names against the blacklist and whitelist. Blacklisted pucks highlighted in red and pucks NOT in whitelist highlighted in yellow
- Sample names cannot exceed 25 characters and should only contain letters, numbers, dash
-
and underscore_
- Sample names cannot be empty
- Sample names cannot be repeated in the same column
- Proposal numbers must contain exactly 6 digits no alphabets or special characters
- Proposal numbers should all be the same
- Combination of puck name and position should be unique (For eg. two rows cannot have Puck-ABC with position 1)
Validation checks happen when the spreadsheet is first imported, manually triggered from the menu and just before submitting the data to the mongo db
The following is an example of the configuration file that the software expects
admin_group: admin
beamline: TLA
database_host: localhost:8000
disable_blacklist: false
disable_whitelist: true
list_path: masterlist.json
admin_group
: Specifies which user group the admin should belong to, only those part of the admin group can see the settings windowbeamline
: Three letter acronym for the beamlinedatabase_host
: Address of the amostra and conftrak mongo databasedisable_whitelist
: Choose whether to use or ignore whitelist during validationdisable_blacklist
: Choose whether to use or ignore blacklist during validationlist_path
: Path to json file that contains black and white lists