<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Pattern Structures for Identifying Biclusters with Coherent Sign Changes</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nyoman Juniarta</string-name>
          <email>nyoman.juniarta@loria.fr</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Victor Codocedo</string-name>
          <email>victor.codocedo@inf.utfsm.cl</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Miguel Couceiro</string-name>
          <email>miguel.couceiro@loria.fr</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mehdi Kaytoue</string-name>
          <email>mehdi.kaytoue@insa-lyon.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Amedeo Napoli</string-name>
          <email>amedeo.napoli@loria.fr</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Univ Lyon</institution>
          ,
          <addr-line>INSA Lyon, CNRS, LIRIS UMR 5205, F-69621 Lyon</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universidad Técnica Federico Santa María</institution>
          ,
          <country country="CL">Chile</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Université de Lorraine</institution>
          ,
          <addr-line>CNRS, Inria, LORIA, F-54000 Nancy</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper we are studying the task of finding coherentsign-changes biclusters in a binary matrix. This task can be applied to the interpretation of gene expression data, where such a bicluster represents a set of experiments that affect a set of genes in a consistent way. We start with a binary table and study biclustering methods based on FCA and partition pattern structures. Pattern concepts provide biclusters and their hierarchical relation, which can be used to analyze the profile of genes in the given expression data. Our approach is purely symbolic, so we can detect larger biclusters and work with rather complex data.</p>
      </abstract>
      <kwd-group>
        <kwd>biclustering</kwd>
        <kwd>FCA</kwd>
        <kwd>gene expression</kwd>
        <kwd>pattern structures</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Gene expression data can be represented as a matrix, where rows and columns
represent genes and experiments respectively. Each cell contains the numeric
expression level of a given gene under a given experiment. In such data, we can
say that an experiment affect a gene by either lowering or raising its expression,
according to the gene’s normal level. One may be interested in finding a subset of
genes and a subset of experiments, such that the experiments affect the genes in
a consistent way. In other words, any two experiments in the subset have always
either the same effect or the opposite effect on every gene in the subset. This
task corresponds to the mining of coherent-sign-changes (CSC) biclusters.</p>
      <p>
        Biclustering is an important technique aimed at discovering patterns in a
matrix representing a dataset. It is related to standard clustering whose main
objective is to group the rows based on their similarity. On the other hand,
biclustering refers to the problem of discovering submatrices whose cells exhibit
similar behavior. This problem is also called co-clustering [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], where rows and
columns are clustered simultaneously.
      </p>
      <p>Copyright c 2019 for this paper by its authors. Copying permitted for private and
academic purposes.</p>
      <p>
        In this paper, we present a method based on FCA and pattern structures
for discovering a specific type of bicluster: coherent-sign-changes bicluster. An
existing approach in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] can mine this bicluster type, but it is statistical, since its
discovery of CSC biclusters is based on the magnitude of the expression changes.
Our approach is more symbolic, by taking into account only the direction of
the changes, with expectation of detecting larger biclusters. Our FCA-based
method also gives us the hierarchical structure of all biclusters, allowing an
easier interpretation of the results by experts. Furthermore, pattern structures
and AddIntent algorithm allows us to define a threshold of bicluster size, so that
we can limit the amount of retrieved biclusters.
      </p>
      <p>This paper is organized as follows. First, we discuss some related work about
the discovery of biclusters with coherent sign changes in Section 2. Then, some
basic definitions of biclustering are presented in Section 3. We explain our
approach in Section 4, and discuss the experiments in Section 5. Finally, we
concludes our article and give some research perspectives in Section 6.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        The row–column clustering was introduced in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], and Cheng and Church [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
were the firsts to used the term biclustering while working on gene expression
data. A bicluster in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is a subset of genes and a subset of conditions with a high
similarity score, statistically measured by calculating variances over all values in
the submatrix.
      </p>
      <p>
        Still in the domain of gene expression data, the algorithm called SAMBA
was proposed in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] to discover a submatrix where the expressions of a subset
of genes significantly changes across a subset of conditions. The first model of
SAMBA searches a submatrix where there is a joint change across all genes,
without looking whether it is an increase or a decrease. The second model takes
into account the direction of the change, such that any two conditions in the
submatrix have either always the same effect or always the opposite effect. We
call this type of submatrix a coherent-sign-changes bicluster, as denoted in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>
        Regarding bicluster discovery based on FCA, several methods were proposed.
In a binary matrix, dense approximate bicluster discovery was studied in [
        <xref ref-type="bibr" rid="ref11 ref8">8, 11</xref>
        ]
based on standard FCA. This is similar to mining formal concept, but instead
of “exact” concepts, the authors relax the problem such that the “approximate”
concepts (having a certain amount of empty cells) can also be detected. For
biclustering with similar values in a numerical matrix, Kaytoue et al. in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]
proposed standard FCA with scaling and interval pattern structures. Triadic
Concept Analysis was also studied in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] to extract this bicluster type.
Furthermore, a partition pattern structure was presented in [
        <xref ref-type="bibr" rid="ref13 ref5">5, 13</xref>
        ] for mining bicluster
with constant columns.
      </p>
    </sec>
    <sec id="sec-3">
      <title>Biclustering</title>
      <p>
        In this section, we recall the basic background and discuss illustrative
examples of the different types of biclusters as described in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. We consider that a
dataset is composed of a set of objects G, each of which has values over a set
of attributes M . This dataset can be represented as a numerical matrix where
each cell indicates the value of an object w.r.t. an attribute, and can be formally
written in Def. 1.
      </p>
      <p>Definition 1 (Dataset). A dataset is a numerical context (G; M; I) where G is
a set of objects, M is a set of attributes, and I corresponds to m(g), which is
the value of m 2 M for object g 2 G.</p>
      <p>One may be interested in finding which subset of objects possesses the same
values w.r.t. a subset of attributes. Regarding the matrix representation, this is
equivalent to the problem of finding a submatrix that has a constant value over
all of its elements (example in Table 1a). This task is called biclustering with
constant values, which is a simultaneous clustering of the rows and columns of
a matrix.</p>
      <p>In coherent-sign-changes (CSC) bicluster, the matrix is binary. In this
bicluster, each row is correlated (either entirely identical or entirely opposite) to all
other rows. In the example in Table 1c, the first row is identical to the second
and opposite to the third and fourth. We can also see this bicluster by
comparing the columns. In the example, the first column is identical to the second and
opposite to the third. Before formalizing the definition of CSC bicluster, first we
introduce the notation of column submatrix and its similarity.</p>
      <p>Definition 2 (Column submatrix). In a binary dataset (G; M; I), given a set of
objects A G and an attribute m 2 M , m(A) is the column submatrix formed
by the attribute m over A.</p>
      <p>The submatrix mj (A) is equal to mk(A), denoted as mj (A) ' mk(A), if all
rows in mj (A) are either entirely identical or entirely opposite to the
corresponding rows in mk(A). This can be formally written as:
mj (A) ' mk(A) ()8g 2 A : mj (g) = mk(g) or</p>
      <p>8g 2 A : mj (g) = :mk(g):</p>
      <p>With the previous notation, the definition of a CSC bicluster is given as
follows.</p>
      <p>Definition 3 (Coherent-sign-changes bicluster). Given a binary dataset (G; M; I),
a pair (A; B) (where A G, B M ) is a coherent-sign-changes bicluster if
8mj ; mk 2 B : mj (A) ' mk(A).</p>
      <p>In the bicluster discovery, a bicluster can be found entirely within another
larger bicluster. We then say that this small bicluster is not maximal. The notion
of maximal bicluster is the same for any type of bicluster, and given in the
following definition.</p>
      <p>Definition 4. (Maximal bicluster) Given a dataset (G; M; I), a bicluster (A; B)
is a maximal bicluster if adding an object g 2 GnA to A or an attribute m 2
M nB to B does not result in a bicluster.
4</p>
    </sec>
    <sec id="sec-4">
      <title>The Pattern Structures of Signed Partition</title>
      <p>
        In the task of CSC bicluster discovery in a formal context (G; M; I), we propose
an approach based on partition pattern structures. Instead of partition of objects
in G as described in [
        <xref ref-type="bibr" rid="ref2 ref5">2, 5</xref>
        ], here we use partition of attributes in M . It is still
similar to an object partition since an attribute partition covers every attribute
in M and there is no overlapping between any two partition components.
      </p>
      <p>To formally define our signed partition, first we define the notion of signed
attribute and signed partition component as follows.</p>
      <p>Definition 5 (Signed attribute). Let M be a set of attributes, m 2 M be an
attribute, and 2 f ; +g be a sign. A signed attribute m is an attribute m
having a sign .</p>
      <p>Definition 6 (Signed partition component). A signed partition component (or
sp-component ) c is a subset of M , where each attribute in c is associated to their
corresponding sign . Therefore, c = fm1; ; mng.</p>
      <p>For example, m1+ is a signed attribute where the sign + is given to m1, and
fm1+; m2 ; m4+g is a signed partition component. Since an sp-component contains
not only attributes but also their associated sign, we define the equality of two
sp-components according to these two aspects as follows.</p>
      <p>Definition 7 (SP-component equality). Any two sp-components are equal iff
both contain the same set of attributes, and they have either entirely same sign
or entirely opposite sign.</p>
      <p>Therefore, if we have c1 = fm1+; m2 ; m4+g, c2 = fm1+; m2 ; m4+g, and c3 =
fm1 ; m2+; m4 g, then c1 = c2 = c3.</p>
      <p>Definition 8 (Signed partition). A signed partition (or s-partition) d is a
collection of sp-components, written as d = fc1; ; cng, such that every attribute
in M is present in exactly one sp-component.</p>
      <p>For example, given M = fm1; ; m4g, then ffm1+; m2 ; m4+g; fm3+gg is a
valid signed partition of M . The set of all possible s-partitions is denoted as
D. This allows us to create an s-partition mapping : G ! D which assigns
an object to an s-partition over M . For an object m, (m) is an s-partition
containing only one sp-component. This sp-component contains all attributes in
M with the corresponding sign according to the object g. Example from Table 2:
(1)
(2)
(g1) = (g2) = ffm1+; m2+; m3 ; m4 gg
(g3) = ffm1 ; m2 ; m3+; m4 gg
(g4) = ffm1+; m2+; m3+; m4+gg
(g5) = ffm1 ; m2 ; m3 ; m4 gg:
(g) = ffmjj jmj 2 M gg
where j = mj (g):
Notice that since the sp-components in (g4) and (g5) contain the same
attributes with entirely opposite sign, according to Def. 7 we have (g4) = (g5).
This mapping is formulated as follows:
4.2</p>
      <sec id="sec-4-1">
        <title>Signed Partition Space</title>
        <p>For the task of CSC bicluster discovery, here we define relations between any two
s-partitions. The set of all possible s-partitions D is a meet-semilattice where we
can define the meet of any two s-partitions.</p>
        <p>First, we define the notation m(c) as the sign of an attribute m in an
spcomponent c. For example, if c = fm1+; m2 ; m3 g, then m1(c) = +. With this
notation, we define the similarity (\ ) between any two sp-components as:
c1 \
c2 = ffmj 2 c1jmj (c1) = mj (c2)g;</p>
        <p>fmj 2 c1jmj (c1) = :mj (c2)gg;
where corresponds to the sign of mj in c1, i.e. mj(c1).</p>
        <p>In other words, the operator \ between c1 and c2 gives fc12; c1j2g. The c12
represents all attributes who are present in c1 and c2 with the same sign, while
c1j2 represents all attributes who are present in c1 and c2, but with opposite
sign. The signs in the resulting sp-component are the same as those in the first
sp-component. Example:</p>
        <p>if cx = fm1+; m2 ; m3 ; m4 g
and cy = fm1+; m2 ; m3+; m4+; m5 g;
then cx \ cy = ffm1+; m2 g; fm3 ; m4 gg:
Since the signs in c1j2 follow the first sp-component, the result of c1 \ c2 could
be different to c2 \ c1. This can be resolved by Def. 7 that ensures the
commutativity of \ . For example:
cx \ cy = ffm1+; m2 g; fm3 ; m4 gg;
cy \ cx = ffm1+; m2 g; fm3+; m4+gg;
cx \ cy = cy \ cx:</p>
        <p>Having defined the similarity of any two sp-components, we can now define
the similarity of any two s-partitions. The similarity (or the meet) of two
spartitions d1 = fc1 ckg and d2 = fc1 cng, with k = jd1j and n = jd2j, is
defined as:</p>
        <p>d1 u d2 = fci \ cjj8ci 2 d1; cj 2 d2g;
and the order between two s-partitions is given by:</p>
        <p>d1 v d2 () d1 u d2 = d1:
Let C the set of all sp-components in M , and D is the set of all s-partitions in
M . We have \ : C2 ! D and u : D2 ! D. Example from Table 2:
(g1) u (g3) = ffm1+; m2+; m3 ; m4 gg u ffm1 ; m2 ; m3+; m4 gg</p>
        <p>= ffm4 g; fm1+; m2+; m3 gg:
Suppose that d1 = ffm4 g; fm1+; m2+; m3 gg. Then d1 v (g1), d1 v (g2), and
d1 v (g3).</p>
        <p>In order to define a partial order among d 2 D, the u operator has to be
commutative, idempotent, and associative. These properties are shown in the
following propositions.</p>
        <p>Proposition 1. The operator u is commutative, i.e. d1 u d2 = d2 u d1.
Proof. Consider d1 = fc1
cng with n = jd1j and d2 = fc1</p>
        <p>ckg with k = jd2j.</p>
        <p>d1 u d2 = d2 u d1
fci \ cjj8ci 2 d1; cj 2 d2g = fcj \ cij8ci 2 d1; cj 2 d2g
It is previously stated that \ is also commutative. Therefore, both sides of the
equation above are equal.
(3)
(4)
Proposition 2. The operator u is idempotent, i.e. d1 u d1 = d1.
Since there is no overlap among ci 2 d1, then ci \ cj is an empty set for i 6= j.
Therefore :
d1 u d1 = fci \ cjj8ci; cj 2 d1 and i = jg
= fci \ cij8ci 2 d1g
= fcijci 2 d1g
Proposition 3. The operator u is associative, i.e. (d1 ud2)ud3 = d1 u(d2 ud3).
Proof. Consider d1 = fc1 cng with n = jd1j, d2 = fc1
and d3 = fc1 cqg with q = jd3j.
cpg with p = jd2j,
(d1 u d2) u d3
=fci \ cjj8ci 2 d1; cj 2 d2g u d3
=fci \ cj \ ckj8ci 2 d1; cj 2 d2; ck 2 d3g
=d1 u fcj \ ckj8cj 2 d2; ck 2 d3g
=d1 u (d2 u d3)</p>
        <p>With the definition of similarity (u) and the associated partial ordering (v)
between two s-partitions, we then define the notion of signed partition pattern
concept in the following subsection.
4.3</p>
      </sec>
      <sec id="sec-4-2">
        <title>Signed Partition Pattern Structures</title>
        <p>Let G a set of objects, M a set of attributes. The lattice of s-partitions of M is
(D; u), where : G ! D maps an object to an s-partition as defined in Eq. 1.</p>
        <p>A signed partition pattern structure is determined by the triple (G; (D; u);
), where the derivation operators for A G and d 2 D are defined as:
A =</p>
        <p>G(g);
g2A
d = fg 2 Gjd v (g)g:
(5)
(6)
(A; d) is a signed partition pattern concept (or spp-concept ) when A = d
and d = A. From an spp-concept (A; d), a CSC bicluster is any pair (A; c) where
c 2 d (we can ignore the attribute signs in c). All spp-concepts from Table 2
are listed in Table 3. In the concept (fg1; g2; g3g; ffm1+; m2+; m3 g; fm4 gg) for
example, we can find the CSC bicluster (fg1; g2; g3g; fm1; m2; m3g). Looking back
to the original table, this CSC bicluster means that in A = fg1; g2; g3g, we have
m1(A) ' m2(A) ' m3(A) (recall the definition of ' in Section 3).</p>
        <p>The order between any two spp-concepts is given by (A1; d1) (A2; d2) ()
A1 A2 or d2 v d1. Using this order, the lattice of all spp-concepts from Table 2
can be constructed and is shown in Figure 1. It should be noticed that the lattice
is readable and interpretable only if its size is small. This lattice is useful not
only for understanding the hierarchical structure among all biclusters, but also
for detecting maximal biclusters.</p>
        <p>
          By Def. 4, the bicluster (fg1; g2; g4; g5g; fm1; m2g) from Table 2 is not
maximal, since we can add g3 that constructs another bicluster (fg1; g2; g3; g4; g5g;
fm1; m2g). The non-maximal biclusters can be detected from the concept lattice
[
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. Consider two concepts (A1; d1) and (A2; d2) such that (A1; d1) (A2; d2),
and an sp-component c. The bicluster (A1; c) is maximal iff c 2 d1 and c 62 d2.
        </p>
        <p>For example, consider the concept p1 = (fg1; g2; g4; g5g; ffm1+; m2+g; fm3+;
m4+gg) and p2 = (fg1; g2; g3; g4; g5g; ffm1+; m2+g; fm3+g; fm4+gg), where p1 p2.
We see that the sp-component fm1+; m2+g is in the intent of both p1 and p2.
Therefore, the bicluster (fg1; g2; g4; g5g; fm1; m2g) from p1 is not maximal.
As described in Section 3, CSC bicluster is a submatrix in a binary matrix.
Therefore, given a numerical matrix, it is required to transform it into binary
matrix. This can be done by scaling, for example by introducing a threshold,
and each numerical value can be transformed to + or based on whether it is
above or below the threshold. In a gene expression data for example, a threshold
can be the normal expression level for each gene. An expression that is above
(or below) this normal level should be transformed to + (or respectively).</p>
        <p>
          In the task of mining formal concepts, the algorithm called AddIntent was
proposed in [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. This algorithm can be used for any pattern structures by
defining the meet (u) and the order (v) between any two descriptions. Having defined
the meet in Eq. 3 and the order in Eq. 4, we then use AddIntent to mine
sppconcepts in a binary matrix. Furthermore, this algorithm is also effective for
building a concept lattice, which is needed in our case to detect the maximality
of any CSC bicluster.
5
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Experiments</title>
      <p>
        As previously explained in Section 4, CSC biclusters can be found in any
sppconcept. Therefore, from a binary matrix, we should retrieve all spp-concepts.
To do that, we reuse the AddIntent source code in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] by modifying the
definition u and v operators. This algorithm also allows us to build the lattice
of all concepts. We can reduce the lattice by choosing a threshold that
applies to the intent of a concept. This threshold defines the minimal size of an
sp-component that an intent should have. Since the lattice construction is
performed by a bottom-up approach, this threshold allows to “prune” the lattice.
      </p>
      <p>For example, with = 3, the lattice for Table 2 does not contain the
concept (fg1; g2; g4; g5g; ffm1+; m2+g; fm3+; m4+gg)–since none of its sp-components
has 3 attributes–as shown in Figure 2.</p>
      <p>
        We tested our method to lymphoma dataset provided in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. It contains the
numerical expression levels of 4026 genes over 96 tissues. The objective of CSC
bicluster discovery in this dataset is to find a subset of genes that behave in a
consistent way over a subset of tissues. For this task, we convert this numerical
dataset to binary by assigning and + for the values &lt; 0 and 0 respectively.
      </p>
      <p>The number of concepts and runtime for different thresholds are listed in
Table 4. We tested three thresholds: 70, 80, and 90. As shown here, higher can
reduce the number of concepts, and consequently reduce the runtime.</p>
      <p>For = 70, around 157K concepts are obtained. Among them, only 153K
have extent size larger than 1. This means that there are 153K CSC biclusters
having at least 70 columns and at least 2 rows. Furthermore, still with = 70, the
largest extent size is 8, meaning that among the biclusters with 70 columns,
there are no bicluster with &gt; 8 rows.</p>
      <p>Higher corresponds to higher number of columns in the biclusters and thus
lower number of rows. With = 90, we see that among the biclusters with 90
rows, there are no bicluster with &gt; 3 rows.
In this paper we have presented an approach to mine biclusters with coherent
sign changes in a binary matrix. We formulated our method based on partition
pattern structures. The generated lattice allows us to examine the maximality
of discovered biclusters. Another advantage is that we can choose a threshold
that defines a minimum number of columns of the biclusters. This is also useful
to reduce the number of concepts and the computational time.</p>
      <p>The computational time can be further reduced by taking into account the
maximality of a bicluster. If the intent of a concept p contains an sp-component
c that is present in the intent of p’s superconcept, then this c indicates a
nonmaximal bicluster. In this case, c should be removed from the intent of p.
However, this may change the definition of u.</p>
      <p>
        Another aspect that should be studied is the possibility of a matrix that has
another sign in addition to + and . This new sign can represent a missing
value, or in the case of threshold-based transformation, a value that is equal to
the threshold. It can be resolved using tolerance relation introduced in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], such
that a value equal to the threshold should be regarded as similar to both + and
. In the case of missing value, it can be resolved by modifying the definition of
attribute partition in Def. 8 which permits an attribute to be not present in any
sp-component. This modification may consequently require modifications on the
definition of meet and order between s-partitions.
      </p>
      <p>
        Eventually, the CSC bicluster discovery can be applied in a domain besides
gene expression data. Frequent gradual itemset mining was studied in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] to
extract gradual rules from a numerical table, e.g. a hotel price table with 3
attributes: mp for city population, md for distance from city center, and mr for
room price. We may find an sp-component fmp+; md ; mr+g. It is related to the
rule saying “the more/less mp, the less/more md, then the more/less mr”.
      </p>
      <p>
        Moreover, some studies ([
        <xref ref-type="bibr" rid="ref12 ref6">6, 12</xref>
        ]) show the benefits of biclustering in the
recommendation systems. In a user–movie rating matrix for example, a
constantcolumn bicluster represents a set of users having the same interest across a set
of movies. On the other hand, a CSC bicluster in this matrix represents a set of
users having either the same or the opposite interest. This is useful for a new
user u: we can recommend movies liked by users similar to u and movies disliked
by users opposite to u.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Alizadeh</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eisen</surname>
            ,
            <given-names>M.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Davis</surname>
            ,
            <given-names>R.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ma</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lossos</surname>
            ,
            <given-names>I.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosenwald</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boldrick</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sabet</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tran</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          , et al.:
          <article-title>Distinct types of diffuse large b-cell lymphoma identified by gene expression profiling</article-title>
          .
          <source>Nature</source>
          <volume>403</volume>
          (
          <issue>6769</issue>
          ),
          <volume>503</volume>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Baixeries</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaytoue</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Napoli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Characterizing functional dependencies in formal concept analysis with pattern structures</article-title>
          .
          <source>Annals of Mathematics and Artificial Intelligence</source>
          <volume>72</volume>
          ,
          <fpage>129</fpage>
          -
          <lpage>149</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. Cheng, Y.,
          <string-name>
            <surname>Church</surname>
            ,
            <given-names>G.M.:</given-names>
          </string-name>
          <article-title>Biclustering of expression data</article-title>
          .
          <source>In: ISMB</source>
          . vol.
          <volume>8</volume>
          , pp.
          <fpage>93</fpage>
          -
          <lpage>103</lpage>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Codocedo</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bosc</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaytoue</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boulicaut</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Napoli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A proposition for sequence mining using pattern structures</article-title>
          .
          <source>In: International Conference on Formal Concept Analysis</source>
          . pp.
          <fpage>106</fpage>
          -
          <lpage>121</lpage>
          . Springer (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Codocedo</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Napoli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Lattice-based biclustering using partition pattern structures</article-title>
          .
          <source>In: Proceedings of the Twenty-first European Conference on Artificial Intelligence</source>
          . pp.
          <fpage>213</fpage>
          -
          <lpage>218</lpage>
          . IOS Press (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Codocedo-Henríquez</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Contributions à l'indexation et à la récupération d'information utilisant l'analyse formelle de concepts</article-title>
          .
          <source>Ph.D. thesis</source>
          , Université de Lorraine (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Di-Jorio</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Laurent</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Teisseire</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Mining frequent gradual itemsets from large databases</article-title>
          .
          <source>In: International Symposium on Intelligent Data Analysis</source>
          . pp.
          <fpage>297</fpage>
          -
          <lpage>308</lpage>
          . Springer (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Gnatyshak</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ignatov</surname>
            ,
            <given-names>D.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Semenov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poelmans</surname>
          </string-name>
          , J.:
          <article-title>Analysing online social network data with biclustering and triclustering</article-title>
          .
          <source>In: Proceedings of the “Concept Discovery in Unstructured Data” conference</source>
          . vol.
          <volume>871</volume>
          , pp.
          <fpage>30</fpage>
          -
          <lpage>39</lpage>
          .
          <string-name>
            <surname>Citeseer</surname>
          </string-name>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Govaert</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nadif</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Co-clustering.</surname>
          </string-name>
          Wiley-IEEE Press (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Hartigan</surname>
            ,
            <given-names>J.A.</given-names>
          </string-name>
          :
          <article-title>Direct clustering of a data matrix</article-title>
          .
          <source>Journal of the american statistical association</source>
          <volume>67</volume>
          (
          <issue>337</issue>
          ),
          <fpage>123</fpage>
          -
          <lpage>129</lpage>
          (
          <year>1972</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Ignatov</surname>
            ,
            <given-names>D.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poelmans</surname>
          </string-name>
          , J.:
          <article-title>Concept-based biclustering for internet advertisement</article-title>
          .
          <source>In: Data Mining Workshops (ICDMW)</source>
          ,
          <year>2012</year>
          IEEE 12th International Conference on. pp.
          <fpage>123</fpage>
          -
          <lpage>130</lpage>
          . IEEE (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Ignatov</surname>
            ,
            <given-names>D.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poelmans</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zaharchuk</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Recommender system based on algorithm of bicluster analysis RecBi</article-title>
          .
          <source>arXiv preprint arXiv:1202.2892</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Kaytoue</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Traitement de données numériques pas analyse formelle de concepts et structures de patrons</article-title>
          .
          <source>Ph.D. thesis, Université Henri Poincare - Nancy</source>
          <volume>1</volume>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Kaytoue</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Assaghir</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Napoli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S.O.</given-names>
          </string-name>
          :
          <article-title>Embedding tolerance relations in formal concept analysis: an application in information fusion</article-title>
          .
          <source>In: Proceedings of the 19th ACM international conference on Information and knowledge management</source>
          . pp.
          <fpage>1689</fpage>
          -
          <lpage>1692</lpage>
          . ACM (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Kaytoue</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Macko</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Napoli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Biclustering meets triadic concept analysis</article-title>
          .
          <source>Annals of Mathematics and Artificial Intelligence</source>
          <volume>70</volume>
          (
          <issue>1-2</issue>
          ),
          <fpage>55</fpage>
          -
          <lpage>79</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Kaytoue</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Napoli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Biclustering numerical data in formal concept analysis</article-title>
          .
          <source>In: International Conference on Formal Concept Analysis</source>
          . pp.
          <fpage>135</fpage>
          -
          <lpage>150</lpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Kaytoue</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Napoli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duplessis</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Mining Gene Expression Data with Pattern Structures in Formal Concept Analysis</article-title>
          .
          <source>Information Science</source>
          <volume>181</volume>
          (
          <issue>10</issue>
          ),
          <fpage>1989</fpage>
          -
          <lpage>2001</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Madeira</surname>
            ,
            <given-names>S.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oliveira</surname>
            ,
            <given-names>A.L.</given-names>
          </string-name>
          :
          <article-title>Biclustering algorithms for biological data analysis: a survey</article-title>
          .
          <source>IEEE/ACM Transactions on Computational Biology and Bioinformatics (TCBB) 1</source>
          (
          <issue>1</issue>
          ),
          <fpage>24</fpage>
          -
          <lpage>45</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>van der Merwe</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Obiedkov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kourie</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>AddIntent: A new incremental algorithm for constructing concept lattices</article-title>
          .
          <source>In: International Conference on Formal Concept Analysis</source>
          . pp.
          <fpage>372</fpage>
          -
          <lpage>385</lpage>
          . Springer (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Tanay</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sharan</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shamir</surname>
          </string-name>
          , R.:
          <article-title>Discovering statistically significant biclusters in gene expression data</article-title>
          .
          <source>Bioinformatics</source>
          <volume>18</volume>
          (
          <issue>suppl</issue>
          _1),
          <fpage>S136</fpage>
          -
          <lpage>S144</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>