没有合适的资源?快使用搜索试试~ 我知道了~
NSDPY:一个灵活易用的Python软件包,用于批量下载NCBI的DNA序列
软件X 18(2022)101038原始软件出版物NSDPY:从NCBI下载DNA序列的Python包Raphaël Hebert,Emese MegléczAix Marseille Univ,Avignon Univ,CNRS,IRD,IMBE,Marseille,Francear t i cl e i nf o文章历史记录:2021年10月7日收到收到修订版,2022年2月28日接受,2022年保留字:NCBI批量下载CDSPythonPyPITaxonomya b st ra ct下载大批量的DNA序列可用于创建包含例如特定基因组区域或一组生物体的序列的定制数据库。这些序列可以在NCBI数据库上找到,并通过网络浏览器(GUI)或直接通过NCBI API访问。虽然GUI是用户友好的,但它缺乏某些功能。在另一个极端,API的使用是灵活的,但需要编码知识。NSDPY是一个python软件包,它结合了灵活性和易用性,可以下载大量的DNA序列,并包括几个分类或过滤选项,如分类列表的批量下载序列,下载包括分类谱系的序列或过滤特定基因的CDS序列。NSDPY在PyPI上可用,它的编写是为了最大限度地减少对其他包的依赖,并通过简单的命令行直接从终端使用,以便大多数用户可以在没有编码经验的情况下使用它©2022作者(S)。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本v.0.2.3此代码版本使用的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-21-00195Code Ocean compute capsule法律代码许可证MIT使用Git的代码版本控制系统使用Python的软件代码语言、工具和服务编译要求、操作环境依赖性Python 3.8+; Windows、Linux、Mac OS如果可用,链接到开发人员文档/手册https://nsdpy.readthedocs.io/en/latest/问题支持电子邮件raphaelhebert18@gmail.com1. 动机和意义下载大批量DNA序列正成为分子生物学家的常见常规,用于广泛的目的,例如创建定制数据库,例如用于DNA元条形码项目中的分类学分配[1,2],用于系统发育研究的访问序列[3],计算机PCR引物设计和测试[4]。美国国家生物技术信息中心(NCBI)拥有大量的数据库。最常用和最大的数据库之一是NCBI核苷酸数据库[5]。它由GenBank组成,其中包含一级核苷酸序列©2019 Aix Marseille免责声明 大学, 阿维尼翁 大学, CNRS, IRD,IMBE,Chemin de la batterie des Lions,13007 Marseille,France.电子邮件地址:raphael. etu.univ-amu.fr(Raphaël Hebert),emese. imbe.fr(Emese Meglécz)。https://doi.org/10.1016/j.softx.2022.101038来自大范围的生物体和RefSeq,RefSeq是一组非冗余的、注释良好的参考序列。从NCBI数据库下载大量序列有不同的方法。最简单和最直接的方法是通过NCBI网站(NCBI GUI)使用Google搜索引擎[6]。它是一个易于使用和通用的工具,因为复杂的查询可以容易建造 。可以 以不同的 格式( fasta 、 GenBank 、 INSDSeqXML 、TinySeqXML)下载序列,但仅对于解析相对复杂的材料(GenBank和INSDSeqXML),其包含序列和分类谱系,因此必须具有编码知识以获得用户期望的文件格式。此外,如果需要下载许多序列或连接不稳定,NCBI GUI可能会超时;因此,它不适合大量下载。使用NCBI API [7]是一种功能强大、用途广泛的方法,用于下载序列和库,如Biopython [8]或R中的rentrez包[9]也可以简化其使用。然而,它们需要编程技能,因此它们的使用是2352-7110/©2022作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softxRaphaël Hebert和Emese Meglécz软件X 18(2022)1010382这对于没有经验的用户来说是非常复杂的NCBI Mass SequenceDownloader [10]是一个易于使用的选项,可以在图形或命令行模式下使用,它是专门为批量下载而设计的。然而,它缺乏一些有用的选项,如检索序列与它们的分类谱系和排序这些序列根据他们。NSDPY(NCBI Sequence Downloader)python包旨在提供这些问题的解决方案,同时保持工具简单易用。NSDPY根据NCBI查询语句 自动下载序列 它提供了几 个选项来检索 分类标识符(TaxID)和分类谱系,并且还可以根据给定的分类级别对序列进行排序进一步的选项允许下载编码DNA序列(CDS)而不是原始的fasta文件,并使用正则表达式(一组指定文本中搜索模式的字符)过滤结果,以便在原始查询不够精确时仅保留相关序列。下载通过电子实用程序处理,以便能够处理连接丢失和超时。该脚本是用python 3.8编写的,并特别注意避免不必要的依赖关系,以限制维护问题,并允许轻松安装和使用。2. 软件描述2.1. 软件规范NSDPY是一个用Python 3.8编写的Python包。 它使用e-utilities工 具 [7] 访 问 NCBI 数 据 库 中 的 信 息 。 NSDPY 可 以 使 用 PyPI( https://pypi.org/project/nsdpy/ ) 轻 松 安 装 , 也 可 以 直 接 从GitHub ( https : //github. com/RaphaelHebert/nsdpy ) 并 作 为Python脚本运行。它可以自由修改,因为它可以在MIT许可证下使用该包可以直接从终端安装和运行,因此可以直接包含在管道中,并且不需要任何Python的先验知识。或者,它可以从GoogleColab笔记本,以避免使用用户自己的计算机和连接资源,并直接在Google Drive上获得结果。这种方法不适合非常大的下载,因为Google Colab资源可用于有限的时间和Google云端硬盘存储限制了可以存储的数据量。但是,测试,修改和运行代码非常方便,无需安装任何第三方软件。NSDPY的主要功能是从NCBI大量下载序列。为了处理最终超时或连接丢失,NSDPY会跟踪已下载的序列和仍待下载的序列。如果连接丢失,则该过程将等待重新建立连接,并从最后正确下载的加入恢复下载。2.2. 软件功能NSDPY需要一个查询语句,就像NCBI GUI搜索一样[11]。用户可以提供复杂的查询,这些查询组合了几个不同的搜索项(例如MatK [标题]、叶绿体[过滤器]、Viridiplantae [有机体]),这些搜索项由布尔运算符(and、or、not)链接并由括号结构化。NSDPY的基本用法是下载与查询对应的所有相关fasta文件,并将它们写入一个fasta文件。这种基本用法可以通过几个选项完成。默认输出格式是一个fasta文件,其中包含登录号和登录的定义字段。但是,tsv选项(-t,--tsv)生成一个文本文件,包含登录号(SequenceID)、NCBI的数字分类标识符(TaxID)、序列长度和序列本身的列。对于没有编程技能的用户来说,这个文件特别容易过滤。有几个与分类相关的选项。taxids选项(-T,--taxids)提示NSDPY 编 写 一 个 带 有 SequenceID 和 TaxID 的 文 本 文 件information选项(-i,--information)修改fasta定义行,将分类单元名称、SequenceID、TaxID和分类谱系写入输出fasta定义行。当调用tsv选项时,它还使用分类学谱系完成tsv文件。最后,下载的序列可以根据使用以下互斥选项选择的分类级别被分类到不同的fasta文件:-k(界),- p(门),-s(谱系中的最低分类级别)或为用户使用-l选项指定的每个分类群准备一个文件(例如-l Crocodylia LepidosauriaTestudines)。当输入查询语句中应包含大量分类群查询将返回属于输入文件中列出的任何分类群并满足查询语句的条件的所有序列。对于编码序列,用户可以选择下载编码DNA序列(CDS)fasta文件(-c选项),而不是完整的fasta文件。这有助于消除非编码序列并获得正确方向的编码序列。此外,-c选项后面可以跟一个列表在正则表达式的定义行中,只保留至少有一个正则表达式的编码序列。该特征特别有助于从长序列如有丝分裂基因组中分离编码序列。有时,由于注释不完整,CDS fasta文件可能不包含任何正则表达式。在这些情况下,NSDPY下载GenBank格式的访问,并尝试根据其他字段(如注释、基因同义词或产物)识别所需的编码序列。工作流程如图所示。1.一、输入是一个NCBI Querzz查询语句,或者可选地是一个带有感兴趣的分类群列表的文本文件。主要输出是一个fasta文件,其中包含下载的和最终过滤的序列,其中包含原始或修改的识别线,包括分类信息(-i选项)。此外,序列也可以与它们的元数据(SeqId、TaxID、分类谱系、序列长度、序列)一起写入tsv文件。摘要文件(report.tsv)包含查询语句、运行时和运行信息3. 说明性实例为了说明该脚本的优点和缺点,我们用三个查询来运行它,这些查询说明了该脚本的典型用法,并使用了NSDPY的主要功能我们使用了可用于检索细胞色素氧化酶I(COI)序列的查询定制数据库。对于这些示例,我们将NSDPY作为PyPI的包安装,并直接从终端运行命令。3.1. 第一示例我们使用以下命令从完整的线粒体序列中分离COInsdpy-r“ ( 子 文 件 [ 标 题 ]AND complete [ 标题])"-c' cox[1 i]' ' co[i1]'-v在这个查询中,请求(-r)帮助标识完整的线粒体序列由于我们对从这些有丝分裂基因组中提取COI序列感兴趣,因此我们使用-c(--cds)选项下载包含线粒体CDS的fasta文件,而不是包含完整线粒体CDS的fasta文件。Raphaël Hebert和Emese Meglécz软件X 18(2022)1010383Fig. 1. NSDPY的工作流程。RE:正则表达式。记录此外,在-c选项之后给出了正则表达式列表,以过滤CDS文件并提取具有与所提供的正则表达式对应的注释的序列。当没有CDSfasta文件可用时,或者在其中没有发现COI基因时,脚本下载并搜索GenBank格式(.gb)的登录。GenBank文件中的注释可以根据作者的不同进行不同的组织:在大多数情况下,COI在基因字段(例如KY052129.1 ) 中 注 释 , 而 在 其 他 情 况 下 , COI 在 注 释 ( 例 如NC_046833.1,AY191994.1,EU273708.1),基因_同义词(例如AB475096.1)或产品(例如CP014249.1)字段中注释。注意-v选项代表verbose。 它只允许用户看到有多少百分比的序列已经下载。简而言之,在该查询中,该请求有助于下载通过关键词搜索COI基因不会找到的完整线粒体序列其结果如下:共获得98398条编码序列,其中97149条来自包含CDS的fasta文件,1249条来自GenBank文件,其中COI基因在fasta文件中没有在notfound.txt文件中有6 301个登录号,其中COI基因不能被识别(例如,MH500775.1)。duplicates.txt文件中的252个登录号,其中登录号为COI返回了多个编码例如,登录号MK562756.1在其GenBank文件中有3.2. 二示例我们使用以下命令下载所有COI序列,使用标题字段中的关键字,并按王国对序列进行排序:nsdpy-r“(COX1[Title]ORCOXI[Title]ORCO1[Title]OR COI[Title])"-k-T请求(-r)组合了一系列经常用于指代细胞色素氧化酶亚基1基因的缩写。搜索仅限于加入的标题字段,以避免误报。根据给定的税务级别对序列进行自动排序可以帮助用户对序列进行后处理。王国选项(-k)根据脚本中预先记录的王国对序列进行排序。-T (或--taxids)选项生成一个文本文件,其中包含NCBI为用户查询返回的所有登录号其结果如下:METAZOA.fasta文件,包含3 637 305个序列PLANTAE.fasta文件,包含25 987个序列FUNGI.fasta文件,包含2 089个序列OTHERS.fasta文件,包含30 371个序列,其谱系不对应于上述三个王国中的任何一个(例如,MZ152022.1,其为异鞭毛体)。no_taxid.fasta文件包含31 581个序列,无法找到其分类信息。在某些情况下,下载文件中可用的分类标识符已过时,并且不容易从分类数据库中访问TaxIDs.txt文件包含所有登录号及其TaxID,分别位于两个列表中。3.3. 三示例我们使用以下命令下载NCBI核苷酸数据库中自2010年以来(“2010”[出版日期]:“3000”[出版日期])发表的四种鳞翅目属(绢蝶属 [ORGN] 或粉蝶属 [ORGN] 或蜜蝶属 [ORGN] 或粉蝶属[ORGN])的线粒体(线粒体[过滤器])序列,关键字字段中存在条形码(条形码[关键字]):nsdpy-r“ ( Parnassius[ORGN]OR Pieris[ORGN] ORMelithaea[ORGN] ORIphiclides[ORGN]) ANDCOI[Title]AND ( 2010[Publication Date] : 3000[PublicationDate]) ANDbarcode[Keyword] ANDprone [Filter]"-i-t·········Raphaël Hebert和Emese Meglécz软件X 18(2022)1010384||请求(-r)结合了一系列检索词,每个检索词仅限于GenBank记录的特定字段(例如,微生物、出版日期)。注意使用OR连接不同的属名,从所有属中获得序列,并使用括号正确地构造查询。-i选项替换了原始定义行,以提供更适合系统发育研究的税收信息格式:taxon_name-SeqID TaxID Taxonomic lineage,逗号分隔值。t选项生成一个tsv文件,其中包含以下字段:分类名称、序列ID、TaxID、分类谱系、序列长度、序列。注意,通过以下命令可以获得完全相同的结果:nsdpy-r“COI[Title]AND(2010[Publication Date]:3000[PublicationDate])ANDbarcode[Keyword]ANDpixel[Filter]"-i-t-Lgenus_list.txtgenus_list. txt是一个文本文件,感兴趣的属(每行一个属名)。我们只使用了在这个例子中,这是一个简短的列表,但它可以包含数千个任何分类层次的分类单元。该命令已经下载了来自55个分类群(属、种或亚种)的1447个序列。4. 影响高通量测序(HTS)在过去的20年里经历了一个引人注目的发展。测序通量增加,而测序成本呈指数下降[12]。这已经彻底改变了分子生物学,现在HTS被常规地用于非常不同的生物学领域,例如医学研究[13-这些领域中的许多都需要使用自定义数据库,但元条形码是最迫切需要自定义数据库的领域之一[21]。元条码已成为生物多样性调查的一种成熟方法[22]。在过去的十年中,元条形码研究的数量急剧增加。Google Scholar返回了2011年发表的124项以元条码编码为关键词的研究元条形码的一个关键方面是是序列的分类学分配,其依赖于尽可能完整的参考数据库。NCBI核苷酸数据库包含近5亿个序列记录[5],并且这个数字正在稳步增长。这提供了一个很好的资源分类分配由于其大的分类覆盖面。然而,由于它的大小,直接比较序列到这个数据库是不切实际的。因此,需要建立分子标记和/或分类组的定制数据库,并将其保持最新[21,23在构建定制数据库时,下载大量DNA序列是不可避免的NSDPY是一个实用的工具,可以自动下载,并对序列进行排序和过滤。生物分类学信息对于创建生物多样性研究的定制数据库特别重要,特别是对于元条形码项目。精确的分类信息(TaxID,Lineage)很少包含在标准下载文件中,或者如果存在,则需要进一步处理,这需要一些编程知识。因此,下载分类学信息并根据给定的分类学水平将序列分类到不同文件的能力另一个节省时间的选择是可以用一个命令从一长串分类群当下载整个细胞器序列(如线粒体)或选择不同的基因。这个功能非常有用,因为它允许用户获得一组高质量的序列,其中基因是完整的,并且方向正确。当搜索细胞器的基因时,这些高质量的序列不能通过经典的关键字搜索容易地访问因此,NSDPY填补了一个空白,并帮助用户轻松地从细胞器基因组中获得基因的完整序列。使用NSDPY,如果在下载时发生断开连接,脚本将等待重新建立连接以恢复下载,从而避免重新启动过程和浪费时间。该软件包旨在用于从NCBI数据库下载大量DNA序列以生成定制参考数据库。该软件可以包括在生物信息学管道中。自动收集序列及其分类信息、排序和过滤序列而无需学习如何编码可以极大地改善用户的工作流程。对于有编码经验的用户,可以很容易地修改脚本以适应其他特定需求。5. 结论在本文中,我们描述了NSDPY的实现及其内置功能,并提供了可能的用法的例子由于它是根据MIT许可证编写的,可以很容易地定制,预计NSDPY将被开发以适应更具体的工作。它旨在支持需要使用定制DNA序列数据库的研究人员的工作。CRediT作者贡献声明Raphaël Hebert:概念化,方法论,软件,验证,写作-原始草稿。Emese Meglécz:监督,概念化,验证,写作竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作致谢IMBE已支付文章处理费。我们感谢两位匿名审稿人为改进NSDPY和手稿提出的建设性意见,以及Judith Nève对手稿的校对。引用[1]李文辉,李文辉,李文辉.科学数据2020;7:209.[2]放大图片创作者:Mr. Metabarcod Metagen2017;1:e22262。[3]GouyM,Guindon S,Gascuel O.Mol Biol Evol 2010;27:221[4]作者:Elbrecht V,Leese F. 方法Ecol Evol 2017; 8:622 - 6。[5]Sayers EW,Bolton EE,Schmidter JR,Canese K,Chan J,Comeau DC,Connor R,Funk K,Kelly C,Kim S,Madej T,Marchler-Bauer A,LanczyckiC,Lath-ropS,Lu Z,Thibaud-Nissen F,Murphy T,Phan L,SkripchenkoY,Tse T,Wang J,Williams R,Trawick BW,Pruitt KD,Sherry ST. NucleicAcids Res2022;50:D20-6.[6]Sayers EW , Barrett T , Benson DA , Bolton E , Bryant SH , Canese K ,Chetvernin V,Church DM,Dicuccio M,Federhen S,Feolo M,FingermanIM,Geer LY,Helmberg W,Kapustin Y,Krasnov S,Landsman D,LipmanDJ,Lu Z,Madden TL,Madej T,Maglott DR,Marchler-Bauer A,MillerV,Karsch-MizrachiI,Ostell J,Panchenko A,Phan L,Pruitt KD,SchumwayGD,Sequeira E,Sherry ST,Shumway M,Sirotkin K,Slotta D,SouvorovA,Starchenko G,Tatusova TA,Wagner L,Wang Y,Wilbur WJ,YaschenkoE,Ye J.核酸 Res2012;40:D13Raphaël Hebert和Emese Meglécz软件X 18(2022)1010385[7] Kans J. Kazz direct:Unix命令行上的电子实用程序。国家生物技术信息中心(美国);2021年。[8] ChapmanB,Chang J. SIGBIO Newsl 2000;20:15[9] 冬季DJ。Rentrez:一个用于NCBI eutils API的R包。 PeerJ Inc.; 2017年。[10]Pina-Martins F,Paulo OS. SoftwareX2016;5:80[11]Bethesda MD.帮帮忙。国家生物技术信息中心(美国);2016年。[12]CherterJA,Spacek D,Snyder MP.Mol Cell 2015;58:586[13]^Wu,Wu,Wu,Wu.Mol Syst Biol 2013;9:640.[14]杨文,李文. Brief Biofinform2019;20:1795-811.[15]Manzoni C,起亚DA,Vandrovcova J,Hardy J,Wood NW,Lewis PA,Ferrari R. Brief Bioinf2018;19:286-302.[16]Jiang Z,Zhou X,Li R,Michal JJ,Zhang S,Dodson MV,Zhang Z,Harland RM. Cell Mol Life Sci2015;72:3425-39.[17]杨伟,郑智明,田伟,马杰夏克,细胞生物科学2021;11:136.[18]Andrews KR,Good JM,Miller MR,Luikart G,Hohenlohe PA. Nat RevGenet2016;17:81-92.[19]Ruppert KM,Kline RJ,Rahman MS.全球生态保护2019;17: e00547。[20]Arribas P,Andújar C,Bidartondo MI,Bohmann K,Coissac Pills,Creer S,de-Waard JR , Elbrecht V , Ficetola GF , Goberna M , Kennedy S ,Krehenwinkel H,Leese F,Novotny V,Ronquist F,Yu DW,Zinger L,Creedy TJ,Meramvelio-takis E,Noguerales V,Overcast I,Morlon H,Vogler AP,Papadopoulou A,Emerson BC.分子生态学2021;30:1120-35。[21]Weigand H,Beermann AJ,Čiampor F,Costa FO,Csabai Z,Duarte S,Geiger MF , Grabowski M , Rimet F , Rulik B , Strand M , Szucsich N ,Weigand AM , Willassen E , Wyler SA , Bouchez A , Borja A ,ČiamporováZaenovičová Z,Ferreira S,Dijkstra K-DB,Pendle U,Freyhof J,Gadawski P, Graf W,Haegerbaeumer A,van der Hoorn BB,Jaboshvili B,Keresztes L,Keskin E,Leese F,Macher JN,Mamos T,Paz G,Pešić V,Pfannkuchen DM , PfannkuchenMA , Price BW , Rinkevich B , TeixeiraMAL,Várbíró G,Ekrem T. Sci Total Environ2019;678:499-524.[22]Deiner K,Bik HM,Mächler E,Seymour M,Lacoursière-Barssel A,Alter-mattF,Creer S,Bista I,Lodge DM,de Vere N,Pfrender ME,Bernatchez L.Mol Ecol2017;26:5872[23]Richardson RT , Bengtsson-Palme J , Gardiner MM , Johnson RM.PeerJ2018;6:e5126.[24]Decelle J, Romac S , Stern RF , Bendif EM , Zingone A , Audic S , GuiryMD,Guillou L,Tessier D,Le Gall F,Gourvil P,Dos Santos AL,Probert I,Vaulot D,de Vargas C,Christen R. Mol Ecol Resour2015;15:1435-45.[25]Nilsson RH,Larsson K-H,Taylor AFS,Bengtsson-Palme J,Jeppesen TS,Schigel D,Kennedy P,Picard K,Glöckner FO,Tedersoo L,Saar I,KöljalgU,Abarenkov K.核酸研究2019;47:D259-64。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功