sisl.geom.AtomSeq
- class sisl.geom.AtomSeq
Bases:
AtomIndexClassify atoms based on their indices using a sequence string.
- Parameters:
seq – sequence indicating the indices that you want to match (see examples)
Examples
>>> seq = AtomSeq("1-3") >>> geom.sub(seq) == geom.sub([1,2,3]) >>> seq = AtomSeq("1-3,7") >>> geom.sub(seq) == geom.sub([1,2,3,7]) >>> seq = AtomSeq("1-3,7:") >>> geom.sub(seq) == geom.sub([1,2,3,*range(7, len(geom))]) >>> seq = AtomSeq("1-3,6,9:2:") >>> geom.sub(seq) == geom.sub([1,2,3,6,*range(9, len(geom), 2)])
See also
strmap,lstrangesMethods
categorize(geometry, *args, **kwargs)Do categorization
is_class(name[, case])Query whether
namematches the class name by removing a prefixkwkw(**kwargs)Create categories based on keywords
Attributes
Name of category
- classmethod is_class(name, case=True)
Query whether
namematches the class name by removing a prefixkwThis is important to ensure that users match the full class name by omitting the prefix returned from this method.
This is an abstract method to ensure sub-classes of Category implements it.
For instance:
class MyCategory(Category): @classmethod def is_class(cls, name): # strip "My" and do comparison return cl.__name__.lower()[2:] == name.lower()
would enable one to compare against the base category scheme.
This has the option to search case-sensitivity or not.
- Return type:
- classmethod kw(**kwargs)
Create categories based on keywords
This will search through the inherited classes and return and & category object for all keywords.
Since this is a class method one should use this on the base category class in the given section of the code.
- property name
Name of category