RepeatMasker数据库更新(Dfam3.6数据库与RepBase的合并)解决 famdb.py:TypeError: ‘NoneType’ object is not iterable报错问题

RepeatMasker数据库更新(Dfam3.6数据库与RepBase的合并)解决 famdb.py:TypeError: ‘NoneType’ object is not iterable报错问题

nym 2022-09-22

数据库更新:

1.Dfam数据库的下载(https://www.dfam.org/home)

DOWNLOAD➡families➡Dfam-p1.h5.gz)(下载链接:https://www.dfam.org/releases/Dfam_3.6/families/Dfam-p1.h5.gz)

2.Dfam数据库。解压缩,改名,替换~/RepeatMasker/Libraries中的Dfam.h5

gunzip Dfam-p1.h5.gz

3.Repbase数据库。解压缩并将两个文件拷贝至~/RepeatMasker/Libraries文件夹中(Repbase数据库收费,现在网络上可以找到一些旧版本,RepBaseRepeatMaskerEdition-20181026.tar)

tar -xvf RepBaseRepeatMaskerEdition-20181026.tar

4.编译

cd ~/biosoft/RepeatMasker
perl ./configure

报错 famdb.py:TypeError: ‘NoneType’ object is not iterable

File "/home/nieyimeng/biosoft/RepeatMasker/famdb.py", line 1841, in
main()
File "/home/nieyimeng/biosoft/RepeatMasker/famdb.py", line 1834, in main
args.func(args)
File "/home/nieyimeng/biosoft/RepeatMasker/famdb.py", line 1623, in command_families
print_families(args, families, True, target_id)
File "/home/nieyimeng/biosoft/RepeatMasker/famdb.py", line 1565, in print_families
buffer=buffer_spec
File "/home/nieyimeng/biosoft/RepeatMasker/famdb.py", line 398, in to_fasta
for clade_id in self.clades:
TypeError: 'NoneType' object is not iterable

原因:

因为NCBI分类法的更新将一些学名转换为了同义词。而RM没有在*h5导出中存储同义词,导致在合并特定的RepBase条目时出现问题,这一报错常出现在Dfam3.6与RepBsae20181026合并过程中。

4. 解决Dfam3.6与Repbase20181026版本冲突,编译RepeatMasker合并数据库过程中 famdb.py:TypeError: ‘NoneType’ object is not iterable报错问题。(参见:https://github.com/rmhubley/RepeatMasker/issues/141)

4.1 下载修改过的 RMRBMeta.embl 文件(RepeatMasker: https://github.com/rmhubley/RepeatMasker/blob/development/Libraries/RMRBMeta.embl.)
4.2 替换RepeatMasker软件文件夹中 “Libraries/RMRBMeta.embl” RMRBMeta.embl文件。
4.3 删除RepeatMasker文件“Libraries/RMRB.embl”、“Libraries/RepeatMaskerLib.h5”、“Libraries/RepeatMasker.lib*” ,这些在重新编译过程中将自动重新生成。
4.4 重新编译
perl ./configure

RepeatMasker安装详见:https://blog.csdn.net/weixin_45045809/article/details/119836755?spm=1001.2014.3001.5501
注:Dfam.h5文件较大,解压缩后约占150多G空间
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值