我有个小问题:
我实际上有一个fasta文件,比如:
g1.t1_0035_0042
ATTAGGAGGAA
g2.t1_0042_0042
ATTAGGAGA
g3.t1_0042_0035
ATTGGAAT
etc
我想说的只是得到身份证名字的第一部分,我用了:
for record in SeqIO.parse(sp1_aa_corrected, 'fasta'):
print(record.id[record.id.index("_")::-1])
但我得到:
t.1g
t.2g
t.2g
我想得到:
g1.t1
g2.t1
g3.t1
没有_number_number
谢谢你的帮助
另一个问题: 如果我有这样一个数据帧:
gene_name scaf_name scaf_length cov_depth GC
g3.t1 scaffold 6 56786 79 0.39
g4.t1 scaffold 6 56786 79 0.39
g1.t1 scaffold 256 789765 86 0.42
g2.t1 scaffold 890 3456 85 0.40
g5.t1 scaffold 1234 590 90 0.41
如果我只想提取对应于基因名称“g2.t1”的原始数据,并创建一个新的数据帧,例如:
gene_name scaf_name scaf_length cov_depth GC
g2.t1 scaffold 890 3456 85 0.40
我怎么能做到
使用
str.split
按特定字符拆分。在这种情况下,还可以指定maxsplit=1
。因为它返回一个列表,所以需要索引第一个元素要过滤数据帧,只需使用:
相关问题 更多 >
编程相关推荐