ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python 中实现按照 fasta文件的scaffold进行排序

2022-08-15 18:33:47  阅读:154  来源: 互联网

标签:dict1 python scaffold PC1 test home fasta root


 

001、 方法1

root@PC1:/home/test# ls
a.fasta  test.py
root@PC1:/home/test# cat test.py                       ## 测试程序
#!/usr/bin/python
in_file = open("a.fasta", "r")
dict1 = dict()

for i in in_file:
    i = i.strip()
    if i[0] == ">":
        key = i
        dict1[key] = []
    else:
        dict1[key].append(i)
dict1 = dict(sorted(dict1.items(), key = lambda x: x[0]))
for i,j in dict1.items():
    print(i)
    for k in j:
        print(k)

in_file.close()
root@PC1:/home/test# cat a.fasta                          ## 测试fasta文件
>gene2 myc
AGCTGCCTAAGC
GGCATAGCTAATCG
>gene3 jun
ACCGAATCGGAGCGATG
GGCATTAAAGATCTAGCT
>gene1 malat1
AGGCTAGCGAG
GCGCGAG
GATTAGGCG
root@PC1:/home/test# python test.py                        ## 执行程序
>gene1 malat1
AGGCTAGCGAG
GCGCGAG
GATTAGGCG
>gene2 myc
AGCTGCCTAAGC
GGCATAGCTAATCG
>gene3 jun
ACCGAATCGGAGCGATG
GGCATTAAAGATCTAGCT

 

002、方法2

root@PC1:/home/test# ls
a.fasta  test.py
root@PC1:/home/test# cat test.py                              ## 测试程序
#!/usr/bin/python
in_file = open("a.fasta", "r")
dict1 = dict()

for i in in_file:
    i = i.strip()
    if i[0] == ">":
        key = i
        dict1[key] = []
    else:
        dict1[key].append(i)

for i in sorted(dict1):
    print(i)
    for k in dict1[i]:
        print(k)

in_file.close()
root@PC1:/home/test# cat a.fasta                                ## 测试fasta文件
>gene2 myc
AGCTGCCTAAGC
GGCATAGCTAATCG
>gene3 jun
ACCGAATCGGAGCGATG
GGCATTAAAGATCTAGCT
>gene1 malat1
AGGCTAGCGAG
GCGCGAG
GATTAGGCG
root@PC1:/home/test# python test.py                              ## 执行程序
>gene1 malat1
AGGCTAGCGAG
GCGCGAG
GATTAGGCG
>gene2 myc
AGCTGCCTAAGC
GGCATAGCTAATCG
>gene3 jun
ACCGAATCGGAGCGATG
GGCATTAAAGATCTAGCT

 

标签:dict1,python,scaffold,PC1,test,home,fasta,root
来源: https://www.cnblogs.com/liujiaxin2018/p/16589247.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有