WO2010066115A1 - Procédé et système pour diminuer la complexité temporelle dans un assemblage de courtes séquences - Google Patents
Procédé et système pour diminuer la complexité temporelle dans un assemblage de courtes séquences Download PDFInfo
- Publication number
- WO2010066115A1 WO2010066115A1 PCT/CN2009/001427 CN2009001427W WO2010066115A1 WO 2010066115 A1 WO2010066115 A1 WO 2010066115A1 CN 2009001427 W CN2009001427 W CN 2009001427W WO 2010066115 A1 WO2010066115 A1 WO 2010066115A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- short
- sequence
- connections
- base
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
- G16B30/20—Sequence assembly
Definitions
- the invention belongs to the technical field of genetic engineering, and in particular relates to a method and system for reducing the time complexity of a short sequence assembly process. Background technique
- sequence length is short
- the embodiment of the present invention is implemented as a method for reducing the time complexity of a short sequence assembly process, and the method includes the following steps:
- the received sequencing sequence is slid and cut one by one to obtain a short string of a fixed base length, and the left and right connection relationships of the short string are obtained, and the left and right connection relationships include a short string sequence value and a left connection exists.
- Another object of embodiments of the present invention is to provide a system for reducing the time complexity of a short sequence assembly process, the system comprising:
- a receiving unit configured to receive a sequencing sequence
- a sequence cutting unit configured to separately slide the received sequencing sequence one by one to obtain a short string of a fixed base length, and obtain a left and right connection relationship of the short string, wherein the left and right connection relationships include short strings a sequence value, the number of linkages of each base in which there is a left junction, and the number of linkages of each base in which a right junction exists;
- composition unit configured to store the obtained sequence values of the short strings, the left and right connection relationships, and the number of connections thereof as a node of the de Bruijn graph, and store the nodes of the de Bruijn graph by using a hash table,
- the hash key is the sequence value
- the hash value is the node.
- the short sequence of the fixed base length is obtained by slidingly cutting the received sequencing sequence one by one, and the left and right connection relationships of the short strings are obtained, and the sequence values of the obtained short strings are obtained.
- the left and right connection relationships and their number of connections are stored as a node of the de Bruijn graph and stored using a hash table. Since the hash table storage is used to make the update node connection relationship equal to the number of connections of the node to find and update the left and right connected bases of the found node, the search, insertion, and insertion of the node can be completed within O ( l ) time. The update of the node connection relationship, thereby reducing the time complexity in the short sequence assembly process, and thus achieving short sequence assembly of large genomes.
- FIG. 1 is a flowchart of an implementation of a method for reducing time complexity of a short sequence assembly process according to an embodiment of the present invention
- FIG. 2 is a schematic diagram of a node storage content according to an embodiment of the present invention.
- FIG. 3 is a structural diagram of a system for reducing the time complexity of a short sequence assembly process according to an embodiment of the present invention. detailed description
- the short sequence of the fixed base length is obtained by slidingly cutting the received sequencing sequence one by one, and the left and right connection relationships of the short strings are obtained, and the sequence values of the obtained short strings are obtained.
- the left and right connection relationships and their number of connections are stored as a node of the de Bruijn graph, and the hash table is used to store the nodes of the de Bruijn graph, wherein the hash key is a sequence value and the hash value is a node.
- FIG. 1 is a flowchart showing an implementation process of a method for reducing time complexity of a short sequence assembly process according to an embodiment of the present invention, which is described in detail as follows:
- step S101 receiving a sequencing sequence
- step S102 the received sequencing sequence is slid and cut one by one to obtain a short length (kmer) of a fixed length, and a left and right connection relationship of the short string is obtained, and the left and right connection relationships include short sequence values.
- step S103 the obtained sequence values of the short strings, the left and right connection relationships and the number of connections thereof are stored as a node of the de Bruijn graph, and the hash table is used to store de Each node of the Briiijn graph, where the hash key is a sequence value and the hash value is a node.
- the sequencing sequence has a base length of 25 - 75 and is cut into short strings of a fixed length of 21 - 31.
- the length of the short string obtained by the cutting is smaller than the length of the sequence, and the length can be set according to the length of the sequencing sequence and the actual situation.
- Each node in the de Bruijn diagram uses the corresponding bits to store its sequence value, the number of connections for each base with left joins, and the number of connections for each base with right joins.
- each node on the de B ijn map is stored in 16 bytes, and its storage format is as follows:
- sequence value is calculated by using 2 bits to store a nucleotide sequence, A is represented by 00, C is represented by 01, T is represented by 10, G is represented by 11, and the sequence is encoded to generate a
- A is represented by 00
- C is represented by 01
- T is represented by 10
- G is represented by 11
- the sequence is encoded to generate a
- the 64-bit integer value and considering the short string of even length, its complementary short string may be itself, for example, the short string GATC's complementary short string is GATC itself. In order to prevent such confusion, the lengths of the short strings are all odd.
- the length of the short string is not more than 31;
- the leftjinks uses 24 bits to store the left connection relationship and the number, and divides the 24 bits into 4 6-bit, ie A: 6, T: 6, G: 6, C: 6, respectively, using 6 bits to store the number of connections to the base A, T, G or C with the left link of the short string, each The number of connections is in the range [0, 63];
- right-link uses 24 bits to store its right connection and number, and divides 24 bits into 4 6 bits, ie A: 6, T: 6, G: 6, C: 6, respectively, the number of connections of A, T, G or C with the right connection of the short string is stored by 6 bits, and the number of each connection is in the range of [0, 63]; the following 8 bits can be used.
- the delete flag closed may be stored to identify whether the short string is deleted; the use mark in one may also be stored to identify whether the short string has been used, and other identifiers may also be stored.
- the connection relationship of each node in the de Bmijii diagram can be constructed according to the short string sequence value stored in the node, the number of connections of each base having the left connection, and the number of connections of each base having the right connection.
- the short-chain A is AAAAAAAA
- the number of connections of the right-connected T is 19
- the short-chain B of the right-connected base T is AAAAAAAT, which is equal to the short-chain ⁇ left-shifting one base and adding the base T connected thereto.
- the storage contents of the number of connections in the node storing the right port are as shown in FIG. 2 .
- step S103 is specifically:
- Step 1 Query whether the corresponding node exists in the stored node according to the obtained sequence value of the short string;
- Step 2 If no corresponding node is queried, add a node
- Step 3 If the corresponding node is queried, the connection relationship of the corresponding node is updated.
- each node of the de Bruijn graph is stored using a hash table, the hash key is a sequence value, and the hash value is a node. For example, take a short string of AAAAAAAA, its sequence value is 0x0000, and use its sequence value 0x0000 as a key to query whether the corresponding node exists in the hash table. If no corresponding node is queried, add the node to the hash table.
- the seq of the value is the sequence value of the short string 0x0000, and the number of connections of the corresponding left and right connected bases in the node is set to 1 according to the short string adjacent to the short string; if the query already has a corresponding
- the node updates the connection relationship of the corresponding node, that is, updates the number of connections of the corresponding left and right connected bases in the node according to the short string adjacent to the short string, and the number of corresponding connections of the bases connected to the short string plus 1.
- step 1 to find the next short string until all short strings are found.
- the hash node can be used to complete the lookup node, the insert node (ie, the storage node), and the update node connection relationship in the time of O(1). Updating the node connection relationship is equivalent to finding the node and updating the number of connections of the left and right connected bases of the found node, so the time complexity is still O ( l ).
- the embodiment of the present invention converts the steps that originally required multiple logical processes into one step, so that the computer completes the search, insert, and update connection relationship in the operation of identifying the step of storing the content of the node.
- the three steps, while the time complexity is still O ( l ) thus saving the time for the computer to make logical judgments, improving the internal performance of the computer during the short sequence assembly process, thus providing for the realization of short sequence assembly of large genomes.
- only one node in the de Bruijn graph can be used to store two complementary short strings, and the sequence values of the nodes are complementary to two short A smaller sequence value in the string. If the sequence value of a short string is smaller than the sequence value of its complementary short string, the node in the de Bruijn graph stores the sequence value of the short string, and seq stores the sequence value of the short string, and the number of corresponding connections to the left connected base.
- Update to left-links the number of corresponding connections to its right-connected base is updated to right-links; if the sequence value of a short string is greater than the sequence value of its complementary short-string, the node in the de Bruijn graph stores its complementary short string
- the sequence value, seq stores the sequence value of its complementary short string
- the number of corresponding connections to its right-linked base is updated to leftjinks
- the number of corresponding connections to its left-linked base is updated to ri g M-links.
- multiple hash tables are used to uniquely store different nodes in the de Bruijn graph, and different threads are used to access different hash tables.
- eight hash tables are created, a certain number of original sequences are read, and eight threads are used to perform multi-thread cutting and short-string complementation on the original sequence to be read. After the data collection is completed, the data is collected. Eight threads are inserted into the update node, where each thread only processes the sequence value of the fixed prefix. Each hash table stores a sequence value of the specified prefix, and a hash table has only one thread access to guarantee the uniqueness of the node storage.
- node information ie, sequence value
- node connection information ie, edges
- nodes of the de Bruijn graph can be stored in a tree structure, and the hash table is used to store each node in memory and usage and stored in a tree structure, but using a hash table storage.
- Each node is significantly better than the tree's storage structure in terms of access and modification speed.
- the African human genome resequencing data was selected. After error correction processing, the sequence data amount was 254 G bases, and after cutting into a fixed length short string of 25 base length, the total number of short strings (including the forward and reverse sequences) was 7G.
- the method provided by the embodiment of the present invention constructs a de Bruijn graph, and the maximum memory usage value is 110G, which consumes 23 CPU hours, wherein the CPU parameter is Quad-Core AMD Opteron(tm) Processor 8356 2.2GHZ.
- the received sequencing sequence is slid and cut one by one to obtain a short string of fixed base length, and the left and right connection relationships of the short strings are obtained, and the left and right connection relationships include short string sequence values and presence of left connections.
- FIG. 3 is a diagram showing the structure of a system for reducing the time complexity of a short sequence assembly process according to an embodiment of the present invention. For the convenience of description, only the embodiments related to the embodiment of the present invention are shown. section.
- the system can be used in short sequence assembly, where:
- the receiving unit 301 receives the sequencing sequence.
- the sequence cutting unit 302 respectively slid and cuts the received sequencing sequence by a base to obtain a short string of a fixed base length, and obtains a left-right connection relationship of the short strings.
- the actual manner is as described above, and will not be described again.
- the composition unit 303 stores the obtained sequence values of the short strings, the left and right connection relationships and the number of connections thereof as a node of the de Bruijn graph, and uses a hash table to store each node of the de Bruijn graph, wherein the hash key is The sequence value, the hash value is the node.
- the composition unit 303 uses the corresponding bit in the node of the de Bruijn diagram to store its sequence value, the number of connections of each base in which there is a left connection, and the number of connections in which each base of the right connection exists.
- the composition unit 303 includes:
- the query module 3031 queries, among the stored nodes, whether the corresponding node has been stored according to the obtained sequence value of the short string.
- the node adding module 3032 adds a node when the query module 3031 does not query the corresponding node, and the implementation manner is as described above, and details are not described herein.
- connection update module 3033 when the query module 3031 queries the corresponding node, updates the connection relationship of the corresponding node, and the implementation manner thereof is as described above, and details are not described herein again.
- the composition unit 303 uses a node in the de Bruijn diagram to store complementary two short strings, and the sequence values of the nodes are taken in two complementary short strings.
- the smaller sequence values are implemented as described above and will not be described again.
- the composition unit 303 uniquely stores different nodes in the de Bruijn map using a plurality of hash tables, and uses different threads to access different hash tables.
- the short sequence of the fixed base length is obtained by slidingly cutting the received sequencing sequence one by one, and the left and right connection relationships of the short strings are obtained, and the sequence values of the obtained short strings are obtained.
- the left and right connection relationships and their number of connections are stored as a node of the de Bruijii diagram and stored using a hash table.
- the update node connection relationship is equivalent to the number of connections of the left and right connected bases of the node searched and updated by the node, and thus at O ( l )
- the search, insertion and node connection relationship of the node can be updated in time, thereby reducing the time complexity in the short sequence assembly process and realizing the short sequence assembly of the large genome.
Landscapes
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Biophysics (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
L'invention est applicable au domaine technique du génie génétique, et porte sur un procédé pour diminuer la complexité temporelle dans l'assemblage de courtes séquences et sur un système apparenté. Le procédé comprend les étapes suivantes consistant à : recevoir des séquences de séquençage; appliquer respectivement une découpe avec glissement des bases aux séquences de séquençage reçues une par une pour obtenir des chaînes courtes ayant une longueur en bases constante et pour obtenir une relation de liaisons gauche et droite des chaînes courtes; et stocker les valeurs de séquence de toutes les chaînes courtes obtenues, des relations de liaisons gauche et droite et une quantité de liaisons sous la forme d'un nœud d'un graphe de de Bruijn, utiliser une table de hachage pour stocker les nœuds du graphe de de Bruijn, la clé de hachage étant la valeur de séquence, la valeur de hachage étant le nœud. En raison de l'utilisation du graphe de de Bruijn et de l'application de la table de hachage pour un stockage, le procédé peut mettre à jour la relation de liaison des nœuds devant être égaux à des nœuds de recherche et mettre à jour la quantité de liaisons de bases ayant des liaisons gauche et droite pour des nœuds recherchés. La recherche et l'ajout de nœuds et la mise à jour des relations de liaisons de nœuds peuvent être terminés durant le temps de (0)1. La complexité temporelle réduite dans l'assemblage de courtes séquences peut être réalisée et les courtes séquences de grand génome peuvent être assemblées.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN200810218338.9 | 2008-12-12 | ||
| CN2008102183389A CN101430742B (zh) | 2008-12-12 | 2008-12-12 | 一种组装基因组的方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2010066115A1 true WO2010066115A1 (fr) | 2010-06-17 |
Family
ID=40646135
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2009/001427 Ceased WO2010066115A1 (fr) | 2008-12-12 | 2009-12-11 | Procédé et système pour diminuer la complexité temporelle dans un assemblage de courtes séquences |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN101430742B (fr) |
| WO (1) | WO2010066115A1 (fr) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013004005A1 (fr) * | 2011-07-05 | 2013-01-10 | 深圳华大基因科技有限公司 | Procédé pour l'assemblage de segments séquencés |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101430742B (zh) * | 2008-12-12 | 2011-06-29 | 深圳华大基因研究院 | 一种组装基因组的方法 |
| TWI443544B (zh) * | 2009-12-23 | 2014-07-01 | Ind Tech Res Inst | 資料壓縮方法和序列壓縮裝置 |
| WO2012171213A1 (fr) * | 2011-06-17 | 2012-12-20 | 深圳华大基因科技有限公司 | Procédé et système pour l'assemblage d'un génome |
| US8751166B2 (en) * | 2012-03-23 | 2014-06-10 | International Business Machines Corporation | Parallelization of surprisal data reduction and genome construction from genetic data for transmission, storage, and analysis |
| US8812243B2 (en) | 2012-05-09 | 2014-08-19 | International Business Machines Corporation | Transmission and compression of genetic data |
| US8855938B2 (en) | 2012-05-18 | 2014-10-07 | International Business Machines Corporation | Minimization of surprisal data through application of hierarchy of reference genomes |
| US10353869B2 (en) | 2012-05-18 | 2019-07-16 | International Business Machines Corporation | Minimization of surprisal data through application of hierarchy filter pattern |
| US9002888B2 (en) | 2012-06-29 | 2015-04-07 | International Business Machines Corporation | Minimization of epigenetic surprisal data of epigenetic data within a time series |
| US8972406B2 (en) | 2012-06-29 | 2015-03-03 | International Business Machines Corporation | Generating epigenetic cohorts through clustering of epigenetic surprisal data based on parameters |
| CN103258145B (zh) * | 2012-12-22 | 2016-06-29 | 中国科学院深圳先进技术研究院 | 一种基于De Bruijn图的并行基因拼接方法 |
| CN103093121B (zh) * | 2012-12-28 | 2016-01-27 | 深圳先进技术研究院 | 双向多步deBruijn图的压缩存储和构造方法 |
| CN103699819B (zh) * | 2013-12-10 | 2016-09-07 | 深圳先进技术研究院 | 基于多步双向De Bruijn图的变长kmer查询的顶点扩展方法 |
| CN104751015B (zh) * | 2013-12-30 | 2017-08-29 | 中国科学院天津工业生物技术研究所 | 一种基因组测序数据序列组装方法 |
| CN106067824B (zh) * | 2016-06-02 | 2019-11-05 | 洛阳晶云信息科技有限公司 | 一种基于二联密码子的测序数据压缩方法 |
| CN115394348B (zh) * | 2022-07-15 | 2025-08-19 | 中南大学 | 基于图卷积网络的lncRNA亚细胞定位预测方法、设备及介质 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101430742A (zh) * | 2008-12-12 | 2009-05-13 | 深圳华大基因研究院 | 一种短序列组装中构建图的方法及系统 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6952651B2 (en) * | 2002-06-17 | 2005-10-04 | Intel Corporation | Methods and apparatus for nucleic acid sequencing by signal stretching and data integration |
| AU2003296994A1 (en) * | 2002-12-13 | 2004-07-09 | Applera Corporation | Methods for identifying, viewing, and analyzing syntenic and orthologous genomic regions between two or more species |
| CN101196921A (zh) * | 2007-12-24 | 2008-06-11 | 北京大学 | 用于近似查询的长序列数据降维方法 |
-
2008
- 2008-12-12 CN CN2008102183389A patent/CN101430742B/zh active Active
-
2009
- 2009-12-11 WO PCT/CN2009/001427 patent/WO2010066115A1/fr not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101430742A (zh) * | 2008-12-12 | 2009-05-13 | 深圳华大基因研究院 | 一种短序列组装中构建图的方法及系统 |
Non-Patent Citations (3)
| Title |
|---|
| BOKHARI S.H. ET AL: "A Parallel Graph Decomposition Algorithm for DNA Sequencing with Nanopores", BIOINFORMATICS, vol. 21, no. 7, 11 November 2004 (2004-11-11), pages 889 - 896 * |
| HUO H. W. ET AL: "A Multiple Alignment Approach for DNA Sequences Based on the Maximum Weighted Path Algorithms", JOURNAL OF SOFTWARE, vol. 18, no. 2, February 2007 (2007-02-01), pages 185 - 195 * |
| ZERBINO D.R. ET AL: "Velvet: Algorithms for de novo short read assembly using de Bruijn graphs", GENOME RES., vol. 18, 18 March 2008 (2008-03-18), pages 821 - 829 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013004005A1 (fr) * | 2011-07-05 | 2013-01-10 | 深圳华大基因科技有限公司 | Procédé pour l'assemblage de segments séquencés |
Also Published As
| Publication number | Publication date |
|---|---|
| CN101430742B (zh) | 2011-06-29 |
| CN101430742A (zh) | 2009-05-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2010066115A1 (fr) | Procédé et système pour diminuer la complexité temporelle dans un assemblage de courtes séquences | |
| CN101594319B (zh) | 表项查找方法和装置 | |
| US20210165805A1 (en) | Partition Merging Method and Database Server | |
| US20130080485A1 (en) | Quick filename lookup using name hash | |
| Almodaresi et al. | PuffAligner: a fast, efficient and accurate aligner based on the Pufferfish index | |
| JP4995125B2 (ja) | 固定長データの検索方法 | |
| JP3570323B2 (ja) | アドレスに関するプレフィクスの格納方法 | |
| EP2344959A2 (fr) | Compression d'index dans une base de données | |
| CN103561133A (zh) | 一种ip地址归属信息索引方法及快速查询方法 | |
| CN101751517B (zh) | 一种基因组短序列映射的快速处理方法及系统 | |
| Xiao et al. | Using parallel bloom filters for multiattribute representation on network services | |
| WO2021179781A1 (fr) | Procédé, système et dispositif pour un alignement de séquence et support de stockage lisible | |
| CN103065067B (zh) | 短序列组装中序列片段的过滤方法及系统 | |
| US20130307710A1 (en) | Compression match enumeration | |
| CN114884877B (zh) | 一种哈希表和HOT相结合的IPv6路由查找方法 | |
| CN100496019C (zh) | IPv6路由表快速查找和更新的方法 | |
| Hon et al. | Efficient algorithm for circular Burrows-Wheeler transform | |
| CN112231400B (zh) | 分布式数据库的访问方法、装置、设备及存储介质 | |
| CN112269784B (zh) | 一种基于硬件实现的哈希表装置以及插入、查询和删除方法 | |
| WO2010127536A1 (fr) | Procédé de création et de recherche de table utilisé par un processeur de réseau | |
| CN1312890C (zh) | 用于产生具有数量减少的特里块的特里结构的方法 | |
| CN100396015C (zh) | 一种tcam路由表管理方法和系统 | |
| WO2015192742A1 (fr) | Dispositif de recherche, procédé de recherche, et procédé de configuration | |
| CN109831384B (zh) | 名字查找方法及路由器 | |
| WO2005066835A1 (fr) | Procede d'extraction d'un enregistrement d'une page de donnees d'une base de donnees |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09831392 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 09831392 Country of ref document: EP Kind code of ref document: A1 |