public static Device buildDevice(string name,
float beta,//promoter
string formula,//promoter
float rbsFactor,//rbs
string proteinName,//gene
float terminatorFactor//terminator
) {
string nullName = (name==null)?"(null)":"";
Logger.Log("Device::buildDevice(name="+name+nullName
+", beta="+beta
+", formula='"+formula
+"', rbsFactor="+rbsFactor
+", proteinName="+proteinName
+", terminatorFactor="+terminatorFactor
+") starting...", Logger.Level.TRACE);
string notNullName = name;
if(notNullName==null) {
notNullName = "device"+_idCounter;
}
BioBrick[] bioBrickArray = {
new PromoterBrick(notNullName+"_promoter", beta, formula),
new RBSBrick(notNullName+"_rbs", rbsFactor),
new GeneBrick(notNullName+"_gene", proteinName),
new TerminatorBrick(notNullName+"_terminator", terminatorFactor)
};
LinkedList<BioBrick> bricks = new LinkedList<BioBrick>(bioBrickArray);
ExpressionModule[] modulesArray = { new ExpressionModule(notNullName+"_module", bricks) };
LinkedList<ExpressionModule> modules = new LinkedList<ExpressionModule>(modulesArray);
return Device.buildDevice(notNullName, modules);
}