Common function
ModMashup.rwr
— Function.rwr(A::Matrix, restart_prob = 0.5)
Random walk with restart.
Arguments
A
: Initial matrix for random walk.
restart_prob
: Restart probability. Default 0.5.
Outputs
Q::Matrix
: matrix after random walk.
ModMashup.pca
— Function.pca(A::Matrix, num::Int64=size(A,2))
Perform PCA for a matrix.
Arguments
A::Matrix
: matrix for PCA
keywords
num::Int64=size(A,2)
: Number of diensions selected.
Output
pca vector and pca value
eigenvalue::Vector
: as name suggested. eigenvector::Matrix
: columns represent eigen vector.
Example
julia> a = rand(5,5)
5×5 Array{Float64,2}:
0.149599 0.318179 0.235567 0.779247 0.276985
0.175398 0.109825 0.532561 0.723127 0.621328
0.68087 0.639779 0.754652 0.781525 0.264776
0.77962 0.446314 0.805693 0.88001 0.655808
0.19243 0.43587 0.945708 0.109192 0.196602
julia> pca_value, pca_vector = pca(a)
([2.77556e-17,0.000524192,0.0396649,0.113626,0.128647],
[0.483429 0.397074 … -0.376334 -0.679859; -0.738733 0.15917 … -0.379275 -0.170866; … ;
-0.0942359 -0.593824 … 0.444543 -0.643074; -0.457645 0.345674 … 0.1949 -0.306201])
ModMashup.build_index
— Method.build_index(index_file::String)
Get two dictionary, one map patients name to its id, another map patient id to its name.
Arguments
index_file::String
:
Outputs
patients_index::Dict{String, Int}
: map patientd name to its internal id.
inverse_index::Dict{Int, String}
: map patientd internal id to its name.
Example
# get example data directory
example_data_dir = joinpath(Pkg.dir("ModMashup"), "test/data")
# Id file contains all the name of patients.
id = joinpath(example_data_dir,"ids.txt")
# Build the index
patients_index, inverse_index = build_index(id)
ModMashup.parse_target
— Method.parse_target(target::Matrix,
patients_index::Dict{String, Int})
Get a vector of annotation for patients. (+1 for interested, -1 for others)
Inputs
target::Matrix
: colume one is patient name, colume two is patient label.
patients_index::Dict{String, Int}
: map patientd name to its internal id.
Outputs
id_label::Matrix
: colume one is patient id, colume two is patient label.
Example
# get example data directory
example_data_dir = joinpath(Pkg.dir("ModMashup"), "test/data")
# Id file contains all the name of patients.
id = joinpath(example_data_dir,"ids.txt")
# Build the patient index
patients_index, inverse_index = build_index(id)
# target_file should be a flat file contains disaese for patient
target_file = joinpath(example_data_dir,"target.txt")
# Build the annotation for each patients
annotation = parse_target(readdlm(target_file), patients_index)
ModMashup.parse_query
— Method.parse_query(query_file, patients_index)
Get query patient id from the query file.
Inputs
query_file::String
: query filename whose format same with GeneMANIA query.
patients_index::Dict{String, Int}
: map patientd name to its internal id.
Outputs
query_id::Vector
: query patient id.
Example
# get example data directory
example_data_dir = joinpath(Pkg.dir("ModMashup"), "test/data")
# Id file contains all the name of patients.
id = joinpath(example_data_dir,"ids.txt")
# Build the patient index
patients_index, inverse_index = build_index(id)
# Query file using the same format with genemania query
query = joinpath(example_data_dir,"query.txt")
# Build the annotation for each patients
query = parse_query(query, patients_index)
ModMashup.load_net
— Method.load_net(filename::String,
database::Database)
Load similairity network from a flat file. Format patient_name patient_name simialirty_score
. Use databse to map patient_name to internal id.
Inputs
filename::String
: similairty network filename.
database::Database
: store general information.
Outputs
A::Matrix
: similairty network as a matrix.
ModMashup.searchdir
— Method.searchdir(path,key)
Inputs
path::String
: directory we want to search
key::String
: keyword that the file we seached contains.
Outputs
a list of files whose name contains the keyword provided.
Input
: directory we want to search and the keyword.Output
: a list of files whose name contains the keyword provided.
ModMashup.get_combined_network
— Function.get_combined_network(model::IgAbstractParams)
Get combined network from network integration model.
Input
Network integration model after perfrom network_integration!
.
Output
Combined network.
ModMashup.get_weights
— Function.get_weights(model::IgAbstractParams)
Get a dictionalry to map network name to its network weights from network integration model.
Input
Network integration model after perfrom network_integration!
.
Output
a dictionalry to map network name to its network weights.
ModMashup.get_score
— Function.get_score(model::LabelPropagation)
Arguments
model::LabelPropagation
: Label propagation model.
Outputs
score::Dict{String, Float64}
: A dictionary maps patients' name to their score.
Pick up score from model after label propagation.