OmicsProfiles

Documentation for OmicsProfiles.

OmicsProfiles.AnnotatedProfileType
AnnotatedProfile(omics, obs, obsindex)
AnnotatedProfile(op, omicsname, obs, obsindex)

Arguments

  • omics::Dict{Symbol,OmicsProfile}: A collection of omics profile with their names in keys.
  • op::OmicsProfile: Single omics profile.
  • omicsname::Symbol: The name of given OmicsProfile.
  • obs::DataFrame: The dataframe contains meta information for observations.
  • obsindex::Symbol: The index of dataframe obs.
OmicsProfiles.OmicsProfileType
OmicsProfile(countmat, var, varindex; T=float(eltype(countmat)))

Arguments

  • countmat: The count matrix for given omics and it will be set to key :count.
  • var::DataFrame: The dataframe contains meta information for features or variables.
  • varindex::Symbol: The index of dataframe var.
  • T: Element type of countmat.

Examples

julia> using OmicsProfiles, DataFrames

julia> r, c = (100, 500)
(100, 500)

julia> data = rand(0:100, r, c);

julia> var = DataFrame(index=1:r, C=rand(r), D=rand(r));

julia> prof = OmicsProfile(data, var, :index)
OmicsProfile (nvar = 100):
    var: index, C, D
    layers: count
Base.filterMethod
filter(col => func, p)

Returns a copy of profile p containing data from p for which func returns true.

Arguments

  • col: Column name to filter.
  • func: A predicate function which returns true/false.
  • p::AbstractProfile: A profile to filter on.

Examples

julia> using OmicsProfiles, DataFrames

julia> ngenes, ncells = (100, 500)
(100, 500)

julia> X = rand(0:10, ngenes, ncells);

julia> var = DataFrame(genesymbol=1:ngenes, A=rand(ngenes));

julia> prof = OmicsProfile(X, var, :genesymbol)
OmicsProfile (nvar = 100):
    var: genesymbol, A
    layers: count

julia> prof.varm[:a] = rand(ngenes, 50);

julia> prof2 = filter(:A => x -> x > 0.5, prof)
OmicsProfile (nvar = 46):
    var: genesymbol, A
    varm: a
    layers: count

julia> obs = DataFrame(barcode=1:ncells, B=rand(ncells));

julia> ap = AnnotatedProfile(prof, :RNA, obs, :barcode)
AnnotatedProfile (nobs = 500):
    obs: barcode, B
RNA => OmicsProfile (nvar = 100):
    var: genesymbol, A
    varm: a
    layers: count

julia> ap2 = filter(:B => x -> x > 0.5, ap)
AnnotatedProfile (nobs = 253):
    obs: barcode, B
RNA => OmicsProfile (nvar = 100):
    var: genesymbol, A
    varm: a
    layers: count
OmicsProfiles.ProfileMethod
Profile(countmat, omicsname, var, obs; varindex=:genesymbol, obsindex::Symbol=:barcode,
        T=float(eltype(countmat)))

Constructor for establishing AnnotatedProfile with a OmicsProfile inside.

Arguments

  • countmat: The count matrix for given omics and it will be set to key :count.
  • omicsname::Symbol: The name of given OmicsProfile.
  • var::DataFrame: The dataframe contains meta information for features or variables.
  • obs::DataFrame: The dataframe contains meta information for observations.
  • varindex::Symbol: The index of dataframe var.
  • obsindex::Symbol: The index of dataframe obs.
  • T: Element type of countmat.
OmicsProfiles.mmreadFunction
mmread(filename, retcoord=false)

Read the contents of the Matrix Market file filename into a matrix, which will be either sparse or dense, depending on the Matrix Market format indicated by coordinate (coordinate sparse storage), or array (dense array storage).

Arguments

  • filename::String: The file to read.
  • retcoord::Bool: If it is true, the rows, column and value vectors are returned along with the header information.
OmicsProfiles.mmwriteMethod
mmwrite(filename, matrix)

Write a sparse matrix to .mtx file format.

Arguments

  • filename::String: The file to write.
  • matrix::SparseMatrixCSC: The sparse matrix to write.
OmicsProfiles.readinfoMethod
readinfo(file)

Read header information on the size and structure from file. The actual data matrix is not parsed.

Arguments

  • file: The filename or io stream.