Je construis un pipeline spécialisé, et fondamentalement, chaque étape du pipeline implique de prendre un fichier en entrée et de créer un fichier différent en sortie. Tous les fichiers ne se trouvent pas dans le même répertoire, tous les fichiers de sortie ont un format différent et, comme j'utilise plusieurs programmes différents, des actions différentes doivent être prises pour apaiser les différents programmes.Bonne façon de gérer de nombreux fichiers différents?
Cela a conduit à une gestion de fichiers compliquée dans mon code, et plus j'essaie d'organiser les répertoires de fichiers, plus il devient moche. À peu près toutes les classes implique une sorte de code comme le suivant:
@fileName = File.basename(file)
@dataPath = "#{$path}/../data/"
MzmlToOther.new("mgf", "#{@dataPath}/spectra/#{@fileName}.mzML", 1, false).convert
system("wine readw.exe --mzXML #{@file}.raw #{$path}../data/spectra/#{File.basename(@file + ".raw", ".raw")}.mzXML 2>/dev/null")
fileName = "#{$path}../data/" + parts[0] + parts[1][6..parts[1].length-1].chomp(".pep.xml")
Y at-il une sorte de modèle de conception, ou bijou rubis, ou quelque chose à nettoyer ça? J'aime écrire du code propre, alors ça commence vraiment à me déranger.
S'il n'y a pas de gemme rubis, vous pouvez toujours en créer un. – Adrian
Vous pouvez également demander cela dans [BioStar] (http://biostar.stackexchange.com/), qui est un site Q and A bioinformatique spécifique. –