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 @   小鲨鱼2018  阅读(457)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2022-08-17 python 中统计 一段序列中ATCG的次数
2022-08-17 python 字符串中常见的内置函数
2022-08-17 python 中根据RNA序列输出密码子编码的氨基酸序列
2022-08-17 python 中os包的常见操作
2022-08-17 linux 中awk命令跳出外层循环
2022-08-17 linux 中sed命令 n和N的区别
2022-08-17 linux 中sed命令 P和p的区别
点击右上角即可分享
微信分享提示