首页 > 编程语言 >python 中序列ID从fasta文件中批量提取序列数据

python 中序列ID从fasta文件中批量提取序列数据

时间:2023-10-13 20:45:37浏览次数:41  
标签:test1 dict1 python pc1 ## 序列 fasta root

 

001、

[root@pc1 test1]# ls
a.fa  chr.list  test.py
[root@pc1 test1]# cat a.fa               ##  测试fasta文件
>chr1
tttcccggg
>chr2
tttggg
ccc
>chr3
cccttt
>chr4
aaaaattt
[root@pc1 test1]# cat chr.list            ## 序列ID
chr2
chr4

 

[root@pc1 test1]# cat test.py           ## 提取程序
#!/usr/bin/env python3
# -*- coding utf-8 -*-

in_file = open("a.fa", "r")
dict1 = {}

for i in in_file:
        i = i.strip()
        if i[0] == ">":
                tmp = i
                dict1[tmp] = ""
        else:
                dict1[tmp] += i
in_file.close()

in_file2 = open("chr.list", "r")
for i in in_file2:
        i = ">" + i.strip()
        if i in dict1:
                print(i)
                j = dict1[i]
                while len(j) >= 5:        ## 指定每行输出5个碱基
                        print(j[:5])
                        j = j[5:]
                if len(j) != 0:
                        print(j)
in_file2.close()

 

[root@pc1 test1]# python3 test.py         ## 提取结果
>chr2
tttgg
gccc
>chr4
aaaaa
ttt

 

标签:test1,dict1,python,pc1,##,序列,fasta,root
From: https://www.cnblogs.com/liujiaxin2018/p/17763103.html

相关文章

  • ESP32-MicroPython 开发环境
    Linux/Mac下使用MicroPython开发ESP32刷入固件使用esptool.py将MicroPython刷入ESP32开发板涉及几个步骤。1.安装esptool如果你还没有安装esptool.py,你可以使用pip来安装它:pipinstallesptool2.下载MicroPython固件MicroPython-Pythonformicrocontrol......
  • 使用python对txt文件的日期格式进行清洗
    我使用的Java对文件日期进行清洗,看到友友用的python清洗,就问了问应该如何做,代码是能看懂,但是若是要求我自己一步一步写的话,应该不太行~具体代码importrefromdatetimeimportdatetime#读取文件withopen('result3.txt','r')asfile:data=file.read()#使用正......
  • Linux开发环境中使用shell/python脚本快速自动打包并查看apk文件
    最近工作中突然遇到一个很烦人的问题,事情的起因是这样的.我参与开发/维护着大概5个项目,负责服务端后台的同事经常在自己的本地电脑启着本地服务测试一些东西,而他们的本地局域网IP是经常变动的,那么问题来了,只要他们的IP地址变动了就会过来找我针对某个局域网IP地址为某个......
  • Python第1课
    一、安装python、pycharm或vscodepython+pycharm安装教程https://www.bilibili.com/video/BV1xW4y117ww/?spm_id_from=333.337.search-card.all.click&vd_source=85a59106edfe2831df69042969f00cd3python相当于媒婆,pycharm是写代码的文本编辑器,pycharm的代码通过python翻译后才......
  • python3的模块FastAPI,APIRouter
    FastAPI将依赖项的值从include_router传递给路由FastAPI依赖项和include_router在FastAPI中,依赖项是一种重要的机制,用于处理从请求到响应的整个过程中所需的各种依赖关系,例如数据库连接、身份验证等。依赖项可以被注入到请求处理函数中,并在执行时提供所需的值。在FastAPI中,我......
  • seqkit软件根据染色体名称从fasta文件中批量提取数据
     001、[root@pc1test1]#lsa.fachr.list[root@pc1test1]#cata.fa##测试fasta>chr1tttcccggg>chr2tttgggccc>chr3cccttt>chr4aaaaattt[root@pc1test1]#catchr.list##染色体列表chr2chr4[root@pc1test1]#seqkit-w8......
  • 使用api调用chatGPT,python自定义接口方法
    用非官网的api一般要把官网地址https://api.openai.com/改为相应网站的url。今天测试的时候找了各种教程都没什么用,最后终于成功了,代码如下:importopenaiimportjsonimportosopenai.api_key="sk-xxxxxxxxxx"#改成你的keyopenai.api_base="https://yyyyyyyyyy/v1"#改成......
  • #Python中 (map、filter、reduce)这几个内置方法的用法
    1、map 映射l=[1,2,3,4,5]res=map(lambdax:x**2,l)print(list(res))>>>[1,4,9,16,25]注:此时的res必须使用list(res)否则只会返回一个对象 2、filter过滤l=[1,2,3,4,5]res=filter(lambdax:x>3,l)print(list(res))>>>[4......
  • Python JSON 库对 UTF8 字符的处理方式分析
    默认情况在使用json模块的json.dump时,默认会将非ASCII字符(中文字符等)进行Unicode转义,保证最终文件只有ASCII字符。例如下述代码:importjsonwithopen("text.json","w")asf:data={'1':111,'2':"你好",'3':"Hello",�......
  • Python处理PDF——pdfplumber的安装与使用
    Python处理PDF——pdfplumber的安装与使用#-*-coding:utf-8-*-"""@Time:2023/XX/XX@Auth:Stone@File:parse_online_pdf.py@DESC:在线解析PDF文档"""importrequestsimportpdfplumberimportre,time,osdefonline_pdf_parse(path_or_ur......