Changelog#
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
‘M’, ‘m’ and ‘p’ are respectively corresponding to major, minor and patch
[1.10.0] - 2023-05-26#
Changed#
m: Getter of metadata for file returns now the path with the metadata directory path in it. Before, it returned only the filename.
m: Standard getter
directoryfor metadata classes
[1.9.0] - 2023-05-26#
Added#
m: Getter for exceptions
m: Can import python code from
khloraascaf.inputs
Changed#
p: Test tutorials by simply importing the python example code
[1.8.0] - 2023-05-09#
Added#
m:
MetadataAllSolutions.__iter__,MetadataAllSolutions.__len__,MetadataAllDebugs.__iter__andMetadataAllDebugs.__len__to a more pythonic way
Changed#
p: DR-SC instance test know has its starter that is not at the beginning of the first single-copy region
Removed#
m:
MetadataAllSolutions.solutionsandMetadataAllDebugs.debugsmethods: use insteadfor object in containerinstead
Fixed#
p: function to find the initial vertex in the first SC region (yes, it has not been correctly fixed before)
p: Path for tests, as the absolute paths depend on the location
[1.7.1] - 2023-05-09#
Fixed#
p: function to find the initial vertex in the first SC region
[1.7.0] - 2023-05-08#
Added#
p: new data for test (ir-sc case)
p: Jupyter notebook for quick usage and better doc
m:
AssemblyGraph.from_solution_metadataclass method to easily instantiate an assembly graph with a solution metadata objectMetadataSolutionm: the user can import the user-usefull things directly from
khloraascafm:
NoSolutionexception forMetadataSolutionclassm:
MetadataSolutionandMetadataAllSolutionsclass methodsthere_is_a_solutionto answer if at least one solution was generated in the given directory
Fixed#
m: Use immutable tuples instead of mutable lists
[1.6.0] - 2023-05-07#
Added#
p:
pipinstallation waym: In
run_metadatamodule:IOConfig,MetadataSolution,MetadataAllSolutions,MetadataDebugandMetadataAllDebugsto work with metadata logics easily
Changed#
p: update deps for sphinx
m: use
pulp.LpStatutsdictionary to obtain string representation ofpulp.LpProblem.status
Removed#
m:
RegionCodeT,SC_CODE,DR_CODE,IR_CODE
[1.5.1] - 2023-04-18#
Fixed#
p: fix GitLab CI/CD
[1.5.0] - 2023-04-18#
Changed#
p: Simplify
path_to_regionsfunction
Fixed#
m:
adirffunction: some cases were not yielded
[1.4.2] - 2023-04-13#
Changed#
p: Refactor region extraction functions
[1.4.1] - 2023-04-12#
Fixed#
p: fix type for
occurrence_priorityfunction
[1.4.0] - 2023-04-12#
Added#
m: Separate speed-up constraint and add
occurrence_priorityone to all the models
Removed#
m:
posattribute for PuLP variable classes
Fixed#
m: typo at word “occurrence”
[1.3.0] - 2023-03-30#
Changed#
m: Rename
UNbySC,uniquebysingle-copyorsinglecopy: some function and method names have changed.
[1.2.4] - 2023-03-22#
Added#
p:
PuLPVarRepFModelTtype forIRandDRmodels
Changed#
p: The big-M upper bound is thinner
[1.2.3] - 2023-03-15#
Fixed#
p: Ensure all the region eulerian circuits are yielded by
AssemblyGraph.all_region_pathsmethod
[1.2.2] - 2023-03-15#
Added#
p:
khloraascaf.inputs.IdLTLink identifier type
Fixed#
p: Ensure the region circuits yielded by
AssemblyGraph.all_region_pathsmethod are eulerian
[1.2.1] - 2023-03-11#
Fixed#
p
AssemblyGraphreturned twice the unique region in the region path when there is just one region
[1.2.0] - 2023-03-10#
Added#
m: From and to files function linked to the
assembly_graph.AssemblyGraphclass:write_region_paths,read_region_paths,fmt_region_paths_filenamewrite_oriented_contig_paths,read_oriented_contig_paths,fmt_oriented_contig_paths_filename
Changed#
p: Reuse of
AssemblyGraph.region_path_to_oriented_contigsmethod inAssemblyGraph.all_oriented_contig_paths
Fixed#
m:
outputs.generate_output_directoryuse a correct formatyyyy-mm-ddinstead ofyyyy-dd-mm
[1.1.0] - 2023-03-08#
Changed#
p: Update PyPI classifier
m:
outputs.read_contigs_of_regionsstop returning useless region index (the user can usefor in enumerate)m:
utils_debug.read_vertices_of_regionsstop returning useless region index (the user can usefor in enumerate)
Fixed#
p:
utils_debug.read_vertices_of_regionsfunction
[1.0.0] - 2023-03-07#
Added#
p: Package introduction
m: Debug files for repeated fragments
m: Method for repeated fragments solution for repeated fragments variable classes
m: Function to generated unique output directory path
m: ILP codes are in
khloraascaf.lib(shortcutkhloraascaf)m: Use ILP code sequence for file name formatting
m:
ScaffoldingResultis now just a viewer: new getter and new attributesm: YAML output for I/O configs, solutions and debug metadata
m: Debug files with repeated fragments solution (canonicals)
m: Method
region_path_to_oriented_contigsforAssemblyGraphclassM: Fix result for repeated region scaffolding ILP
M: ILP combination for repeated scaffolding
Changed#
m: Required arguments in CLI are now positional arguments
m: Fix English typos:
contigs_attr[ibute]s->contig_attr[ibute]scontigs_links->contig_linkskhloraascaf.multiplied_doubled_contigs_graph->khloraascaf.multiplied_doubled_contig_graph
m: Rename
<REG>_CODE_SUFFIXto<REG>_CODEto use it not only for filename but as string codesm: Use small cases for solver name
m: Constants for solver log filenames: general log extension and use solver name instead of specific solver constant name for logs
p: Use
__init__.pyfiles only for module path shortcutsm: Fix typo on
direct repeatm: Output directory default is not current directory but unique generated one from the current place
m: Use
fix_resultkey for optional parameter instead ofresultm: Move command line constants and function from
__main__.pytocli.pym: The option
output_diris for the directory that will contain the uniquely generated directorym: By default the user output directory option is the current working directory
m: Uniformise ILP codes
UNIQUE_CODEbecomesUN_CODEm:
solve_pulp_problemfunction now takeslog_pathas an optional argumentM: The scaffolding functions have changed a lot
M: The exceptions have changed a lot
Removed#
m:
scaffold_<region_type>functions (use insteadscaffolding_region)
Fixed#
p: Readthedocs paths
[0.0.0] - 2023-02-16#
Added#
Scaffold unique and direct repeats
Numerous public functions that can be reused for scientific tests
Option to choose between the solvers CBC (by default) or GUROBI
Assembly graph class and functions
Debug option for debug files output
Fixed#
Manage pairs of inverted fragments when they have the same identifiers
Changed#
Reduce the number of alpha variables
Use canonical edges instead of pairs of inverted fragments in PInvF set
Prioritise scaffolding problems