При работе с хорошо аннотированными видами я могу напрямую вызвать MSGFplus и запустить его на чистом файле fasta без каких-либо проблем с памятью. Однако из-за плохой аннотации белка для вида, над которым я работаю, мне нужно использовать большой файл fasta (> 150000 последовательностей белка). Я разделил этот пост на 20 отдельных постов и пытаюсь выяснить, как написать цикл над исходным кодом.
У меня нет большого опыта в написании кода. На данный момент, для небольших фаст-фудов, я просто вручную запускаю их по отдельности, а затем объединяю результаты в конце в один большой идентификационный файл.
library(MSGFplus)
parameters1=msgfPar(database="uniprot-proteome_8X_1.fasta",
tolerance=c(low="3 ppm", high="50 ppm"),
fragmentation="HCD",
instrument=2,
tda=TRUE,
enzyme="Trypsin",
ntt=2,
protocol=0,
matches=2
ZF_test_script=runMSGF(parameters1,c("File_1.mzML","File_2.mzML"), savenames=c("File_1a.mzid","File_2a.mzid"), import=FALSE,memory=4096)
То, что я надеюсь сделать, это написать цикл, который проходит через код для каждого отдельного образца, выводит результат в формате файла mzid, а затем возвращается назад, чтобы запустить следующую запись в списке, вв этом случае «uniprot-proteome_8X_2.fasta» до тех пор, пока все посты и образцы не будут завершены. Это вообще возможно? Любая помощь будет принята с благодарностью !!