Я объясняю свою проблему.Я хочу вычислить масштабируемость алгоритма для моего набора данных (тысячи строк).Для этого я хочу установить подмножество этого набора данных и увеличить размер поднаборов в 500 строк (таким образом, 1-й набор на 500 строк, 2-й набор на 1000 строк, 3-й набор на 1500 строк ...).
Я буду использовать slurm ифункция SLURM_ARRAY_TASK_ID для этого.Это мой код R:
# load packages
library(SpiecEasi)
library(optparse)
args <- commandArgs(trailingOnly = F)
# get options
option_list = list(
make_option(c("-s", "--subset"), type="character", default=NULL,
help="Input file matrix ")
);
opt_parser = OptionParser(usage = "Usage: %prog -f [FILE]",option_list=option_list,
description= "Description:")
opt = parse_args(opt_parser)
# main code
print('Load matrice')
data<-read.table("/home/vipailler/PROJET_M2/raw/truelength2.prok2.uniref2.rares.tsv", h=T, row.names=1, sep="\t")
print('Subset matrice')
data=data[1:opt$subset,]
#print(data)
print('Translate')
data=t(data)
#print(data)
se_gl <- spiec.easi(data, method='glasso', lambda.min.ratio=1e-2, nlambda=20)
size=format(object.size(se_gl), units="Gb")
print(size)
######!!!!######
save(se_gl, file="/home/vipailler/PROJET_M2/data/se_gl.RData")
Моя проблема заключается в следующем: если я использую 5 массивов, для вычисления масштабируемости алгоритма spiec.easi (так, от 500 до 2500 строк), я бы хотелон создает 5 разных переменных se_gl.Я имею в виду, что моя последняя командная строка сохранит только последнюю переменную (2500rows) и перезапишет 4 другие.
Итак, как я могу создать 5 разных переменных из одной переменной se_gl?Я знаю, что с slurm этот код будет выполнен, например, 5 раз (если я настрою 5 массивов), но проблема в моей последней командной строке ...
Какая-то помощь?
Bests