走进单细胞10X genomics

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了走进单细胞10X genomics相关的知识,希望对你有一定的参考价值。

参考技术A 了解什么是UMI,什么是barcode,再做分析之前,知道他们是在测序中引入,了解为什么引入即可。

每一列孔对应一个样本
1:放样本序列
2:放预制微珠(gel beads)
3:放油的(油包裹)
最上面:是在做好乳浊液后,回收乳浊液的孔

它可以做两个事情:

解决问题:搞清楚数量较大的一群细胞,比如说几千个细胞当中每个细胞的mRNA表达分别有什么特征以及这些细胞按mRNA的表达特征来分,大致可以分成哪几类。

每个凝胶微珠上,种上特定的DNA片段,分为几段DNA序列

可以这样理解:barcode是每个凝胶微珠的身份证号码;UMI是每个DNA标签分子的身份证号码

细胞混悬液(第一个十字的箭头进入的就是细胞液)在第一个十字交叉口,与凝胶微珠(原始的离心管的就是凝胶微珠)混合到一起,然后进入第二个十字交叉口,油相在这个十字交叉口加入进来,油把凝胶微珠和细胞混悬液包裹成一个又一个的油包水的小液滴。这样,小液滴里面是水相,外面是油相。

白色圈圈就是细胞,其他颜色的就是微珠。有的小液滴包含细胞,有的包含两个细胞(最下面的绿色凝珠),大部分的细胞会被分配到一个小液滴当中。细胞混悬液中约65%的细胞,会被包到有微珠的小液滴当中

也就是和逆转录酶、结合在凝胶微珠上的核酸引物、dNTP底物相接触,接着发送逆转录反应,mRNA与凝胶微珠上带标签的DNA分子相结合,逆转录酶作用下,逆转录出cDNA来。

还会携带各自特定的UMI标签
有barcode和UMI序列:可以把这个cDNA分子就与其他的cDNA分子区分开。

这种情况下,这几个细胞的reads就混合成了一个pool,为减少pool形成,在做细胞混悬液的时候,就要控制原始的细胞数,经验值是:一个样本的细胞混悬液中细胞数控制在1W以下为好。

原始reads越多,则被测到的基因数也会越多。

也就是被读到的基因数量的增加进入平台期。

以上是对10X genomics系统对单细胞 RNA表达量分子工作的一个简要介绍

10x Genomics平台介绍: http://www.berrygenomics.com/tech-services/10x-genomics-e5-b9-b3-e5-8f-b0-2/10x-genomics-e5-b9-b3-e5-8f-b0/

linux命令的复习视频:
linux视频: http://www.iqiyi.com/w_19rudlo7vt.html?pltfm=11&pos=title&flashvars=videoIsFromQidan%3Ditemviewclk_a#vfrm=5-6-0-1&vfrm=pcw_home&vfrmblk=A&vfrmrst=712211_history_button

细胞 (cell) 矩阵快速幂

细胞 (cell)

题目描述
小 X 在上完生物课后对细胞的分裂产生了浓厚的兴趣。于是他决定做实验并
观察细胞分裂的规律。
他选取了一种特别的细胞,每天每个该细胞可以分裂出 x 1 个新的细胞。
小 X 决定第 i 天向培养皿中加入 i 个细胞(在实验开始前培养皿中无细胞)。
现在他想知道第 n 天培养皿中总共会有多少个细胞。
由于细胞总数可能很多,你只要告诉他总数对 w 取模的值即可。
输入格式
第一行三个正整数 n; x; w。
输出格式
一行一个数表示第 n 天的细胞总数对 w 取模的值。
样例输入
2 2 47
样例输出
4
2
数据范围
对于 30% 的数据,n ≤10^7
对于另外 10% 的数据,x = 1
对于 100% 的数据,1≤n≤2^63-1    1≤x,w≤2^31-1

1.2 30 分做法
直接使用上述公式暴力递推,复杂度 O(n) 。
1.3 40 分做法
对于 x = 1 的情况,即为求 1 n 的和,直接输出即可。
1.4 100 分做法
使用矩阵快速幂优化递推。
矩阵大小为 3 *3 ,故复杂度为 O(27logn) 。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
using namespace std;
typedef long long lol;
lol n,x,w;
lol gi()
{
    lol ans=0,f=1;
    char i=getchar();
    while(i<0||i>9){if(i==-)f=-1;i=getchar();}
    while(i>=0&&i<=9){ans=ans*10+i-0;i=getchar();}
    return ans*f;
}
struct matrix
{
    lol a[3][3];
    matrix(){for(int i=0;i<3;i++)for(int j=0;j<3;j++)a[i][j]=0;}
    matrix(lol b[3][3]){for(int i=0;i<3;i++)for(int j=0;j<3;j++)a[i][j]=b[i][j];}
    matrix operator *(matrix b)
    {
        matrix ans;
        for(int i=0;i<3;i++)
            for(int j=0;j<3;j++)
                for(int k=0;k<3;k++)ans.a[i][j]=(ans.a[i][j]+(a[i][k]*b.a[k][j])%w)%w;
        return ans;
    }
}S,T;
lol f(lol x,lol n)
{
    lol a[3][3]={{0,1,1},{0,0,0},{0,0,0}},b[3][3]={{x,0,0},{1,1,0},{0,1,1}};
    S=matrix(a);T=matrix(b);
    while(n)
    {
        if(n&1)
        {
            S=S*T;
        }
        T=T*T;
        n>>=1;
    }
    return S.a[0][0];
}
int main()
{
    int i,j;
    n=gi();x=gi();w=gi();
    x%=w;
    printf("%lld",f(x,n));
    return 0;
}

 

以上是关于走进单细胞10X genomics的主要内容,如果未能解决你的问题,请参考以下文章

易基因|单细胞转录组测序:Smart-seq2和10X Genomics Chromium怎么选?

10X Genomics单细胞转录组测序

WebGL进阶——走进图形噪声

带你走进WebGL的随机美学

2021-04-16关于10×genomics单细胞检测原理

10X单细胞(10X空间转录组)多样本批次效应去除分析之RCA2