Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generalize Polarities #15

Closed
germannp opened this issue Dec 19, 2017 · 1 comment
Closed

Generalize Polarities #15

germannp opened this issue Dec 19, 2017 · 1 comment

Comments

@germannp
Copy link
Owner

Cells can have more than one polarity, e.g. epithelial cells have an apical-basal polarity and can also have planar cell polarity (PCP). We currently only support one polarity per cell, given by theta and phi.

One way to generalize our model is templating the functions in polarity.cuh:

template<typename Pt, float Pt::*theta = &Pt::theta, float Pt::*phi = &Pt::phi>
__device__ __host__ float pol_scalar_product(Pt a, Pt b)
{
    return sinf(a.*theta) * sinf(b.*theta) * cosf(a.*phi - b.*phi) +
           cosf(a.*theta) * cosf(b.*theta);
}

template<typename Pt, float Pt::*theta = &Pt::theta, float Pt::*phi = &Pt::phi>
__device__ __host__ Pt pcp_force(Pt Xi, Pt pj)
{
    Pt dF{0};
    auto prod = pol_scalar_product<Pt, theta, phi>(Xi, pj);
    dF.*theta =
        prod * (cosf(Xi.*theta) * sinf(pj.*theta) * cosf(Xi.*phi - pj.*phi) -
                   sinf(Xi.*theta) * cosf(pj.*theta));
    auto sin_Xi_theta = sinf(Xi.*theta);
    if (fabs(sin_Xi_theta) > 1e-10)
        dF.*phi =
            -prod * sinf(pj.*theta) * sinf(Xi.*phi - pj.*phi) / sin_Xi_theta;

    return dF;
}

...

However, PCP in epithelial cells is within the layer, so it would be better to come up with forces for cellular alignment in the plane orthogonal to the apical-basal polarities.

How many polarities do we actually need?

@germannp
Copy link
Owner Author

germannp commented Jan 12, 2018

We should rather speak about tissue polarity instead of PCP in the context of mesenchymal cells. If one is interested in PCP, i.e. the polarization of epithelial cells within the plane one should indeed come up with forces for alignment within the plane, see #14.

mmarinriera added a commit that referenced this issue Nov 3, 2020
Following the templating proposed in #15 , the methods used to modify cell polarity have been generalised, so they can be used independently on multiple sets of polarity vectors within the same cell. See relevant example: epithelia_double_polarity.cu
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant