python中SeqIO模块处理fasta文件

 

001、分别输出染色体ID、序列和序列的长度

[root@PC1 test02]# ls
a.fa  test.py
[root@PC1 test02]# cat a.fa           ## 测试数据
>seq1
AGAAGGGG
>seq2
AAACCTTTT
>seq3
AAATTTCCGG
[root@PC1 test02]# cat test.py        ## 程序
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from Bio import SeqIO
for i in SeqIO.parse("a.fa", "fasta"):
        print(i.id)
        print(i.seq)
        print(len(i))

 

002、测试程序效果

[root@PC1 test02]# ls
a.fa  test.py
[root@PC1 test02]# cat a.fa           ## 测试程序
>seq1
AGAAGGGG
>seq2
AAACCTTTT
>seq3
AAATTTCCGG
[root@PC1 test02]# python3 test.py     ## 执行程序, 分别输出染色体ID、序列和序列的长度
seq1
AGAAGGGG
8
seq2
AAACCTTTT
9
seq3
AAATTTCCGG
10

。 

 

003、获取序列的总条数

[root@PC1 test02]# ls
a.fa  test.py
[root@PC1 test02]# cat a.fa          ## 测试文件
>seq1
AGAAGGGG
>seq2
AAACCTTTT
>seq3
AAATTTCCGG
[root@PC1 test02]# cat test.py       ## 程序
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from Bio import SeqIO
print(len(list(SeqIO.parse("a.fa", "fasta"))))
[root@PC1 test02]# python3 test.py    ## 执行程序
3

 

004、输出任意序列

[root@PC1 test02]# ls
a.fa  test.py
[root@PC1 test02]# cat a.fa           ## 测试数据
>seq1
AGAAGGGG
>seq2
AAACCTTTT
>seq3
AAATTTCCGG
[root@PC1 test02]# cat test.py        ## 程序
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from Bio import SeqIO
tmp = list(SeqIO.parse("a.fa", "fasta"))    ## 转换为列表
second = tmp[1]
print(second.id)
print(second.seq)
print(len(second))
[root@PC1 test02]# python3 test.py     ## 执行程序
seq2
AAACCTTTT
9

 

005、修改染色体的ID

[root@PC1 test02]# ls
a.fa  test.py
[root@PC1 test02]# cat a.fa         ## 测试文件
>seq1
AGAAGGGG
>seq2
AAACCTTTT
>seq3
AAATTTCCGG
[root@PC1 test02]# cat test.py       ## 测试程序
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from Bio import SeqIO
tmp = list(SeqIO.parse("a.fa", "fasta"))
second = tmp[1]
tmp[1].id = "test_xx"
print(tmp[1].id)
[root@PC1 test02]# python3 test.py     ## 执行程序
test_xx

 

reference:

https://mp.weixin.qq.com/s?__biz=MzAxNzQxMDAxMw==&mid=2247484106&idx=1&sn=ac99db694ed5ccf89f1be80dac62c562&chksm=9be4b078ac93396e8e55adf24f5de84062f393724f8f71dc8e0cb6e9b923e0f14640ef9b5da8&mpshare=1&scene=23&srcid=0817DYbu6vax0GezweKvNZuH&sharer_sharetime=1692203715389&sharer_shareid=50b75c6a886e09824b582fb782a7678b#rd

 

posted @ 2023-08-17 16:01  小鲨鱼2018  阅读(377)  评论(0编辑  收藏  举报