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
directory
for 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.solutions
andMetadataAllDebugs.debugs
methods: use insteadfor object in container
instead
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_metadata
class method to easily instantiate an assembly graph with a solution metadata objectMetadataSolution
m: the user can import the user-usefull things directly from
khloraascaf
m:
NoSolution
exception forMetadataSolution
classm:
MetadataSolution
andMetadataAllSolutions
class methodsthere_is_a_solution
to 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:
pip
installation waym: In
run_metadata
module:IOConfig
,MetadataSolution
,MetadataAllSolutions
,MetadataDebug
andMetadataAllDebugs
to work with metadata logics easily
Changed#
p: update deps for sphinx
m: use
pulp.LpStatuts
dictionary 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_regions
function
Fixed#
m:
adirf
function: 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_priority
function
[1.4.0] - 2023-04-12#
Added#
m: Separate speed-up constraint and add
occurrence_priority
one to all the models
Removed#
m:
pos
attribute for PuLP variable classes
Fixed#
m: typo at word “occurrence”
[1.3.0] - 2023-03-30#
Changed#
m: Rename
UN
bySC
,unique
bysingle-copy
orsinglecopy
: some function and method names have changed.
[1.2.4] - 2023-03-22#
Added#
p:
PuLPVarRepFModelT
type forIR
andDR
models
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_paths
method
[1.2.2] - 2023-03-15#
Added#
p:
khloraascaf.inputs.IdLT
Link identifier type
Fixed#
p: Ensure the region circuits yielded by
AssemblyGraph.all_region_paths
method are eulerian
[1.2.1] - 2023-03-11#
Fixed#
p
AssemblyGraph
returned 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.AssemblyGraph
class:write_region_paths
,read_region_paths
,fmt_region_paths_filename
write_oriented_contig_paths
,read_oriented_contig_paths
,fmt_oriented_contig_paths_filename
Changed#
p: Reuse of
AssemblyGraph.region_path_to_oriented_contigs
method inAssemblyGraph.all_oriented_contig_paths
Fixed#
m:
outputs.generate_output_directory
use a correct formatyyyy-mm-dd
instead ofyyyy-dd-mm
[1.1.0] - 2023-03-08#
Changed#
p: Update PyPI classifier
m:
outputs.read_contigs_of_regions
stop returning useless region index (the user can usefor in enumerate
)m:
utils_debug.read_vertices_of_regions
stop returning useless region index (the user can usefor in enumerate
)
Fixed#
p:
utils_debug.read_vertices_of_regions
function
[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:
ScaffoldingResult
is 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_contigs
forAssemblyGraph
classM: 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]s
contigs_links
->contig_links
khloraascaf.multiplied_doubled_contigs_graph
->khloraascaf.multiplied_doubled_contig_graph
m: Rename
<REG>_CODE_SUFFIX
to<REG>_CODE
to 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__.py
files only for module path shortcutsm: Fix typo on
direct repeat
m: Output directory default is not current directory but unique generated one from the current place
m: Use
fix_result
key for optional parameter instead ofresult
m: Move command line constants and function from
__main__.py
tocli.py
m: The option
output_dir
is 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_CODE
becomesUN_CODE
m:
solve_pulp_problem
function now takeslog_path
as 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