Read .hic file generated by Juicebox. Currently can be used for both local and remote file.

readJuicerInformation(file, verbose = FALSE)

Arguments

file

Filename can be a local path or remote path. The remote path full list can be obtained from http://aidenlab.org/data.html.

verbose

TRUE or FALSE. Whether print information.

Value

A list object includes hic file information.

genomId

The genome id of the current hic file.

resolution

The list of current hic file available resolution.

pairs

The list of current hic file available pair.

chromosomeSizes

A dataframe of chromosome size (chromosome, size). Can be used in juicer pre function for different genome.

Details

This function is heavily adopted from both java version juicebox Dump function and c++ version straw.

In case people needs to use juice box Pre to generate hic file. Check writeJuicer for details.

Examples

library(FreeHiCLite) ## Remote file location. The reomte file include downloading, it may take a while remoteFilePath = 'https://hicfiles.s3.amazonaws.com/hiseq/gm12878/in-situ/combined.hic' ## Local file location localFilePath = system.file('extdata', 'example.hic', package = 'FreeHiCLite') juicerInfo <- readJuicerInformation(localFilePath) print(str(juicerInfo))
#> List of 4 #> $ genomeID : chr "hg19" #> $ resolution :List of 2 #> ..$ BP : int [1:3] 2500000 500000 5000 #> ..$ FRAG: int(0) #> $ pairs : chr [1:6] "1_1" "1_2" "1_3" "2_2" ... #> $ chromosomeSizes:'data.frame': 26 obs. of 2 variables: #> ..$ chromosome: chr [1:26] "1" "10" "11" "12" ... #> ..$ size : int [1:26] 249250621 135534747 135006516 133851895 115169878 107349540 102531392 90354753 81195210 78077248 ... #> - attr(*, "class")= chr [1:2] "juicer" "information" #> NULL
# \donttest{ juicerInfo <- readJuicerInformation(remoteFilePath) print(str(juicerInfo))
#> List of 4 #> $ genomeID : chr "hg19" #> $ resolution :List of 2 #> ..$ BP : int [1:10] 2500000 1000000 500000 250000 100000 50000 25000 10000 5000 1000 #> ..$ FRAG: int [1:8] 500 200 100 50 20 5 2 1 #> $ pairs : chr [1:325] "10_10" "10_11" "10_12" "10_13" ... #> $ chromosomeSizes:'data.frame': 26 obs. of 2 variables: #> ..$ chromosome: chr [1:26] "1" "10" "11" "12" ... #> ..$ size : int [1:26] 249250621 135534747 135006516 133851895 115169878 107349540 102531392 90354753 81195210 78077248 ... #> - attr(*, "class")= chr [1:2] "juicer" "information" #> NULL
# }