我有文本文件(seq.fasta),其中包含如下序列
M1
MPMILGYWNVRGLTHPIRMLLEYTDSSYDEKRYTMGDAPDFDRSQWLNEKFKLGLDFPNL
PYLIDGSHKITQSNAILRYLARKHHLDGETEEERIRADIVENQVMDTRMQLIMLCYNPDF
EKQKPEFLKTIPEKMKLYSEFLGKRPWFAGDKVTYVDFLAYDILDQYRMFEPKCLDAFPN
LRDFLARFEGLKKISAYMKSSRYIATPIFSKMAHWSNK
Run Code Online (Sandbox Code Playgroud)
我必须提取主题PXXP正好4个字符(XX可以是任何字符).
我试过以下代码:
import re
infile=open("seq.fasta",'r')
out=open("out.csv",'w')
for line in infile:
line = line.strip("\n")
if line.startswith('>'):
name=line
else:
motif = re.compile(r"(\bP{2}P\b)")
c = line.count('motif')
print '%s:%s' %(name,c)
out.write('%s:%s\n' %(name,c))
Run Code Online (Sandbox Code Playgroud)
但它找不到主题.
最近在stackoverflow的帮助下,我开始知道如何使用python匹配文本文件现在我面临着一些相同代码的小问题...它执行以下任务
输入程序是两个文本文件文件1
C1orf159
FAM79A
IGFBP2
RNF25
.
.
.
.
Run Code Online (Sandbox Code Playgroud)
档案2
ACVR2B
CACNA1A
RNF25
IGF2
.
.
.
Run Code Online (Sandbox Code Playgroud)
我写了一个python脚本来提取这两个文件之间的常用词,如下所示
file1=open("f1.txt","r")
file2=open("f2.txt","r")
file3=open("overlap.txt","w")
list1=file1.readlines()
list2=file2.readlines()
for line1 in list1:
for line2 in list2:
if line1.strip() in line2.strip():
print line2
file3.write(line2)
Run Code Online (Sandbox Code Playgroud)
这给出了如下结果
RNF25
IGF2
.
.
.
Run Code Online (Sandbox Code Playgroud)
但是在这个输出中存在一个问题第二个词IGF2在file1中不存在...脚本正在将文件1中的IGFBP2与IFG2匹配.意味着它正在寻找模式......我不想要这个我想要两个文件之间的完全匹配. .
任何人都可以帮助修改我的脚本以获得两个文件之间的完全匹配...
谢谢你
我有2列数据,数值如下,是制表符分隔格式:
Si1 Si2
8,99691 7,495936
7,7164173 8,092645
4,4428697 4,298263
7,4302206 7,189521
5,897344 5,316047
.
.
.
Run Code Online (Sandbox Code Playgroud)
为了计算这些之间的相关性,我写了R代码如下:
int<-read.table("data.txt",sep="\t",head=TRUE)
attach(int)
cor(int$Si1,int$Si2)
Run Code Online (Sandbox Code Playgroud)
但它显示错误如下:
Error in cor(int$Si1,int$Si2) : 'x' must be numeric
Run Code Online (Sandbox Code Playgroud)
谁能告诉我怎么解决这个问题?