dataesr/scientific-paragraphs-categorization huggingface dataset:
BoNesis BoNesis  (Paulevé, 2023a)  is a Python library which has been primarily designed for identifying BNs satisfying user-given dynamical properties among a given domain of BNs and with the MP update mode. It takes as input (1) a domain of BNs F, and (2) a set of Boolean dynamical properties φ, and can enumerate the BNs f ∈ F such that f |= φ, i. e. , f verifies the properties φ. Currently, the domain of BNs F can be one of the following: • A singleton locally-monotone BN F = {f }. In that case, BoNesis can be employed as a model checker to verify that f has the specified dynamical properties. In this paper, this is the main setting we will consider, in order to predict perturbations to reprogram the attractors of f. • An explicit ensemble of locally-monotone BNs F = {f 1 , • • • , f m }.
• Any locally-monotone BN matching with a given influence graph G: F = {f | G (f ) ⊆ G}. An influence graph is a signed digraph between components of the form ({1, • • • , n}, V ) with V ⊆ {1, • • • , n} × {+1, -1} × {1, • • • n}. The influence graph of a BN f , denoted by G (f ) has an edge i s - → j if and only there exists a configuration x ∈ B n such that f j (x 1 ,. , x i-1 , 1, x i+1 ,. , x n ) -f j (x 1 ,. , x i-1 , 0, x i+1 ,. , x n ) = s. • Any locally-monotone BN matching with a partially-defined BN following the AEON framework  (Beneš, Brim, Pastva, and Šafránek, 2021). BoNesis offers a Python programming interface to declare the dynamical properties over BNs, including reachability, fixed points and trap spaces. BoNesis relies on Answer-Set Programming (ASP) and the ASP solver clingo (https://potassco.
org/clingo) for the enumeration of solutions. ASP is a declarative logic programming framework for expressing combinatorial decision problems and enumerate their solutions, possibly with optimizations. ASP can be employed for efficiently solving ∃and ∃∀-expressions, thus having an expressiveness higher than classical SAT. We emphasize that BoNesis is currently restricted to locally-monotone BNs only for which efficient logical encoding of domains of models are possible. Whereas it is a common assumption when modeling of biological systems (a node cannot be both an activator and inhibitor of a same other node), non-monotone BNs are also employed, and cannot be addressed with the current implementation. The usage of BoNesis Python programming interface and command line will be explained along with the code snippets provided in the next sections.
Results We show how the general declarative approach of BoNesis can be instantiated to compute the complete solutions to the P1, P2, P3, and P4 reprogramming problems on BNs, and also extend the reasoning to ensembles of BNs. Importantly, note that BoNesis currently supports only locally-monotone BNs. This is an executable paper which demonstrates the use of BoNesis for the reprogramming of BNs. The corresponding notebook can be downloaded from https://doi. org/10. 5281/ zenodo. 7733095. Its execution requires the Jupyter notebook system, Python, and the Python package bonesis to be installed. Alternatively, the notebook can be executed within the CoLo-MoTo Docker distribution  (Naldi et al. , 2018)   Alternatively, the computation of reprogramming perturbations from single BNs can be performed using the command line program bonesis-reprogramming, provided alongside the bonesis Python package.
In each case, we briefly study the complexity of the associated decision problem (existence of a perturbation given the desired reprogramming property), and give the Python and command line recipe to identify the perturbations with BoNesis. The following table summarizes the results, with the complexity in the locally-monotone case and command line usage: Problem Complexity Command line P1 ∃∀ [base] --fixpoints P2 ∃∀ [base] --fixpoints --reachable-from z P3 ∃∀∃ [base] P4 ∃∀∃ [base] --reachable-from z where [base] is the command line bonesis-reprogramming model. bnet M k, with model. bnet the path to a file in BooleanNet format (http://colomoto. org/biolqm/doc/format-bnet. html), M specifies the marker as a JSON map, k is the maximum number of simultaneous perturbations, and z is the initial configuration as a JSON map.
With the BoNesis Python interface, this reprogramming property can be declared as follows, where f is a BN, M the marker (specified as Python dictionary associating a subset of components to a Boolean value), and k the maximum number of components that can be perturbed (at most n): In [3]: def marker_reprogramming_fixpoints(f: BooleanNetwork, M: dict[str,bool], k: int, ensure_exists:bool=True): # f: Boolean network; M: marker; k: maximum number of components to perturb bo = bonesis. BoNesis(f) P = bo. Some(max_size=k) # perturbations to identify with bo. mutant(P): # impose that all the fixed points of the perturbed BN match with M bo. all_fixpoints(bo. obs(M)) if ensure_exists: # impose the existence of at least one fixed point matching with M bo. fixed(~bo. obs(M)) return P. assignments() The line bo = bonesis.
In [4]: f = BooleanNetwork({ "A": "B", "B": "!A", "C": "!A & B" }) f Out[4]: A <-B B <-!A C <-!A&B This example BN has two components in negative feedback: they will oscillate forever. The state of the third component C is then determined by the state of the oscillating components. The following command returns its influence graph: In [5]: f. influence_graph() The resulting graphics is reproduced in Figure  1. With the (fully) asynchronous update mode, the system has a single attractor, consisting of all the configurations of the network. In [6]: f. dynamics("asynchronous") The resulting graphics is reproduced in Figure  2. Recall that the fixed points are identical in asynchronous and MP. We use mpbn (https://github. com/bnediction/mpbn) to analyze the dynamical properties with the MP update mode: In [7]: mf = mpbn.
The solution { A : 0, C : 1} is not returned as { A : 0} is sufficient to acquire the desired dynamical property. In our BoNesis code snippet defined above, by default we ensure that the perturbed BN possesses at least one fixed point. When relaxing this constraint, we obtain that the empty perturbation is the (unique) minimal solution, as f has no fixed point. In [10]: list(marker_reprogramming_fixpoints(f, {"C": 1}, 2, ensure_exists=False)).
(  4 ) ∃P ∈ M ≤k , ∀x ∈ B n , ((f /P)(x) = x ∧ x ∈ TS P (z)) =⇒ x |= M. As with the previous case, in practice we may also want that there exists at least one fixed point reachable from z. With the BoNesis Python interface, this reprogramming property is declared as follows, where f is a BN, z the initial configuration (Python dictionary), M the marker, and k the maximum number of components that can be perturbed (at most n): In Compared to the previous code snippet, this function relies on specific operators to restrict the properties to the fixed point reachable from z. The instruction ~bo. obs(z) refers to a specific configuration matching with z; ~bo. obs(z) >> "fixpoints" ˆ{bo. obs(M)} specifies that all the fixed points reachable from such configuration have to match with at least one configuration given in the set {bo.
The program bonesis-reprogramming can perform P2 by specifying the --rechable-from option giving the initial configuration in JSON format: In  [20] : with open("example2. bnet", "w") as fp: fp. write(f. source()) In  [21] : !bonesis-reprogramming example2. bnet '{"C": 1}' 2 --fixpoints \ --reachable-from '{"A": 1, "B": 1, "C": 0, "D": 0}' {'D': 0} {'C': 1}.
e. , of the minimal trap spaces of the BN. With the BoNesis Python interface, this reprogramming property is declared as follows, where f is a BN, M the marker, and k the maximum number of components that can be perturbed (at most n): In  [22] : def marker_reprogramming(f: BooleanNetwork, M: dict[str,bool], k: int): bo = bonesis. BoNesis(f) coP = bo. Some(max_size=k) with bo. mutant(coP): x = bo. cfg() bo. in_attractor(x) x != bo. obs(M) return coP. complementary_assignments() The idea of the above code snippet is to declare the property of being a bad perturbation (coP). In the context of this perturbation, we declare with x=bo. cfg() a configuration. Then, bo. in_attractor(x) imposes that x belongs to an attractor (minimal trap space) of the perturbed BN; and the x != bo. obs(M) instruction adds the constraint that x must not match with M.
Loïc Paulevé expression: (11) ∃P ∈ M ≤k , ∀x ∈ B n , x |= M ∨ x / ∈ ρf /P mp (z) ∨ ∃y ∈ B n , y ∈ TS P (x), TS P (y ) = TS P (x) The resolution of the problem can be approached in a very similar way to P3, i. e. , by solving its complement. The equation is almost the same, with the addition that x must be reachable from z, leading to the ∃∀-expression: (12) ∃P ∈ M ≤k , ∃x ∈ B n , x ∈ TS P (z) ∧ x |= M ∧ ∀y ∈ B n , y ∈ TS P (x) =⇒ TS P (y ) = TS P (x). With the BoNesis Python interface, this reprogramming property is declared as follows, where f is a BN, z the initial configuration, M the marker, and k the maximum number of components that can be perturbed (at most n): In [34]: def source_marker_reprogramming(f: BooleanNetwork, z: dict[str,bool], M: dict[str,bool], k: int): bo = bonesis. BoNesis(f) coP = bo.
Some(max_size=k) with bo. mutant(coP): x = bo. cfg() bo. in_attractor(x) x != bo. obs(M) ~bo. obs(z) >= x return coP. complementary_assignments() The above code snippet is very similar to the previous marker_reprogramming, with the addition of the ~bo. obs(z) >= x instruction which declares that x, a configuration which belongs to an attractor of the perturbed BN and which does not match with M, is reachable from z. The corresponding command line is of the form bonesis-reprogramming model. bnet M k --reachable-from z where model. bnet is a BN encoded in BooleanNet format, M specifies the marker as a JSON map, k is the maximum number of perturbations, and z is the initial configuration as a JSON map. Example. Let us consider again the BN f analyzed in the previous section. By focusing only on attractors reachable from the configuration where A is fixed to 1 and other nodes to 0, the reprogramming required to make all attractors have C fixed to 1 consists only of fixing D to 0.
Discussion In this paper, we demonstrated how the BoNesis Python library can be employed to fully characterize permanent perturbations which guarantee that all the fixed points or all minimal trap spaces of the perturbed BN have a subset of components fixed to desired values (marker). We focused on reprogramming for achieving elementary dynamical properties, that are the fixed points or attractors, optionally reachable from a given configuration. Nevertheless, the snippets shown in this paper can be extended to account for more complex or specific dynamical properties after mutation, e. g. , existence of additional trajectories, considering multiple initial configurations. It should be noted that the candidate combinations of perturbations are computed solely based on the Boolean dynamics, and do not account for experimental feasibility, e.
Acknowledgements The author would like to thank  Kyungduk Moon  and  Kangbok Lee  for stimulating discussions and for providing the model and configuration files for the benchmarks of Moon, Lee, Chopra, and Kwon (2022). Preprint version v2 of this article has been peer-reviewed and recommended by  Peer Community In Math Comp Biol  (https://doi. org/10. 24072/pci. mcb. 100183).
For the hindcast period, the forcing of the OSMOSE model were the plankton fields (phyto and zooplankton, taken from the regional physical and biogeochemical ROMS-PISCES model) and the spatial distribution of fish (estimated using remote sensing environmental inputs and Ecological Niche Models, Oliveros-Ramos 2014). In addition, larval and fishing mortalities were estimated within the model for 1992-2008 using multiple sources of data time series  (Oliveros-Ramos et al. 2017 ) and an evolutionary algorithm (Oliveros-Ramos 2016). For the forecast period (2006-2100), plankton fields were derived from a statistical downscaling and bias correction procedure applied to the outputs from ESMs (Oliveros-Ramos et al. submitted); while the spatial distribution maps of fish were constructed using the same models for the hindcast period but predicted over the future environmental variables.
Spatial distribution of fish We used the statistical niche models for several key species of the Peruvian Upwelling Ecosystem developed by Oliveros-Ramos (2014). The models were constructed by logistic regression using GAMs. The dependent variable was the occurrence of the species in the acoustic surveys of IMARPE (Peruvian Marine Research Institute), and the predictors the monthly averages of remote-sensing and reanalysis environmental data (SST, SSS and NPP, see Table  3 ). The best model for each species was selected using the AUC in the validation set (random 30-70 split for training/validation) as detailed in Oliveros-Ramos (2014). These models were used to predict the spatial distribution in the forecast period using the inputs taken from the ESMs, after the same bias correction and downscaling process.
Acknowledgements. We thank the financial support from the  IMARPE-PRODUCE-IADB Project "Adaptation to climate change of the fishery sector and marine-coastal ecosystem of Perú"  ( PE-G1001/PE-T1297 ). This work has been partially funded by the  BiodivErsA and Belmont Forum  project  SOMBEE   (BiodivScen programme ,  ANR  contract n• ANR-18-EBI4-0003-01 ). We acknowledge the support of the  Instituto del Mar del Peru (IMARPE)  and the  Institut de Recherche pour le Développement (IRD) , through the  LMI DISCOH ,  LMI ICEMASA  and  UMR MARBEC. We acknowledge the support of the  Fish-MIP group.
Variant Calling The 12 alignment (BAM) files corresponding to the 12 DNA libraries were merged in a single mpileup file using SAMtools  (Li et al. 2009 ) and a sync file was created using Popoolation2  (Kofler et al. 2011 ) with default parameters except for a minimum base quality set to 20. Positions corresponding to the aphid symbiont and mitochondria genomes were removed from the sync file, to analyze the pea aphid nuclear genome only. Genetics of sex loss in the pea aphid GBE Genome Biol. Evol. 15(9) https://doi. org/10. 1093/gbe/evad168 Advance Access publication 17 September 2023 A total of 11,954,278 SNP positions were identified, in which the least frequent allele was represented by at least four reads (MAC ≥4). This dataset also included 181,204 tri-allelic SNPs for which the third (least frequent) allele was represented by only one read.
This third allele was ignored and the SNP was considered biallelic. We checked that this subdataset showed the same signal as the full dataset (supplementary file 10, Supplementary Material online). To visualize the structure of the dataset and check that replicates from the same population cluster together as expected, a principal component analysis (PCA) was carried out on the 12 libraries with prcomp in R version 3. 6. 1 (R Core Team 2019). We used allele frequencies at 50,000 randomly drawn SNPs. Since the two libraries from each population grouped together (supplementary file 2, Supplementary Material online), we summed their allele counts as if they constituted only one library in all subsequent analyses. Thereafter, we refer to this dataset of 11,954,278 SNPs as the nonfiltered dataset.
Additional filters were then applied to select reliable and informative SNPs for the F ST and heterozygosity estimation. First, only SNP positions with a sequencing depth higher than 20 and lower than 60 per population were considered, the mean depth ranging from 31 to 37 depending on the population. The upper limit of 60 was chosen to avoid duplicated genomic regions not resolved in the reference genome, and the lower limit of 20 to discard SNPs whose sampling was too low for reliable allele frequency estimates. Second, a minor allele frequency threshold of 5% was applied to eliminate SNPs harboring rare alleles and which are not informative for a F ST -based genome scan. After applying these selection criteria, we obtained a filtered dataset of 4,633,747 SNPs.
Detection of Genomic Regions Associated With Reproductive Mode Variation We ran BayPass under the core model using the nonfiltered SNP dataset to compute the C2 genetic differentiation statistic  (Olazcuaga et al. 2020). This C2 statistic compares the standardized population allele frequencies (i. e. , the allele frequencies corrected for the population structure) between the two groups of populations specified by the binary covariable of interest, here the reproductive mode (CP or OP). As the number of SNPs was very large and computing time increases nonlinearly with the number of SNPs, we divided the full dataset into 100 subdatasets containing only 1 SNP every 100 SNPs along the genome as recommended by  Gautier et al. (2018). This strategy allowed analyzing all available SNPs while limiting the influence of linkage disequilibrium.
After checking for convergence with three independent runs of the first subdataset using options -nval 500 -thin 200 -npilot 10 -pilotlength 300 -burnin 500 for the Markov chain Monte Carlo algorithm, we ran the analysis on all 100 subsets. In parallel, to estimate genetic differentiation (F ST ) between populations with different reproductive modes, we summed allele counts in the filtered dataset (4. 6 million SNPs) for the three CP populations on one hand and for the three OP populations on the other hand. These counts were used to calculate F ST at each SNP between reproductive modes with the R package poolfstat, which implements F ST estimates for Pool-seq data  (Hivert et al. 2018 ). We then calculated the average F ST within 20-kb windows sliding by 5-kb steps to smooth its variation along the genome and precisely identify regions of high differentiation.
F ST within nonoverlapping 100-kb windows between the two reproductive mode and between all possible pairs of populations were computed in the same fashion. Heterozygosity (H E , following Nei 1973) was calculated per type of populations (OP or CP) at each SNP using allele frequencies from the filtered dataset. The mean H E per population type was then computed in 100-kb contiguous windows. To detect potential selective sweeps, Tajima's D and FWH were calculated for each population type. For Tajima's D, we used the pileup-formatted SNP files for the pool samples of each reproductive mode (i. e. , one OP and one CP population) generated previously. We randomly subsampled the datasets as recommended to achieve a uniform depth using PoPoolation 1. 2. 2  (Kofler et al. 2011) , using the following parameters: -targetcoverage 30 -max-coverage 360 -min-qual 20.
Tajima's D was then calculated using PoPoolation 1. 2. 2 over 100-kb nonoverlapping windows with the following parameters: -mincount 2 -min-covered-fraction 0. 5. Then, FWH was calculated with npstat  (Ferretti et al. 2013 ) for each type of population (OP or CP) on 100-kb windows. Input files consisted of the pileupformatted SNP files for the pool samples of each reproductive mode, and a fasta file of an outgroup (here, a cryptic species of the pea aphid complex adapted to feed on Ononis spinosa,  Peccoud et al. 2009). For this, Illumina pair-end 100 bp wholegenome re-sequencing data of a CP A. pisum individual of the Ononis host race used in a previous study  (Guyomar et al. 2018)  was retrieved from NCBI (Project PRJNA255937-SRX661218). After filtering the reads with fastp v0. 20, reads were aligned with bwa-mem v0.
Divergence time was then estimated by proportionality, assuming constant synonymous mutation rate between cp and op alleles and between the pea aphid and the peach-potato aphid M. persicae, whose divergence is estimated at some 22 million years ago and corresponds to a dS of 0. 2268  (Johnson et al. 2018; Mathers et al. 2020 ). dS at the 32 genes were also estimated using the genomes of two individuals of the alfalfa host race, which were previously sequenced using 100 bp Illumina read pairs. One is of CP phenotype (clone L9Ms03-Project PRJNA255937-SRX661210, see  Guyomar et al. 2018 ) and the other of OP phenotype (clone LL01-PRJNA255937-SRX20811676). Read filtering, mapping, SNPs calling and the construction of consensus sequences were carried out as previously described for the resequenced genome of an individual from the O.
Acknowledgments This work was supported by grants from the  French Research Agency  ( SexAphid   ANR-09-GENM-017-001 , Speciaphid  ANR-11-BSV7-0005  and  Mecadapt ANR-18-CE02-0012 ), the  INRAE-SPE Department (AAP GenAsex  and half a PhD grant for H. D. and P. N. ),  Région Bretagne  ( ARED , half a PhD grant for H. D. and P. N. ), and the  European Union 's  Horizon 2020 research and innovation program  under the  Marie Skłodowska-Curie Action  (grant agreement no. 764840  for the  ITN IGNITE  project). We thank Editor  Aida Andrés  and one referee for constructive comments on a previous draft of the manuscript.
Data Availability Raw sequence reads are deposited on NCBI (PRJNA454786, PRJNA745262, PRJNA255937-samples SRX661210, SRX20811676, and SRX661218). Genome assemblies are available at the following permanent addresses: https://bipaa. genouest. org/sp/acyrthosiphon_pisum/down load/genome/LSR1_CP/; https://bipaa. genouest. org/sp/acyr thosiphon_pisum/download/genome/OP/. The data and scripts are available on Zenodo: doi. org/10. 5281/ zenodo. 8116727.
Together with the standard bound LpF q " OpN q, we immediately obtain from Corollary 1. 3 the following complexity analysis, similar to the main result of Part I (Theorem I. 40), but assuming only a black-box representation of the input polynomial system. Corollary 1. 4. Let F P H be a Kostlan random polynomial system. On input F and ε ą 0, Algorithm BoostBlackBoxSolve terminates after polypn, δq¨log log ε ´1 operations and evaluations of F on average. Our second main result (Theorem 1. 5 below) states that exact same bound for polynomial system given by independent Gaussian random algebraic branching programs. We next introduce this model. 1. 6. Algebraic branching programs. Following  Nisan (1991) , an algebraic branching program (ABP) of degree δ is a labeled directed acyclic graph with one source and one sink, with a partition of the vertices into levels, numbered from 0 to δ, such that each edge goes from level i to level i1.
Supported by the  ERC  under the  European Union 's  Horizon 2020 research and innovation programme  (grant agreement no. 787840 ); a  GRF  grant from the  Research Grants Council of the Hong Kong SAR  (project number  CityU 11300220 ); and the projet  De Rerum Natura   ANR-19-CE40-0018  of the  French National Research Agency (ANR).
Selection of the study cases The spatial and temporal collocation criteria applied for the selection of suitable case studies, are a maximum of 30 min acquisition time difference and 1 km spatial distance between the sun-photometer and lidar measurements (Sect. 2). These fixed threshold selection criteria are based on empirical knowledge of the optimum time and spatial difference between the different measurement datasets (i. e. ,  Papagiannopoulos et al. , 2016) , and need to be re-evaluated for each station in the network, in order to take into account the effective spatio-temporal variability of the aerosols properties. In principle, the spatio-temporal variability is expected to depend on the local geographical characteristics of the site, as well as on the atmospheric conditions. Moreover, some case studies were not used in the analysis, due to the high full-overlap height (>1km) of the corresponding lidar measurements.