启动子基频矩阵python

时间:2017-05-31 18:22:13

标签: python arrays numpy matrix

所以我试着写一个程序,根据它的位置给我一个特定基础的频率。 例如 : ACTGCTGATCGTAGC GTAGCTAGCTAGCTA 对于这些,在seq [0]中,A = 1,因为在第一列中,A只出现一次。 如果你愿意的话,这是" sketch"或未完成的程序。

<nav class="navbar navbar-fixed-top">
<div class=container>
    <div class=navbar-header>
        <button aria-expanded=false class="collapsed navbar-toggle" data-target=#nav-collapse data-toggle=collapse type=button><span class=sr-only>Toggle navigation</span> <span class=icon-bar></span> <span class=icon-bar></span> <span class=icon-bar></span></button>
    </div>
    <div class="collapse navbar-collapse" id=nav-collapse>
        <ul class="nav navbar-nav navbar-right">
            <li class=active><a href=#intro data-scroll>Home</a>
                <li><a href=#features-3 data-scroll>Marine</a>
                    <li><a href=#features-4 data-scroll>Industrial</a>
                        <li><a href=#contact data-scroll>Contact</a>
                            <li><a href="https://www.example.com" data-target>Careers</a></ul>

    </div>
</div>

正如您所看到的,由于特定问题,我显然没有完成它。我想附加到空集,但我一直得到错误&#34; ValueError:除了连接轴之外的所有输入数组维度必须完全匹配&#34;当我把它的一部分放在一个壳里。所以我想知道如何将4 * 1矩阵附加到空集。我的想法是,每次我这样做,我都会将基数设置回0并继续追加相应的列。 感谢。

1 个答案:

答案 0 :(得分:0)

如果你的序列大小相同: 例如:

['atatatg', 
 'atgcatg',
 'acggtaa', 
 'tagcgta']

你可以这样做:

LoS=['atatatg', 'atgcatg','acggtaa', 'tagcgta']
a=[]
t=[]
g=[]
c=[]
for j in range(len(LoS[0])):
    a.append([i[j] for i in LoS].count('a'))
    t.append([i[j] for i in LoS].count('t'))
    g.append([i[j] for i in LoS].count('g'))
    c.append([i[j] for i in LoS].count('c'))

print "a", a
print "t", t
print "g", g
print "c", c

会给你:

a [3, 1, 1, 0, 2, 1, 2]
t [1, 2, 0, 1, 1, 3, 0]
g [0, 0, 3, 1, 1, 0, 2]
c [0, 1, 0, 2, 0, 0, 0]

你在所有序列的第一个位置有3次'a'等等......