MIToS v3.0.0 requires Julia v1.9 or higher, dropping support for older versions. This release introduces several breaking changes to improve the usability of the package. When possible, deprecation warnings are used to inform you of the changes.
The MSA module now includes ways to read, write, and work with unaligned protein sequences:
-
The
MSA
module now exports theAnnotatedSequence
type to represent a single protein sequence with annotations. This type is a subtype of the newAbstractSequence
type, a subtype of the newAbstractResidueMatrix
type. -
The
MSA
module now exports thesequence_id
function to get the identifier of a sequence object. -
The
MSA
module now defines theFASTASequences
,PIRSequences
, andRawSequences
file formats to read and write (unaligned) protein sequences in FASTA, PIR, and raw formats, respectively. -
[Breaking change] The behavior of the
getannotresidue
,getannotsequence
,setannotresidue!
, andsetannotsequence!
functions have changed for sequences objects, such asAnnotatedSequence
,AnnotatedAlignedSequence
, andAlignedSequence
. Now, these functions take the feature name, rather than the sequence name, as the second positional argument. As an example of migration,getannotsequence(sequence, "sequence_name", "feature_name")
should be replaced bygetannotsequence(sequence, "feature_name")
. You still need to specify the sequence name when working with MSA objects.
Other changes in the MSA module are:
-
[Breaking change] The
join
function forAnnotatedMultipleSequenceAlignment
objects is deprecated in favor of thejoin_msas
function. -
[Breaking change] The
Clusters
type is no longer a subtype ofClusteringResult
from theClustering.jl
package. Instead, theClusters
type is now a subtype of the newAbstractCluster
type. Support for theClustering.jl
interface is still available through package extensions. You now need to load theClustering.jl
package to use theassignments
,nclusters
, andcounts
functions.
The PDB module now depends on the BioStructures
package. The main changes in the PDB
module are:
-
The
PDB
module now exports theMMCIFFile
file format to read and write PDB files in the mmCIF format (usingBioStructures
under the hood). -
[Breaking change] The
download_alphafold_structure
function can now download the predicted structures from the AlphaFold Protein Structure Database using the mmCIF format (format=MMCIFFile
). This is the new default format. Therefore, you should useformat=PDBFile
to get a PDB file like before. For example,download_alphafold_structure("P00520")
in previous versions is the same asdownload_alphafold_structure("P00520", format=PDBFile)
in this version. -
[Breaking change] The
downloadpdb
function now returns a mmCIF file by default. Therefore, you should useformat=PDBML
to get a PDBML file. As an example of migration,downloadpdb("1IVO")
should be replaced bydownloadpdb("1IVO", format=PDBML)
, unless you want to get a mmCIF file. -
[Breaking change] The
PDBAtom
type now adds two extra fields:alt_id
andcharge
to represent the alternative location indicator and the atom's charge, respectively. This improves the compatibility with the mmCIF format and theBioStructures
package. -
[Breaking change] The
query_alphafolddb
function now returns the EntrySummary object of the returned JSON response instead of the Root list. Therefore, there is no need to take the first element of the list to get the required information. For example,query_alphafolddb("P00520")[1]["uniprotId"]
would be replaced byquery_alphafolddb("P00520")["uniprotId"]
.
- [Breaking change] The
MIToS.Utils.Scripts
module and the MIToS scripts have been moved to their package at MIToS_Scripts.jl. Therefore, theMIToS.Utils.Scripts
module is no longer exported. This allows for a reduction in the number of MIToS dependencies and improved load time.
This versions introduces several breaking changes to improve the usability of the
Information
module. The main changes are:
-
[Breaking change] The
Information
module deprecates theCounts
type in favor of the newFrequencies
type. The new type as the same signature and behavior as the old one. -
[Breaking change] The
count
function on sequences has been deprecated in favor of thefrequencies
function, which has the same signature and behavior as the old one. -
[Breaking change] The
count!
function is deprecated in favor offrequencies!
. The new function use keyword arguments to define the weights and pseudocounts. As an example of migration,count!(table, weights, pseudocounts, seqs...)
should be replaced byfrequencies!(table, seqs..., weights=weights, pseudocounts=pseudocounts)
. -
[Breaking change] The
probabilities!
method using positional arguments for the weights, pseudocounts and pseudofrequencies is deprecated in favor the one that uses keyword arguments. As an example of migration,probabilities!(table, weights, pseudocounts, pseudofrequencies, seqs...)
should be replaced byprobabilities!(table, seqs..., weights=weights, pseudocounts=pseudocounts, pseudofrequencies=pseudofrequencies)
. -
[Breaking change] The
Information
has deprecated theentropy
method onFrequencies
andProbabilities
in favor of theshannon_entropy
function. The definition of the base is now done using thebase
keyword argument. As an example of migration,entropy(p, 2)
should be replaced byshannon_entropy(p, base=2)
. -
[Breaking change] The
marginal_entropy
methods based on positional arguments are deprecated in favor of a method relying on themargin
andbase
keyword arguments. As an example of migration,marginal_entropy(p, 2, 2.0)
should be replaced bymarginal_entropy(p, margin=2, base=2.0)
. -
[Breaking change] The
mutual_information
method based on positional arguments is deprecated in favor of a method relying on thebase
keyword argument. As an example of migration,mutual_information(p, 2)
should be replaced bymutual_information(p, base=2)
. -
[Breaking change] The
mapcolpairfreq!
andmapseqpairfreq!
functions now uses the booleanusediagonal
keyword argument to indicate if the function should be applied to the diagonal elements of the matrix (the default istrue
). Before, this was done passingVal{true}
orVal{false}
as the last positional argument. -
The
mapcolfreq!
,mapseqfreq!
,mapcolpairfreq!
, andmapseqpairfreq!
methods using keyword arguments, now pass the extra keyword arguments to the mapped function. -
The
Information
module now exports themapfreq
function that offers a more high-level interface to themapcolfreq!
,mapseqfreq!
,mapcolpairfreq!
, andmapseqpairfreq!
functions. This function allows the user to map a function to the residue frequencies or probabilities of the columns or sequences of an MSA. Whenrank = 2
, the function is applied to pairs of sequences or columns. -
The
Information
module now exports methods of theshannon_entropy
,kullback_leibler
,mutual_information
, andnormalized_mutual_information
functions that take anAbstractArray{Residue}
as input, e.g. an MSA. Those methods use themapfreq
function under the hood to ease the calculation of the information measures on MSAs. -
The
frequencies!
,frequencies
,probabilities!
, andprobabilities
functions now accept arrays ofResidue
s of any dimension. Therefore, there is no need to use thevec
function to convert the arrays to vectors. -
The
MSA
module now exports theWeightType
union type to representweights
.
- [Breaking change] The
buslje09
andBLMI
functions from theInformation
module does not longer accept a filename and a file format as arguments. You should explicitly read the MSA using theread_file
function and then run thebuslje09
orBLMI
functions on the returned MSA object. As an example of migration,buslje09("msa.sto", "Stockholm")
should be replaced bybuslje09(read_file("msa.sto", Stockholm))
.
-
[Breaking change] The PDB module has deprecated
residues
and@residues
in favor of theselect_residues
function that uses keyword arguments. So,residues(pdb, "1", "A", "ATOM", All)
or@residues pdb "1" "A" "ATOM" All
should be replaced byselect_residues(pdb, model="1", chain="A", group="ATOM")
. -
[Breaking change] The PDB module has deprecated
atoms
and@atoms
in favor of theselect_atoms
function that uses keyword arguments. So,atoms(pdb, "1", "A", "ATOM", All, "CA")
or@atoms pdb "1" "A" "ATOM" All "CA"
should be replaced byselect_atoms(pdb, model="1", chain="A", group="ATOM", atom="CA")
. -
[Breaking change] The PDB module has deprecated the methods of the
isresidue
andresiduesdict
functions that rely on positional arguments in favor of the keyword arguments. So,isresidue(pdb, "1", "A", "ATOM", "10")
should be replaced byisresidue(pdb, model="1", chain="A", group="ATOM", residue="10")
. Similarly,residuesdict(pdb, "1", "A", "ATOM", All)
should be replaced byresiduesdict(pdb, model="1", chain="A", group="ATOM")
.
- [Breaking change] The
shuffle
andshuffle!
functions are deprecated in favor of theshuffle_msa
andshuffle_msa!
functions. The new functions takedims
andfixedgaps
as keyword arguments instead of taking them as positional ones. The new functions add a last positional argument to allow the selection of specific sequences or columns to shuffle. Also, it adds thefixed_reference
keyword argument to keep the residues in the reference sequence fixed during the shuffling. As an example of migration,shuffle!(msa, 1, false)
should be replaced byshuffle_msa!(msa, dims=1, fixedgaps=false)
.
- [Breaking change] The
read
,parse
,write
, andprint
functions for differentFileFormat
s have been deprecated in favor of theread_file
,parse_file
,write_file
, andprint_file
functions. The new functions keep the same signature and behavior as the old ones.
-
[Breaking change] The
download_file
now uses theDownloads.jl
module instead ofHTTP.jl
. Therefore, thedownload_file
function now accepts theDownloads.download
keyword arguments. In particular, theredirect
andproxy
keyword arguments are no longer needed. -
The
MSA
module now exports theA2M
andA3M
file formats, to allow reading and writing MSA files in these formats.
MIToS v2.16.0 drops support for Julia 1.0. This release requires Julia 1.6 or higher.
-
[Breaking change] The
transpose
function is now deprecated for MSA and sequences (AbstractAlignedObject
s). Usepermutedims
instead. -
[Breaking change] MIToS is now using
JSON3.jl
instead ofJSON.jl
. That change the returned type ofgetpdbdescription
fromDict{String, Any}
toJSON3.Object
. Since theJSON3.Object
supports theDict
interface, the change should not cause any issues. If you want to convert the returnedJSON3.Object
to aDict{String, Any}
you can use theMIToS.PDB.JSON3.copy
function. -
The
PDB
module now defines thequery_alphafolddb
anddownload_alphafold_structure
functions to query the AlphaFold Protein Structure Database and download the predicted structures. -
This version solves a bug when reading MSA files with
|
in the sequence names. -
MIToS is now using
Format.jl
instead ofFormatting.jl
.
- The
MSA
module now exports therename_sequences!
andrename_sequences
functions to rename the sequences of an MSA object.
- The
modelled_sequences
function now returns only the selected chains, therefore avoid the inclusion of empty sequences in the output.
-
The
MSA
now definesjoin
for MSA objects, allowing to join or merge twoAnnotationMultipleSequenceAlignment
objects based on a list of matching sequences or columns. -
The
MSA
module now defineshcat
andvcat
for MSA objects, taking care of sequence and column names, and MSA annotations. -
The
MSA
now exports thesequencename_iterator
andcolumnname_iterator
functions to return an iterator over the sequence or column names of an MSA. -
The
MSA
now exports thesequence_index
andcolumn_index
functions to return the integer position of a sequence or column name in an MSA. -
merge
andmerge!
are now defined forAnnotations
objects in theMSA
module.
- The
PDB
module can now parse the 66-character width columns of the PDB files created by Foldseek. These structures contain only the alpha carbons and do not have the column determining the element symbol.
-
The
PDB
module now includes themodelled_sequences
function, allowing extraction of protein sequences from a specified structure. -
The
PDB
module exports theis_aminoacid
function to determine whether aPDBResidue
represents an amino acid residue. This function is utilized by themodelled_sequences
function. -
The
Utils
module now exports theTHREE2ONE
constant, which is a dictionary mapping three-letter amino acid residue codes to their corresponding one-letter codes.
-
The
downloadsifts
function now downloads the SIFTS files from the PDBe HTTPS server instead of the previous FTP server. This improves error handling during the download process, making it more robust by relying on thedownload_file
function. If you prefer the previous behavior, you can set the new keyword argumentsource
to"ftp"
. -
It resolves an issue with the representation of Multiple Sequence Alignments and ContingencyTables in the
show
methods by always using explicit MIME types. -
[Breaking change] The
show
methods that accept only two elements without an explicit MIME type are now deprecated.
- MIToS now checks the magic number of gzip files immediately after download. If the gzip file does not have the correct header, MIToS will attempt to download it again. In Julia versions below 1.2, it will retry the download once. In Julia 1.2 or higher, it will retry the download five times, using an ExponentialBackOff.
- [breaking change]
getCA
returnsmissing
if aPDBResidue
has no CA atom (before it was anAssertionError
).
-
[breaking change]
downloadsifts
now usesBase.download
instead ofdownload_file
as HTTP (1.7 or lower) doesn't support FTP. Because of that, it doesn't accept keywords argument asdownload_file
besidesfilename
. -
MIToS now supports HTTP 1.0 and has migrated from using
HTTP.request
to usingHTTP.download
forMIToS.Utils.download_file
dropping support on HTTP 0.8. Thanks, @kool7d! -
The
downloadpfam
function now uses the InterPro API, as the Pfam website has been discontinued. Thanks, @timholy! -
The
downloadpfam
function now has analignment
keyword argument for choosing which Pfam alignment download. The options are"full"
(the default),"seed"
and"uniprot"
. -
MIToS switched to GitHub Actions for CI. Thanks, @timholy!
- New
matches
keyword argument in thesuperimpose
function to determine the residues to be aligned. Thanks, @timholy!
- You can pass keyword arguments from
downloadsifts
todownload_file
.
- Fix bugs when concatenating concatenated MSAs using
hcat
.
- Ensure that
gaussdca
use the correct project file.
-
Increase
PairwiseListMatrices
required version. -
Fix bugs when concatenating concatenated MSAs using
hcat
.
Fix bug when read
ing hcat
generated MSA in Stockholm
format.
Multiple bug fixes and improvements related to getindex
and hcat
.
-
[breaking change] MSA
getindex
can now change the order of the columns in anAnnotatedMultipleSequenceAlignment
. -
[breaking change]
convert
to MSA and sequence objects is now deprecated; use the corresponding constructor. -
gethcatmapping
to get the mapping to the concatenated MSAs.
-
[breaking change] MSA
getindex
with:
or arrays now return an object of the same type. The annotations of anAnnotatedMultipleSequenceAlignment
are modified according to the selection. -
[breaking change] MSA
getindex
can now change the order of the sequences in anAnnotatedMultipleSequenceAlignment
. -
It adds
hcat
support for MSA objects, taking care of the MSA annotations.
download_file
and otherdownload...
functions now use the proxy settings declared with theHTTP_PROXY
andHTTP_PROXY
environment variables.
- The RESTful API of PDB has changed, and the Legacy Fetch API Web Service was shut down on
December 9th, 2020. To adapt to the new changes,
PDBMLHeader
has been deprecated, and thedownloadpdbheader
andgetpdbdescription
functions now return different objects.
MIToS v2.5.0 drops support for Julia 0.7 and adds support for Julia 1.5 and includes several bug fixes.
-
Cookbook
section added to the docs using Literate -
The
SIFTS
module now includes thedbSCOP2
anddbSCOP2B
databases. -
siftsmapping
now returns anOrderedDict
instead of aDict
. -
msacolumn2pdbresidue
now return anOrderedDict
instead of aDict
.
MIToS v2.4 uses Project.toml
and includes several bug fixes.
- The
SIFTS
module includes thedbEnsembl
database andwarn
s again about unused databases.
MIToS v2.3 requires Julia v0.7 or v1.0. This release drops Julia 0.6 support.
-
Formatting.jl
is used in place ofFormat.jl
. -
SIFTS.get
returns the desired object ormissing
instead ofNullable
s. -
SIFTS
function doesn'twarn
about unused databases.
-
bits
was deprecated tobitstring
. -
'
and.'
are deprecated for alignments and sequences, usetranspose
orpermutedims
instead.ctranspose
is not longer available for matrices ofResidue
s.
-
PIR
FileFormat
is included to read and write alignments in PIR/NBRF format. -
Utils.Format
was renamed toUtils.FileFormat
. -
HTTP.jl
is used in place ofFTPClient.jl
and the deprecatedRequests.jl
inUtils.download_file
to download files. -
Format.jl
is used in place ofFormatting.jl
. -
Solve bug in the printing of matrices of
Residue
s usingFileFormat
s.
-
FTPClient.jl
is used inUtils.download_file
to download files from FTP. -
CodecZlib.jl
is used in place ofGZip.jl
speeding up the parsing of compressed files. -
Improvements in MSA and PDB parsing speed.
-
Improvement in
MSA.percentidentity
speed. -
Information.gaussdca
now uses Julia'sserialize
anddeserialize
instead ofJLD
. -
ROCAnalysis.jl
is not longer a dependency and it's now used with@require
fromRequires.jl
. To use theAUC
function you need to dousing ROCAnalysis
.
-
The script
Conservation.jl
was added to measure residue conservation of MSA columns. -
The script
SplitStockholm.jl
now has a progress bar thanks to Ellis Valentiner @ellisvalentiner.
MIToS v2.1 requires Julia v0.6. This release drops Julia 0.5 support.
get_n_words(...
doesn't remove the last newline character, useget_n_words(chomp(...
to get the previous behaviour.
MIToS 2.0 is the first MIToS version with Julia 0.5 support (It drops Julia 0.4 support). The last Julia version introduces new awesome features like native multi-threading support, fast anonymous functions, generator expressions and more. Also, the Julia package ecosystem has grown. So, MIToS was slightly redesigned to take advantage of the new Julia capabilities. As a consequence, this version introduces several breaking changes and new features.
-
deleteitems!(vector::Vector, items)
is deprecated in favor offilter!(x -> x ∉ items, vector)
. -
All
is used instead of MIToS 1.0"all"
or"*"
, because it's possible to dispatch on it.
Previous version of Utils included methods and types in order to overcome the performance
cost of functional programing in previous Julia versions. In particular, vectorized queries
were performed using subtypes of AbstractTest
, in particular the TestType
s Is
and
In
and the TestOperation
Not
. This types were used as argument to the query methods
capture
and isobject
. This operation were fused and vectorized with the methods:
findobjects
, collectobjects
and collectcaptures
. All these functions and types are
deprecated in MIToS 2.0. Functional programming in Julia 0.5 is fast, so these methods
can be easily replace by Julia higher order functions like find
and filter
and lambda
expressions (anonymous functions).
-
Residue
is now encoded asInt
instead of being encoded asUInt8
, allowing faster indexation usingInt(res::Residue)
. More memory is used, since the residues are encoded using 32 or 64 bits instead of 8 bits. -
XAA
is now used to indicate unknown, ambiguous and non standard residues instead ofGAP
. -
Conversions to and from
UInt8
aren't supported now. -
More
Base
methods are extended to work withResidue
:bits
,zero
,one
andisvalid
. -
empty(Annotations)
was deprecated, useAnnotations()
instead. -
msa["seq_name",:]
now returns aNamedArray{Residue,1}
instead of an aligned sequence, usegetsequence(msa,"seqname")
to get an aligned sequence with annotations. -
The
names
function was replaced by thesequencenames
function. Acolumnnames
function was also added. -
Aligned sequences don't drop dimensions, so there are matrices instead of vectors. You can use
vec(...)
orsqueeze(...,1)
to get a vector instead of the matrix. -
Indexing MSA objects with only one string is deprecated, use
msa["seqname",:]
instead ofmsa["seqname"]
. -
empty!
doesn't take MSA objects anymore. -
asciisequence
was replaced bystringsequence
. -
deletenotalphabetsequences
and the parse/read keyword argumentcheckalphabet
are deprecated since MIToS 2.0 uses Residue('X') to represent residues outside the alphabet. You can usefiltersequences!(msa, vec(mapslices(seq -> !in(XAA, seq), msa, 2)))
to delete sequences with unknown, ambiguous or non standard residues. -
parse
/read
and MSA file returns anAnnotatedMultipleSequenceAlignment
by default. -
shuffle_...columnwise!
andshuffle_...sequencewise!
functions were deprecated in favor ofshuffle!
andshuffle
functions. -
SequenceClusters
was renamed toClusters
. -
Residue alphabet types were added. All alphabet types are subtypes of
ResidueAlphabet
. In particular, three types are exported:GappedAlphabet
,UngappedAlphabet
andReducedAlphabet
. The last type allows the creation of custom reduced alphabets. -
In order to keep the sequence name,
AlignedSequence
andAnnotatedAlignedSequence
are now matrices instead of vectors.
-
The keyword argument
format
ofdownloadpdb
should be a type (PDBFile
orPDBML
) instead of a string (pdb
orxml
) as in MIToS 1.0. -
read
andparse
now has theoccupancyfilter
keyword argument. -
read
andparse
now has thelabel
keyword argument forPDBML
files. -
residues
,àtoms
and similiar functions don't take vectors or sets anymore. Use an anonymous function instead, e.g.:x -> x in set_of_residue_numbers
. -
The functions
isresidue
,isatom
andresiduepairsmatrix
were added.
-
The
get
function has a more complex signature forSIFTSResidue
s to make simpler the access of data. -
find
,filter
andfilter
now takes a database type as a third parameter when a vector ofSIFTSResidue
s is the second parameter. It allows to use a function that directly operates over the database type if it's available. -
SIFTSResidue
s now also store secondary structure data in thesscode
andssname
fields.
-
ResidueProbability
andResidueCount
were deprecated in favor ofContingencyTable
.Probabilities
andCounts
were added as wrappers ofContingencyTable
to allow dispach in a some functions, e.g.entropy
. -
The last parameter of contingency tables is now a subtype of
ResidueAlphabet
instead of aBool
, i.e.:UngappedAlphabet
,GappedAlphabet
orReducedAlphabet
. -
Creation of empty contingecy tables chaged. e.g.
zeros(ResidueProbability{Float64, 2, false})
changed toContingencyTable(Float64, Val{2}, UngappedAlphabet())
andResidueProbability{Float64, 2, false}()
changed toContingencyTable{Float64, 2, UngappedAlphabet}(UngappedAlphabet())
. -
count!
andprobabilities!
signatures changed. The first argument is alway aContingencyTable
, the second positional argument a clustering weight object (useNoClustering()
to skip it), the third positional argument is a pseudocount object (useNoPseudocount()
to avoid the use of pseudocounts) andprobabilities!
takes also aPseudofrequencies
object (useNoPseudofrequencies()
to avoid pseudofrequencies). The last positional arguments are the vector of residues used to fill the contingency table. -
count
andprobabilities
now takes the sequences as only positional arguments. The output is always a table ofFloat64
. Both functions take the keyword argumentsalphabet
,weights
andpseudocounts
.probabilities
also has apseudofrequencies
keyword argument. -
apply_pseudofrequencies!
changed its signature. Now it takes aContingencyTable
and aPseudofrequencies
object. -
The function
blosum_pseudofrequencies!
was deprecated in favor of introducing aBLOSUM_Pseudofrequencies
type as subtype ofPseudofrequencies
to be used inprobabilities
,probabilities!
andapply_pseudofrequencies!
. -
Because higher-order function are fast in Julia 0.5, measure types (i.e. subtypes of
AbstractMeasure
) were deprecated in favor of functions. In particular,MutualInformation
was replaced with themutual_information
function,MutualInformationOverEntropy
was replaced withnormalized_mutual_information
,KullbackLeibler
was replaced withkullback_leibler
andEntropy
was replaced withentropy
. -
The functions
estimate
,estimate_on_marginal
,estimateincolumns
andestimateinsequences
were deprecated because measure types are not longer used. -
estimate_on_marginal(Entropy...
was deprecated in favor of themarginal_entropy
function. -
estimateincolumns
andestimateinsequences
were deprecated in favor ofmapcolfreq!
,mapseqfreq!
,mapcolpairfreq!
andmapseqpairfreq
. -
Keyword argument
usegaps
is deprecated inbuslje09
andBLMI
in favor ofalphabet
. -
cumulative
function was added to calculate cumulative MI (cMI).
-
using Plots
to useplot
withAbstractVector{PDBResidue}
to visualize coordinates of the C alpha of each residue. -
Re-exports
swap!
from IndexedArrays.jl. -
[breaking change] Distances.jl now uses
--inter
instead of--intra
. -
docs and cookbook are now in MIToSDocumentation
-
RecipesBase is used to generate plot recipes for MIToS’ objects. MSA objects can be visualized
using Plots
(thanks to Thomas Breloff @tbreloff ). -
Functions to perform structural superimposition were added to the
PDB
module (thanks to Jorge Fernández de Cossío Díaz @cosio ) :center!
,kabsch
,rmsd
. -
The
PDB
module adds the following functions to make easier structural comparison:getCA
,CAmatrix
,coordinatesmatrix
,centeredcoordinates
,centeredresidues
,change_coordinates
,superimpose
,mean_coordinates
andrmsf
. -
When PDB or PDBML files are being parsed, It’s possible to indicate if only atoms with the best occupancy should be loaded (
occupancyfilter=true
,false
by default). -
When
PDBML
files are being parsed, is possible to used the newlabel
keyword argument to indicate if "auth" (false
) or "label" (true
) attributes should be used. -
bestoccupancy!
was deprecated in favor ofbestoccupancy
. -
The
MSA
module export the functionpercentsimilarity
to calculate the similarity percent between aligned sequences. -
msacolumn2pdbresidue
has two new keyword arguments,strict
andcheckpdbname
, to perform extra tests during the mapping between PDB and MSA residues. -
msacolumn2pdbresidue
has a newmissings
keyword argument to indicate if missing residues should be included in the mapping (default:true
). -
The
MSA
now exports theresidue2three
andthree2residue
function to convertResidue
s to and from their three letter names. -
The
MSA
module now exportssequencepairsmatrix
,columnpairsmatrix
,columnlabels
, andsequencelabels
to help in the construction of matrices for MSA sequences or columns pairwise comparisons. -
The
Information
module, ifGaussDCA
is installed, allows to call itsgDCA
function from MIToS through thegaussdca
function. -
The
Information
module now exports theKullbackLeibler
measure. -
Now is possible to
print
andwrite
PDBResidue
s asPDBFile
s. -
The function
proximitymean
now has a keyword argumentinclude
to indicate if the residue score should be included in the mean. -
The module
Scripts
inside theUtils
module has a new functionreadorparse
to help parsingSTDIN
in MIToS’ scripts.
MIToS v1.1 also includes several bug fixes, some performance improvements and a more complete documentation.
-
Pfam
module for working with Pfam alignments and useful parameter optimization functions (i.e.AUC
). -
[breaking change] The
Clustering
module was deleted and its functions moved to theMSA
module. -
MSA
usesClusteringResult
from theClustering.jl
package instead ofAbstractClusters
.-
Clusters
was renamed toSequenceClusters
-
MSA
adds thecounts
andassignments
functions from theClustering.jl
interface. -
[breaking change] The
getnclusters
function is nownclusters
in theClutering
module.
-
-
[breaking change] All the MSA
...percentage
functions were renamed to...fraction
andpercent...
functions now return real percentages (not fractions) values. Functions taking identity thresholds, now also take real percentages (values between 0.0 and 100.0). -
[breaking change] Script command line arguments changed to: define the number of workers, use STDIN and STDOUT (pipelines), get better output names, use real flag arguments.
-
InformationMeasure
renamed toAbstractMeasure
. -
New functions added to
MSA
module.-
annotations
,names
. -
meanpercentidentity
allows fast estimation of the mean percent identity between the sequences of a MSA.
-
-
New function and type added to
Information
module.-
cumulative
to calculate cMI (cumulative mutual information) and similar cumulative scores. -
KullbackLeibler
to estimate conservation.
-
-
proximitymean
is defined in thePDB
module to calculate pMI (proximity mutual information) and other proximity scores. -
contact
anddistance
have a vectorized form to create contact/distance maps. -
NCol
file annotation with the number of columns in the original MSA. -
BLMI
haslambda
as a keyword argument for using additive smoothing. -
BLMI
andbuslje09
acceptssamples=0
to avoid the Z score estimation. -
read
/parse
added the keyword argumentcheckalphabet
for deleting sequences with non standard amino acids. -
read
/parse
added the keyword argumentkeepinserts
for keep insert columns (It creates anAligned
column annotation).
MIToS v1.0 also includes several bug fixes and a more complete documentation.