brat标注的ann文件,转为BIO序列标注

article/2025/3/17 18:51:45

这个地方真的好少有人写到,踩了好久的坑都不知道怎么解决。

首先,在用brat自带的转换序列标注的文件时,运行程序

1、python2 anntoconll.py ../data/data_new/corpoa.txt

报错:

File "anntoconll.py", line 154, in text_to_conll return StringIO('\n'.join(('\t'.join(l) for l in lines))) TypeError: initial_value must be unicode or None, not str

问了chatGPT,修改:

在文件开头加了

try:
    from StringIO import StringIO  # Python 2
except ImportError:
    from io import StringIO  # Python 3

又将报错的代码改为:return StringIO('\n'.join(('\t'.join(l)+'\n' for l in lines)))

2、可以运行了,但是发现生成的文件中,中文是乱码的。

问了chatGPT,他想让我将乱码的文件进行修改,没看懂怎么操作的。

3、然后我将系统中的示例文件也进行了同样的操作,发现英文的文件序列标注后并不会报错。于是再次问了chatGPT,他先提出的解决方案是:

python2 anntoconll.py -e utf-8 ../data/data_new/corpoa.txt

但是anntoconll.py并没有-e的选项,也没有可以添加操作的地方。

4、又提出修改代码:

return io.BytesIO('\n'.join(['\t'.join(l) for l in lines if l]).encode('utf-8'))

但是报错:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 6: ordinal not in range(128)

5、再次修改代码:

with open(filename, 'r', encoding='utf-8') as f:
再次报错:

TypeError: 'encoding' is an invalid keyword argument for this function
这个错误是因为使用的是 Python 2.x 版本,而在 Python 2.x 版本中,open() 函数不支持 encoding 参数来指定文件编码。

6、再次修改:

import codecs

with codecs.open(fn, 'r', encoding='utf-8') as f:
    # 处理文件内容
错误解决,可以正常运行了。

最后的文件长这样:

 我真的无语凝噎


http://chatgpt.dhexx.cn/article/D1f8FU6C.shtml

相关文章

BIO学习笔记

视频地址:https://www.bilibili.com/video/BV1gz4y1C7RK?fromsearch&seid15021234423448500976 2. JAVA BIO深入剖析 Java BIO 就是传统的 java io 编程,其相关的类和接口在 java.io。 BIO(blocking I/O) : 同步阻塞,服务器…

BIO实例

使用 BIO 模型编写一个服务器端,监听 6666 端口,当有客户端连接时,就启动一个线程与之通讯。要求使用线程池机制改善,可以连接多个客户端.服务器端可以接收客户端发送的数据(telnet 方式即可)。 图 代码演示: package…

利用 bioconda 管理生物信息软件

利用 bioconda 管理生物信息软件 如需视频讲解,请移步:一只小蛮要 【要知道 bioinfo】利用 bioconda 管理生物信息软件 1 了解 conda,anaconda,miniconda,bioconda 1.1 conda conda是一个软件模块管理工具&#xff…

IMex和IntAct数据库简介

欢迎关注微信公众号《生信修炼手册》! 蛋白质相互作用的数据库非常的多,比如DIP, MINT, IntAct, BioGRID等,不同数据库中的信息存在了大量的冗余,而且在不同数据库之间进行检索也非常的费力,为了减少不同数据库的冗余&#xff0c…

【Bio】基础生物学 - 基因 gene

文章目录 1. DNA 脱氧核糖核酸、RNA 核糖核酸1.1 核苷酸1.2 脱氧核糖核酸1.3 核糖核酸 2. 基因2.1 基因组2.2 染色体2.3 基因与脱氧核苷酸的牵连2.4 基因与DNA的牵连2.5 基因与染色体的牵连 Ref 1. DNA 脱氧核糖核酸、RNA 核糖核酸 1.1 核苷酸 核苷酸 (Nucleotide) \blue{\tex…

Bioedit 使用

1. 下载: 地址一搜就有,软件界面如下 BioEdit Download - Research software utility for creating and editing biological sequences 2. 酶切位点分析 构建过表达质粒、双荧光素酶质粒必用功能。以人的MYOD1基因为例 ,分析酶切位点。 &…

BIO~~

BIO~~ 第一章 Java的I/O演进之路2.1 I/O 模型基本说明2.2 I/O模型Java BIOJava NIOJava AIO 2.3 BIO、NIO、AIO 适用场景分析 第三章 JAVA BIO深入剖析3.1 Java BIO 基本介绍3.2 Java BIO 工作机制3.3 传统的BIO编程实例回顾客户端案例如下服务端案例如下小结 3.4 BIO模式下多发…

python处理数据的一些代码

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、如何读取txt文件,将其转化为DataFrame格式二、给DataFrame添加列名三、删除指定行四、读取csv文件,不让第一行成为列名五、读取DataFram…

BioGRID:蛋白质相互作用数据库

欢迎关注微信公众号《生信修炼手册》! BioGRID数据库是一个老牌经典的蛋白质相互作用数据库,在今年9月份刚刚分布了最新版本3.5.165,该版本从66,164篇文献中整理出了1,607,037个蛋白质相互作用,28,093个嵌合体信息以及726,378个转录后修饰PTM…

(NCRE网络技术)中小型网络系统总体规划与设计方法-知识点

欢迎您阅读此系列文章,文章参考自《全国计算机等级考试三级教程.网络技术》。内容为NCRE三级网络技术主要知识点以及常考点,此知识点总结参照《三级网络技术考试大纲(2018年版)》。阅读此系列文章可以帮助您快速、轻松考取相应证书!祝您阅读愉…

Linux系统如何查看服务器带宽及网络使用情况

文章目录 前言  linux查看服务器带宽具体方法  一、使用speedtest-cli命令查看下载和上传最大流量值  二、查看网卡、网络的详情   1.查看服务器网络端口   2.ethtool命令查看宽带大小 三、nload命令实时统计网卡带宽使用率  四、dstat -n命令实时监测网络的状态…

计算机网络的组成及其逻辑结构

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、计算机网络的组成 计算机系统: 数据通信系统 网络软件及网络协议 二、计算机网络的逻辑结构 资源子网 通信子网 总结 前言 计算机网络是在20世纪6…

Linux中centos修改系统时间并写到硬件,Linux中centos设置定时自动同步网络时间

文章目录 前言一、centos修改系统时间并写到硬件1.1查看当前的系统时间1.2修改系统时间1.3查看硬件时间1.4同步系统时间和硬件时间1.5本地时间写入硬件时间 二、centos设置定时自动同步网络时间2.1安装ntpdate工具2.2CentOS安装/操纵crontab2.3启动crontab并查看状态2.4写一个c…

计算机网络的发展简史

目录 前言一、互联网发展历史1. 第一阶段:ARPANET2. 第二阶段:三级结构互联网3. 第三阶段:多层次ISP互联网 二、中国互联网的发展简史1. 发展阶段2. 公共网络 总结 前言 时间是2022年的6月,当真正的注意到现在的时间时不禁感叹时…

浅谈网络舆情监测系统中爬虫的设计及系统架构

前言 说到网络舆情监测想必很多人都不陌生。可以跟大家这么说吧。爬虫所能带来的商业价值适用并深存于所有小-中-大企业中,尤其做网络舆情的大数据公司所有的业务基本都必须依托于爬虫来开展它的战略布局,毕竟有了米才能做饭嘛~ 不信的话我简单的来采访一下做舆情项目的相关…

基于java的网络在线考试管理系统的设计与实现--毕业开题报告

基于java的网络在线考试管理系 统的设计与实现开题报告–毕业设计 最近grace刚完成毕业设计 通过了赶紧来给宝贝们分享我的成果哈哈 设计题目:基于java的网络在线考试管理系统的设计与实现 一、选题依据: 1.国内外有关的研究动态 在线考试系统在国内…

校园网系统集成方案设计

校园网系统集成方案设计 第一篇的文章献给我的网络系统集成大作业,这篇文章是关于校园网系统集成方案的设计,文章有很多不足仅限于我目前的水平。 第一章 前言 随着经济的发展,信息起着越来越重要的作用。计算机、网络和多媒体等信息技术的…

VM虚拟机上的网络设置

1. 前言 一般Linux编程时,经常都会使用虚拟机跑Linux系统,VMware Workstation Pro 虚拟机里的系统不管是Linux、还是windows、还是其他系统想要上网就必须配置好虚拟网络连接方式。VMware Workstation 支持共享、桥接,选择网卡的方法自定义上网方式。 如果虚拟机里的系统想…

Cisco Packet Tracer 网络系统工程实训大作业【附网络拓扑图】

文章目录 前言网络拓扑图资源项目基本要求项目一项目二项目三 实验原理静态路由基本原理VLAN基本原理OSPF的基本原理 项目的实现项目一的设计与实现网络拓扑图接口信息配置流程连通性测试 项目二的设计与实现网络拓扑图接口信息配置流程连通性测试 项目三的设计与实现网络拓扑图…

零信任网络

“前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。” 前言 - 床长人工智能教程 零信任: 零信任概念是由网络去边界化发展改进而来。之前网络的建设理念中,将网络分…