Update README.md

This commit is contained in:
ozerov_d
2023-08-22 12:42:34 +02:00
parent 04c6c7d6dc
commit b763046ac3

View File

@ -18,7 +18,7 @@ Runs on files produced by [sf-daq](https://github.com/paulscherrerinstitute/sf_d
* [After beamtime](#usage3) * [After beamtime](#usage3)
## Description ## Description
Automatic Processing tool checks for the new files/runs produced by sf-daq and runs automatically workload (currently - indexing (from crystfel)) and fills logbook (google spreadsheet) with information with some daq parameters from the sf-daq and processing. Automatic Processing tool checks for the new files/runs produced by sf-daq and runs automatically workload (currently - indexing (by crystfel)) and fills logbook (google spreadsheet) with information with some daq parameters from the sf-daq and processing.
## Installation<a name="installation"></a> ## Installation<a name="installation"></a>
@ -41,7 +41,39 @@ Automatic Processing tool can also be installed from scratch with:
In case of installation from source, so different location of the code and conda environment - change correspondingly line in scripts/env_setup.sh In case of installation from source, so different location of the code and conda environment - change correspondingly line in scripts/env_setup.sh
## Configuration files<a name="config"></a> ## Configuration files<a name="config"></a>
Here description of configuration files will be, together with format and hints of usage
### BEAM_ENERGY.txt
This file should contain a beam energy values (in eV). There must be one line with the default values and (optionally) it's possible to define beam energy values, different from defaults for specific runs(scans). Example:
> $ cat BEAM_ENERGY.txt
>
> DEFAULT 11330.0
>
> run9876 11001.2
>
> run9870 12015.1
>
(for the runs 9876 and 9870 - 11001.2 and 12015.1 photon beam energy will be used, while for any other - 11330.0 value)
### DETECTOR_DISTANCE.txt
This file should contain a detector distance (from sample to detector) in meter. Format is similar to BEAM_ENERGY.txt file, so for example:
> $ cat DETECTOR_DISTANCE.txt
>
> DEFAULT 0.09369
>
> run9988 0.09212
>
> run9977 0.09413
>
(for runs 9988 and 9977 - 9.212cm and 9.413cm will be used as detector distance, for all other runs a default value of 9.369cm will be used)
### env_setup.sh
During preparation [step](#usage1) this file should be filled with the proper values for the beamline name(alvra or bernina or..), pgroup name (p12345), DETECTOR_NAME (JF17T16V01) used in experiment, THRESHOLD_INDEXING (can be changed, adapted, in run_index.sh file, see latter) and LOGBOOK (url to google spreadsheet which will be used for automatic filling)
### run_index.sh
this file contains indexing parameters used by crystfel.
**HINT** - in case several proteins are used during expertiment, it's possible to define different indexing parameters for each of them: in case run_index.<cell_name>.sh file is present - indexing parameters from that file will be used to process <cell_name> protein sample, if not present(default) - run_index.sh parameters are used
## Google Authentication (optional)<a name="google-api"></a> ## Google Authentication (optional)<a name="google-api"></a>
@ -53,15 +85,15 @@ Here description of configuration files will be, together with format and hints
### Before beamtime<a name="usage1"></a> ### Before beamtime<a name="usage1"></a>
* make directory in res/ space of corresponding pgroup and fill it with configuration files (name **ap** is used as directory name in examples below, but any name can be choosen): * make directory in res/ space of corresponding pgroup and fill it with configuration files (name **ap** is used as directory name in examples below, but any name can be choosen):
> $ mkdir p12345/res/ap > $ mkdir p12345/res/ap
> >
> $ cd p12345/res/ap > $ cd p12345/res/ap
> >
> $ /sf/jungfrau/applications/ap/scripts/prepare.sh > $ /sf/jungfrau/applications/ap/scripts/prepare.sh
* make corresponding changes in the configuration files (see section [Configuration files]): * make corresponding changes in the configuration files (see section [Configuration files]):
* BEAM_ENERGY.txt * BEAM_ENERGY.txt
@ -71,15 +103,23 @@ Here description of configuration files will be, together with format and hints
* run_index.sh * run_index.sh
* create file <DETECTOR_NAME>.geom (DETECTOR_NAME is variable defined by you in env_setup.sh file) with the crystfel geometry file for corresponding detector (example : JF17T16V01.geom file for CrystallinaMX instrument) * create file <DETECTOR_NAME>.geom (DETECTOR_NAME is variable defined by you in env_setup.sh file) with the crystfel geometry file for corresponding detector (example : JF17T16V01.geom file for CrystallinaMX instrument)
* put in ap/CELL directory cell files of the protein which will be exposed during beamtime (format of the files should be readable by crystfel). Name of the cell files needs to be <cell_name>.cell. * put in ap/CELL directory cell files of the protein which will be exposed during beamtime (format of the files should be readable by crystfel). Name of the cell files needs to be <cell_name>.cell.
> $ ls res/ap/CELL > $ ls res/ap/CELL
> >
> lyso.cell hewl.cell > lyso.cell hewl.cell
* (optional, if filling is requested) **HINT** - in case there are several space group at which protein can be indexed, it's possible to run automatically indexing in the *alternative* space group. To do this - provide an alternative space group settings in the file <cell_name>.cell_alternative. Example:
> $ ls res/ap/CELL
>
> lyso.cell chim.cell chim.cell_alternative
runs with the <cell_name>=lyso will be indexed using lyso.cell file, while for the <cell_name>=chim - indexing will be done twice, using chim.cell and chim.cell_alternative files (and results of both indexing will be filled in logbook)
* (optional, if filling is requested)
* create (an empty) google spreadsheet * create (an empty) google spreadsheet
@ -141,12 +181,14 @@ in case of need to re-run indexing (new config parameters, new geometry file etc
#### pausing indexing<a name="usage2_pause"></a> #### pausing indexing<a name="usage2_pause"></a>
in case of unknown processing parameters (detector distance, geometry file(beam center), not yet known cell file...), it's possible to pause (not start indexing jobs) putting semaphore file NO_INDEXING in config directory in case of unknown processing parameters (detector distance, geometry file(beam center), not yet known cell file...), it's possible to pause (not start indexing jobs) putting semaphore file NO_INDEXING in config directory
> $ touch res/ap/NO_INDEXING > $ touch res/ap/NO_INDEXING
once this file is removed - all not indexed runs will be processed
once this file is removed - all not indexed runs will be processed by the tool
### After Beamtime<a name="usage3"></a> ### After Beamtime<a name="usage3"></a>
* stop automatic processing executable (Ctrl-c ap.py process) once all runs are processed for this beamtime * stop automatic processing executable (Ctrl-c ap.py process) once all runs are processed for this beamtime (no active jobs and filling of the logbook is finished)
* remove credentials*json files and revoke api-keys in [Google Developer Console](https://console.developers.google.com/) (->"Service Accounts", for each account -> click on "Actions: ..." and choose "Manage Keys", then remove key) * remove credentials*json files and revoke api-keys in [Google Developer Console](https://console.developers.google.com/) (->"Service Accounts", for each account -> click on "Actions: ..." and choose "Manage Keys", then remove key)