本文整理汇总了C++中CellPtr::GetCellCycleModel方法的典型用法代码示例。如果您正苦于以下问题:C++ CellPtr::GetCellCycleModel方法的具体用法?C++ CellPtr::GetCellCycleModel怎么用?C++ CellPtr::GetCellCycleModel使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CellPtr
的用法示例。
在下文中一共展示了CellPtr::GetCellCycleModel方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: assert
void CellBetaCateninWriter<ELEMENT_DIM, SPACE_DIM>::VisitCell(CellPtr pCell, AbstractCellPopulation<ELEMENT_DIM, SPACE_DIM>* pCellPopulation)
{
assert(SPACE_DIM == 2);
unsigned global_index = pCellPopulation->GetLocationIndexUsingCell(pCell);
double x = pCellPopulation->GetLocationOfCellCentre(pCell)[0];
double y = pCellPopulation->GetLocationOfCellCentre(pCell)[1];
AbstractVanLeeuwen2009WntSwatCellCycleModel* p_model = dynamic_cast<AbstractVanLeeuwen2009WntSwatCellCycleModel*>(pCell->GetCellCycleModel());
double b_cat_membrane = p_model->GetMembraneBoundBetaCateninLevel();
double b_cat_cytoplasm = p_model->GetCytoplasmicBetaCateninLevel();
double b_cat_nuclear = p_model->GetNuclearBetaCateninLevel();
*this->mpOutStream << global_index << " " << x << " " << y << " " << b_cat_membrane << " " << b_cat_cytoplasm << " " << b_cat_nuclear << " ";
}
示例2:
double CellProliferativePhasesWriter<ELEMENT_DIM, SPACE_DIM>::GetCellDataForVtkOutput(CellPtr pCell, AbstractCellPopulation<ELEMENT_DIM, SPACE_DIM>* pCellPopulation)
{
double phase = pCell->GetCellCycleModel()->GetCurrentCellCyclePhase();
return phase;
}
示例3: EXCEPTION
void CellCycleModelProteinConcentrationsWriter<ELEMENT_DIM, SPACE_DIM>::VisitCell(CellPtr pCell, AbstractCellPopulation<ELEMENT_DIM, SPACE_DIM>* pCellPopulation)
{
AbstractOdeBasedCellCycleModel* p_model = dynamic_cast<AbstractOdeBasedCellCycleModel*>(pCell->GetCellCycleModel());
if (p_model)
{
// Write location index corresponding to cell
*this->mpOutStream << pCellPopulation->GetLocationIndexUsingCell(pCell) << " ";
// Write cell variables
std::vector<double> proteins = p_model->GetProteinConcentrations();
for (unsigned i=0; i<proteins.size(); i++)
{
*this->mpOutStream << proteins[i] << " ";
}
}
else
{
EXCEPTION("CellCycleModelProteinConcentrationsWriter cannot be used with a cell-cycle model that does not inherit from AbstractOdeBasedCellCycleModel");
}
}
示例4: SetReadyToDivide
void SetReadyToDivide(CellPtr pCell, bool Ready){
AbstractCellCycleModel* model = pCell->GetCellCycleModel();
dynamic_cast<StatechartCellCycleModelSerializable*>(model)->SetReadyToDivide(Ready);
};
示例5: SetCellCyclePhase
//Setters for cell cycle model
void SetCellCyclePhase(CellPtr pCell, CellCyclePhase_ phase){
AbstractCellCycleModel* model = pCell->GetCellCycleModel();
dynamic_cast<StatechartCellCycleModelSerializable*>(model)->SetCellCyclePhase(phase);
}
示例6: GetG2Duration
double GetG2Duration(CellPtr pCell){
return pCell->GetCellCycleModel()->GetG2Duration();
};
示例7:
void FoodDifferentialByLabelAreaModifier<DIM>::UpdateTargetAreaOfCell(
CellPtr pCell) {
// Get target area A of a healthy cell in S, G2 or M phase
double cell_target_area = this->mReferenceTargetArea;
//std::cout<<GetCellularFood()<<std::endl;
if (!pCell->ReadyToDivide()) {
if (pCell->HasCellProperty<ApoptoticCellProperty>()) {
//std::cout<<"apoptotic!!"<<std::endl;
cell_target_area = cell_target_area - 0.001 * cell_target_area;
// Don't allow a negative target area
if (cell_target_area < 0) {
cell_target_area = 0;
}
} else {
if (pCell->template HasCellProperty<CellLabel>()) {
double cell_age = pCell->GetAge();
double growth_start_time = 5;
AbstractCellCycleModel* p_model = pCell->GetCellCycleModel();
if (cell_age > growth_start_time) {
if (GetCellularFood() > 1
&& cell_target_area <= 2 * cAreaIdeal) {
double g2_duration = p_model->GetG2Duration();
cell_target_area *=
(1
+ (cell_age - growth_start_time)
/ (g2_duration * 2));
DecreaseCellularFood();
DecreaseCellularFood();
if (pCell->template HasCellProperty<ApoptoticCellProperty>()) {
pCell->template RemoveCellProperty<ApoptoticCellProperty>();
}
} else {
MAKE_PTR(ApoptoticCellProperty, apoptotic);
pCell->AddCellProperty(apoptotic);
}
}
} else {
double cell_age = pCell->GetAge();
double growth_start_time = 7;
AbstractCellCycleModel* p_model = pCell->GetCellCycleModel();
//std::cout<<"edad: "<< cell_age <<" "<< growth_start_time<<std::endl;
// The target area of a proliferating cell increases linearly from A to 2A over the course of the G2 phase
if (cell_age > growth_start_time
&& cell_target_area <= 2 * cAreaIdeal && pCell->GetCellData()->GetItem("Fitness") > 0) {
double g2_duration = p_model->GetG2Duration();
cell_target_area *= (1
+ ((cell_age-growth_start_time) * pCell->GetCellData()->GetItem("Fitness")
/ (g2_duration * 1)));
}
IncreaseCellularFood();
}
}
}
if (cell_target_area > 2.2){
cell_target_area = 2.2;
}
// Set cell data
pCell->GetCellData()->SetItem("target area", cell_target_area);
}