Skip to contents

Object that downloads, develops and uploads GWAS summary datasets for IEU OpenGWAS database

Object that downloads, develops and uploads GWAS summary datasets for IEU OpenGWAS database

Public fields

filename

Path to raw GWAS summary dataset

igd_id

ID to use for upload. If NULL then the next available ID in batch ieu-b will be used automatically

wd

Work directory in which to save processed files. Will be deleted upon completion

gwas_out

path to processed summary file

nsnp_read

Number of SNPs read initially

nsnp

Number of SNPs retained after reading

metadata

List of meta-data entries

metadata_test

List of outputs from tests of the effect allele, effect allele frequency columns and summary data using CheckSumStats

metadata_file

Path to meta-data json file

datainfo

List of GWAS file parameters

datainfo_file

Path to datainfo json file

params

Initial column identifiers specified for raw dataset

metadata_uploaded

TRUE/FALSE of whether the metadata has been uploaded

gwasdata_uploaded

TRUE/FALSE of whether the gwas data has been uploaded

metadata_upload_status

Response from server about upload process

gwasdata_upload_status

Response from server about upload process

Methods


Method new()

Initialise

Usage

Dataset$new(filename = NULL, wd = tempdir(), igd_id = NULL)

Arguments

filename

Path to raw GWAS summary data file

wd

Path to directory to use as the working directory. Will be deleted upon completion - best to keep as the default randomly generated temporary directory

igd_id

Option to provide a specified ID for upload. If none provided then will use the next ieu-a batch ID

Returns

new ObtainEbiDataset object


Method is_new_id()

Check if the specified ID is unique within the database. It checks published GWASs and those currently being processed

Usage

Dataset$is_new_id(id = self$igd_id)

Arguments

id

ID to check


Method delete_wd()

Delete working directory

Usage

Dataset$delete_wd()


Method set_wd()

Set working directory (creates)

Usage

Dataset$set_wd(wd)

Arguments

wd

working directory


Method se_from_bp()

Estimate standard error from beta and p-value

Usage

Dataset$se_from_bp(beta, pval, minp = 1e-300)

Arguments

beta

Effect size

pval

p-value

minp

Minimum p-value cutoff default = 1e-300


Method determine_columns()

Specify which columns in the dataset correspond to which fields.

Usage

Dataset$determine_columns(params, nrows = 100, gwas_file = self$filename, ...)

Arguments

params

List of column identifiers. Identifiers can be numeric position or column header name. Required columns are: c("chr_col", "pos_col", "ea_col", "oa_col", "beta_col", "se_col", "pval_col","rsid_col"). Optional columns are: c("snp_col", "eaf_col", "oaf_col", "ncase_col", "imp_z_col", "imp_info_col", "ncontrol_col").

nrows

How many rows to read to check that parameters have been specified correctly

gwas_file

Filename to read

...

Further arguments to pass to data.table::fread in order to correctly read the dataset


Method format_dataset()

Process dataset ready for uploading. Determins build and lifts over to hg19/b37 if necessary.

Usage

Dataset$format_dataset(
  gwas_file = self$filename,
  gwas_out = file.path(self$wd, "format.txt.gz"),
  params = self$params,
  metadata_test = self$metadata_test,
  ...
)

Arguments

gwas_file

GWAS filename

gwas_out

Filename to save processed dataset to

params

Column specifications (see determine_columns for more info)

metadata_test

List of outputs from tests of the effect allele, effect allele frequency columns and summary data using CheckSumStats

...

Further arguments to pass to data.table::fread in order to correctly read the dataset


Method view_metadata_options()

View the specifications for available meta data fields, as taken from http://gwas-api.mrcieu.ac.uk/docs

Usage

Dataset$view_metadata_options()


Method get_gwasdata_fields()

Get a list of GWAS data fields and whether or not they are required

Usage

Dataset$get_gwasdata_fields()

Returns

data.frame


Method get_metadata_fields()

Get a list of metadata fields and whether or not they are required

Usage

Dataset$get_metadata_fields()

Returns

data.frame


Method collect_metadata()

Input metadata

Usage

Dataset$collect_metadata(metadata, igd_id = self$igd_id)

Arguments

metadata

List of meta-data fields and their values, see view_metadata_options for which fields need to be inputted.

igd_id

ID to be used for uploading to the database


Method check_meta_data()

Check that the reported effect allele and effect allele frequency columns are correct.

Usage

Dataset$check_meta_data(
  gwas_file = self$filename,
  params = self$params,
  metadata = self$metadata
)

Arguments

gwas_file

Filename to read

params

column names from x$determine_columns(). Required columns are: c("snp_col", "ea_col", "oa_col", "eaf_col" )

metadata

metadata from x$collect_metadata()


Method write_metadata()

Write meta data to json file

Usage

Dataset$write_metadata(
  metadata = self$metadata,
  datainfo = self$datainfo,
  outdir = self$wd
)

Arguments

metadata

List of meta data fields and their values

datainfo

List of data column parameters

outdir

Output directory to write json files


Method api_metadata_upload()

Upload meta data to API

Usage

Dataset$api_metadata_upload(
  metadata = self$metadata,
  metadata_test = self$metadata_test,
  access_token = ieugwasr::check_access_token()
)

Arguments

metadata

List of meta data fields and their values

metadata_test

List of outputs from tests of the effect allele, effect allele frequency columns and summary data using CheckSumStats

access_token

Google OAuth2.0 token. See ieugwasr documentation for more info


Method api_metadata_edit()

Upload meta data to API

Usage

Dataset$api_metadata_edit(
  metadata = self$metadata,
  access_token = ieugwasr::check_access_token()
)

Arguments

metadata

List of meta data fields and their values

access_token

Google OAuth2.0 token. See ieugwasr documentation for more info


Method api_metadata_check()

View meta-data

Usage

Dataset$api_metadata_check(
  id = self$igd_id,
  access_token = ieugwasr::check_access_token()
)

Arguments

id

ID to check

access_token

Google OAuth2.0 token. See ieugwasr documentation for more info


Method api_metadata_delete()

Delete a dataset. This deletes the metadata AND any uploaded GWAS data (and related processing files)

Usage

Dataset$api_metadata_delete(
  id = self$igd_id,
  access_token = ieugwasr::check_access_token()
)

Arguments

id

ID to delete

access_token

Google OAuth2.0 token. See ieugwasr documentation for more info


Method api_gwasdata_upload()

Upload gwas dataset

Usage

Dataset$api_gwasdata_upload(
  datainfo = self$datainfo,
  gwasfile = self$gwas_out,
  metadata_test = self$metadata_test,
  access_token = ieugwasr::check_access_token()
)

Arguments

datainfo

List of data column parameters

gwasfile

Path to processed gwasfile

metadata_test

List of outputs from tests of the effect allele, effect allele frequency columns and summary data using CheckSumStats

access_token

Google OAuth2.0 token. See ieugwasr documentation for more info


Method api_gwasdata_check()

Check status of API processing pipeline

Usage

Dataset$api_gwasdata_check(
  id = self$igd_id,
  access_token = ieugwasr::check_access_token()
)

Arguments

id

ID to check

access_token

Google OAuth2.0 token. See ieugwasr documentation for more info


Method api_gwasdata_delete()

Delete a dataset. This deletes the metadata AND any uploaded GWAS data (and related processing files)

Usage

Dataset$api_gwasdata_delete(
  id = self$igd_id,
  access_token = ieugwasr::check_access_token()
)

Arguments

id

ID to delete

access_token

Google OAuth2.0 token. See ieugwasr documentation for more info


Method api_qc_status()

Check the status of the GWAS QC processing pipeline

Usage

Dataset$api_qc_status(
  id = self$igd_id,
  access_token = ieugwasr::check_access_token()
)

Arguments

id

ID to delete

access_token

Google OAuth2.0 token. See ieugwasr documentation for more info


Method api_report()

View the html report for a processed dataset

Usage

Dataset$api_report(
  id = self$igd_id,
  access_token = ieugwasr::check_access_token()
)

Arguments

id

ID of report to view

access_token

Google OAuth2.0 token. See ieugwasr documentation for more info


Method api_gwas_release()

Release a dataset

Usage

Dataset$api_gwas_release(
  comments = NULL,
  passed_qc = "True",
  id = self$igd_id,
  access_token = ieugwasr::check_access_token()
)

Arguments

comments

Optional comments to provide when uploading

passed_qc

True or False

id

ID to release

access_token

Google OAuth2.0 token. See ieugwasr documentation for more info


Method clone()

The objects of this class are cloneable with this method.

Usage

Dataset$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.