赞
踩
s1 = '>gi|2765656|emb|Z78531.1|CFZ78531 C.fasciculatum 5.8S rRNA gene and ITS1 and ITS2 DNA'
info1 = s1.split(' ') #把字符串分割为列表
species = info1[1] #抓取元素
info2 = info1[0].split('|') #将抓取的元素再以竖线分隔
gene_id = info2[3] #抓取元素
print(species) #打印
print(gene_id)
import re #导入Python re模块
s1= '>gi|2765656|emb|Z78531.1|CFZ78531 C.fasciculatum 5.8S rRNA gene and ITS1 and ITS2 DNA'
re.split('\s|\|',s1) #将s1以空格或者竖线分隔
info = re.split('\s|\|',s1)
gene_id = info[3]
species = info[5]
p = '187-3276-8989' #数据统一化
re.sub('-|\s','',p) #替换
re.sub('\D','',p) #\D非数字
s = 'www.genek.cn'
re.search('w{3}.\w+.(com|cn|tv|org)',s) # 有返回即是正确的
m=re.search('w{3}.\w+.(com|cn|tv|org)',s)
if m: #条件判断打印
print('it is match!')
else:
print('It is not match')
m.start() #匹配起始
m.end() #匹配末端位置
m.span() #匹配起始与末端位置
m.group() #匹配元素
s1 = '>gi|2765656|emb|Z78531.1|CFZ78531 C.fasciculatum 5.8S rRNA gene and ITS1 and ITS2 DNA'
s2 = '>gi|2765658|emb|Z78533.1|CIZ78533 C.irapeanum 5.8S rRNA gene and ITS1 and ITS2 DNA'
s3 = '>gi|2765657|emb|Z78532.1|CCZ78532 C.californicum 5.8S rRNA gene and ITS1 and ITS2 DNA'
re.search('>gi\|\d+\|emb\|\S+\|\S+\s+\S+\s',s1) #通过自己需求来分隔有规律的元素
m1 = re.search('>gi\|\d+\|emb\|(\S+)\|\S+\s+(\S+)\s',s1) #其中括号很妙,用括号分组
m1.group()
gene_id = m1.group(1)
species = m1.group(2)
print(gene_id,species)
^ | 匹配字符串的开头 |
---|---|
. | 匹配任意字符除了换行符 |
x\ | y |
[xyz] | ‘x’或’y’或’z’ |
[^xyz] | 除了’x’或’y’或’z’ ,以外的字符 |
N* | 匹配0个或多个‘N’ |
N+ | 匹配一个或多个‘N’ |
N? | 非贪婪方式 |
N{2} | 匹配两个‘N’ |
N{3,8} | 匹配3到8个‘N’ |
\w | 匹配数字字母下划线 |
\W | 匹配非数字字母下划线 |
\s | 匹配任意空白字符,等价于[\t \n \r \f] |
\S | 匹配任意非空字符 |
\d | 匹配任意数字,等价于[0-9] |
\D | 匹配任意非数字 |
\n,\t,等 | 匹配一个换行符。匹配一个制表符,等 |
s = '''CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGGAATAAACGATCGAGTG
AATCCGGAGGACCGGTGTACTCAGCTCACCGGGGGCATTGCTCCCGTGGTGACCCTGATTTGTTGTTGGG
GTGACCCCAGGTCAGGCGGGGGCACCCGCTGAGTTTACGC''' #长序列一般都要用三引号
m = re.search('C[ATC]G',s)
m.group() #只能查找一个
re.finditer('C[ATC]G',s) #此函数能全部查找出来,然后用for循环打印出来。
for m in re.finditer('C[ATC]G',s):
print(m.span(),m.group())
n = 7
total_len = 123789
mean_len = 123.456789
gc_content = 0.45
longest_id ='chr3'
longest_len = 345
print('序列条数:',n)
print('序列条数:' +str(n))
print('序列条数:{}'.format(n))
print('平均长度:{:.2f}'.format(mean_len))
print('GC含量: {:.2%}'.format(gc_content))
print('最长染色体:{: s},它的长度为 {:d}'.format(longest_id,longest_len))
print('{:10s}:{:10d}'.format('序列条数',n))
print('{:10s}:{:10.2f}'.format('平均长度',mean_len))
print('{:10s}:{:10.2%}'.format('GC含量',gc_content))
print('{0:10s}:{2:>10s}:{1:10s}:{3:10d}'.format('最长染色体','它的长度为',longest_id,longest_len))
#字符串默认左对齐,数字默认右对齐。{2:>10s}大于号右对齐
%
format
Fstring
数字 | 格式 | 输出 | 描述 |
---|---|---|---|
‘total len’ | { : s} | total len | 字符串 |
3.1415926 | {:.2f} | 3.14 | 保留小数点后两位 |
3.1415926 | {:+.2f} | +3.14 | 带符号保留小数点后两位 |
-1 | {:+.2f} | -1.00 | 带符号保留小数点后两位 |
2.71828 | {:.0f} | 3 | 不带小数 |
5 | {:0>2d} | 05 | 数字补零 (填充左边, 宽度为2) |
5 | {:x<4d} | 5xxx | 数字补x (填充右边, 宽度为4) |
10 | {:x<4d} | 10xx | 数字补x (填充右边, 宽度为4) |
13 | {:>10d} | 13 | 右对齐 (默认, 宽度为10) |
13 | {:<10d} | 13 | 左对齐 (宽度为10) |
13 | {:^10d} | 13 | 中间对齐 (宽度为10) |
1000000 | {:,} | 1,000,000 | 以逗号分隔的数字格式 |
0.25 | {:.2%} | 25.00% | 百分比格式 |
1000000000 | {:.2e} | 1.00e+09 | 指数记法 |
周末自己也有点小乏,没有之前那么有精神,不过能保持写作就是很棒的,早上列了一大堆任务到头来也只完成了两三件,事情的完成效率还是有点低喔,跑了四百个样的pcr,然后再把四百分样,跑琼脂糖,看着挺简单的活也给我整了三四个小时,笑哭
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。