小编Vin*_*ent的帖子

搜索字符串,允许在字符串的任何位置发生一次不匹配

我正在使用长度为25的DNA序列(参见下面的例子).我有一个230,000的清单,需要寻找整个基因组中的每个序列(弓形虫寄生虫).我不确定基因组有多大,但比230,000个序列长得多.

我需要查找每个25个字符的序列,例如,(AGCCTCCCATGATTGAACAGATCAT).

基因组被格式化为连续的字符串,即(CATGGGAGGCTTGCGGAGCCTGAGGGCGGAGCCTGAGGTGGGAGGCTTGCGGAGTGCGGAGCCTGAGCCTGAGGGCGGAGCCTGAGGTGGGAGGCTT ....)

我不关心它被发现的地点和次数,只关注它是否存在.
我认为这很简单 -

str.find(AGCCTCCCATGATTGAACAGATCAT)
Run Code Online (Sandbox Code Playgroud)

但我还要找到在任何位置定义为错误(不匹配)的近距离匹配,但只有一个位置,并记录序列中的位置.我不知道怎么做到这一点.我唯一能想到的是使用通配符并在每个位置使用通配符执行搜索.即,搜索25次.

例如,
AGCCTCCCATGATTGAACAGATCAT
AGCCTCCCATGATAGAACAGATCAT

与位置13处的不匹配密切匹配.

速度不是一个大问题,因为我只做了3次,但如果它很快就会很好.

有些程序可以执行此操作 - 查找匹配项和部分匹配项 - 但我正在寻找一种使用这些应用程序无法发现的部分匹配项.

这是perl的类似帖子,虽然它们只是比较序列而不是搜索连续的字符串:

相关文章

python string pattern-matching string-matching dna-sequence

23
推荐指数
3
解决办法
2万
查看次数

撤消或反转argsort(),python

给定一个数组'a'我想按列"sort(a,axis = 0)"对数组进行排序,然后对数组执行一些操作,然后撤消排序.通过这个我并不意味着重新排序,但基本上扭转每个元素的移动方式.我假设argsort()是我需要的但是我不清楚如何使用argsort()的结果对数组进行排序,或者更重要的是应用argsort()的反向/反向

这里有一些细节

我有一个数组a,shape(a)= rXc我需要对每列进行排序

aargsort = a.argsort(axis=0)  # May use this later
aSort = a.sort(axis=0)
Run Code Online (Sandbox Code Playgroud)

现在平均每一行

aSortRM = asort.mean(axis=1)
Run Code Online (Sandbox Code Playgroud)

现在用行均值替换行中的每个col.有没有比这更好的方法

aWithMeans = ones_like(a)
for ind in range(r)  # r = number of rows
    aWithMeans[ind]* aSortRM[ind]
Run Code Online (Sandbox Code Playgroud)

现在我需要撤消我在第一步中所做的排序.????

python arrays sorting numpy

20
推荐指数
4
解决办法
7717
查看次数

将大型列表保存在内存中的替代方法(python)

如果我在python中有一个列表(或数组,字典....)可能超过可用的内存地址空间,(32位python)有什么选项和相对速度?(除了没有列出那么大的列表)列表可能超出内存但我无法事先知道.一旦它开始超过75%我想不再将列表保留在内存中(或者无论如何都是新项目),有没有办法转换为基于文件的中途方法?

什么是最好的(速度进出)文件存储选项?

只需要存储一个简单的数字列表.无需随机第N个元素访问,只需追加/弹出类型操作.

python memory-management file list 32bit-64bit

12
推荐指数
3
解决办法
1万
查看次数

使用API​​和Python在Google表格电子表格中设置单元格格式

我正在使用gd_client.UpdateCell来更新谷歌电子表格中的值,我正在寻找一种方法来更新单元格的格式,即颜色,线条,文本化......

可以这样做吗?

有可用的示例或其他文档吗?

让我走的任何事都会很棒

python formatting google-spreadsheet-api google-api-python-client google-sheets-api

7
推荐指数
2
解决办法
7870
查看次数

大型python列表的内存需求

我做的很愚蠢

from itertools import *
rows = combinations(range(0, 1140), 17)
all_rows = []
for row in rows:
    all_rows.append(row)
Run Code Online (Sandbox Code Playgroud)

毫不奇怪我耗尽内存地址空间(32位python 3.1)我的问题是,我如何计算一个大型列表需要多少内存地址空间?在这种情况下,列表大约为2.3X10 ^ 37.我假设python中有一个函数返回我正在寻找的信息,或者实际上是一个较小但相似的列表的大小.那些工具是什么?

python memory-management 32bit-64bit

5
推荐指数
1
解决办法
6734
查看次数

CherryPy,从matplotlib加载图像,或者一般来说

我不确定我做错了什么,如果你能指出我要读的东西,那就太好了.我已经采取了第一个CherryPy教程"hello world"添加了一个小的matplotlib图.问题1:我如何知道文件的保存位置?它恰好是我运行文件的地方.问题2:我似乎没有在我的浏览器中打开/查看图像.当我在浏览器中查看源代码时,即使我包含完整的图像路径,一切看起来都正确但没有运气.我认为我的问题在于路径,但不确定发生了什么的机制

感谢文森特的帮助

import cherrypy
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt

class HelloWorld:

    def index(self):
        fig = plt.figure()
         ax = fig.add_subplot(111)
         ax.plot([1,2,3])
         fig.savefig('test.png')
        return ''' <img src="test.png" width="640" height="480" border="0" /> '''

    index.exposed = True

import os.path
tutconf = os.path.join(os.path.dirname(__file__), 'tutorial.conf')

if __name__ == '__main__':
    cherrypy.quickstart(HelloWorld(), config=tutconf)
else:
    cherrypy.tree.mount(HelloWorld(), config=tutconf)
Run Code Online (Sandbox Code Playgroud)

python matplotlib cherrypy

4
推荐指数
1
解决办法
1925
查看次数

删除html格式"&gt;" 使用Python csv.reader从文本文件中

我有一个文本文件; 用作分隔符.问题是它有一些html文本格式,如&gt;显然; 在这导致问题.文本文件很大,我没有这些html字符串的列表,也就是有许多不同的例子,如$amp;.如何使用python删除所有这些内容.该文件是名称,地址,电话号码和一些其他字段的列表.我正在寻找crap.html.remove(textfile)模块

html python regex csv file

3
推荐指数
1
解决办法
4516
查看次数

Beautifulsoup在表中获得价值

我试图刮 http://www.co.jefferson.co.us/ats/displaygeneral.do?sch=000104 并获得"所有者姓名"我的工作但是真的很难看而且不是最好的我确定,所以我正在寻找更好的方法.这是我有的:

soup = BeautifulSoup(url_opener.open(url))            
x = soup('table', text = re.compile("Owner Name"))
print 'And the owner is', x[0].parent.parent.parent.tr.nextSibling.nextSibling.next.next.next
Run Code Online (Sandbox Code Playgroud)

相关的HTML是

<td valign="top">
    <table border="1" cellpadding="1" cellspacing="0" align="right">
    <tbody><tr class="tableheaders">
    <td>Owner Name(s)</td>
    </tr>

    <tr>

    <td>PILCHER DONALD L                         </td>
    </tr>

    </tbody></table>
</td>
Run Code Online (Sandbox Code Playgroud)

哇,有很多关于beautifulsoup的问题,我看了看他们但找不到帮助我的答案,希望这不是一个重复的问题

python screen-scraping beautifulsoup html-content-extraction

1
推荐指数
1
解决办法
4235
查看次数

如何在 ngrok 中使用 iPython 笔记本

(也许最好询问超级用户?)如果我使用 ssh 隧道,iPython 可以正常工作。

使用 ngrok

iPython 笔记本加载我收到关于 mathjax 未加载的错误。

我可以将代码输入到单元格中,但是如果我尝试执行我没有得到任何结果,但内核似乎正在运行。基本上没有任何作用。我不知道我是否做错了什么,或者这是否行不通。

我开始像这样开始 ngrok

./ngrok -authtoken myauthtoken 5023
Run Code Online (Sandbox Code Playgroud)

和 ipython 笔记本一样

ipython notebook --no-browser --port=5023
Run Code Online (Sandbox Code Playgroud)

然后在https://mysubdomain.ngrok.com连接到 iPython 会话

python ipython mathjax ipython-notebook

0
推荐指数
1
解决办法
1681
查看次数