Skip to content

BEDboss run-pep

Bedboss insert is designed to process each sample in the provided PEP. The PEP can be provided either as a path to config file or as a registry path of the PEPhub.

First, you have to install bedboss and check if all requirements are satisfied. To do so, you can run the following command:

Terminal window
bedboss check-requirements

If requirements are not satisfied, you will see the list of missing packages.

To run bedboss run-pep, you need to create a bedconf.yaml file with configuration. Detailed instructions are in the configuration section.

BEDboss PEP should contain next fields: sample_name, input_file, input_type, genome. Before running bedboss, you need to validate provided PEP with bedboss_insert schema. The easiest way to do so is to use PEPhub, where you create a new PEP and validate it with the schema. Example PEP: https://pephub.databio.org/databio/excluderanges?tag=default

To run bedboss insert , you need to run the next command:

Terminal window
bedboss insert \
--bedbase-config bedconf.yaml \
--pep path/to/pep.yaml \
--outfolder path/to/output/dir

Above command will run bedboss on the bed file and create a file with statistics in the output directory. It contains only required parameters. For more details, please check the usage section.

By default, results will be uploaded only to the PostgreSQL database.

  • To upload results to PEPhub, you need to make the databio org available on GitHub, then login to PEPhub, and add the --upload-pephub flag to the command.
  • To upload results to Qdrant, you need to add the --upload-qdrant flag to the command.
  • To upload actual files to S3, you need to add the --upload-s3 flag to the command, and before uploading, you have to set up all necessary environment variables: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_ENDPOINT_URL.
  • To create a bedset of provided pep files, you need to add the --create-bedset flag to the command.
  • To ignore errors and continue processing, you need to add the --no-fail flag to the command.

To run bedboss insert from within Python, instead of using the command line in the step #4, you can use the following code:

from bedboss import bedboss
bedboss.insert_pep(
bedbase_config="bedconf.yaml",
pep="path/to/pep.yaml",
output_folder="path/to/output/dir",
upload_pephub=True, # optional
upload_qdrant=True, # optional
upload_s3=True, # optional
create_bedset=True, # optional
no_fail=True, # optional
)