seq-lang / seq

A high-performance, Pythonic language for bioinformatics
https://seq-lang.org
Apache License 2.0
700 stars 50 forks source link

Standard library TODO #33

Open inumanag opened 5 years ago

inumanag commented 5 years ago

Hi Jordan,

let's start with the string library: https://docs.python.org/3/library/stdtypes.html#textseq

You can avoid string.format part for now.

Some functions (like str.split) are implemented in multiple places: for example, split on a single character is different than a split that operates on multi-character patterns.

Also, for each stdlib file, add the docs and implement a test suite as follows. For str.seq, add test_str.seq and there test each function, e.g.:

str.seq:

class str:
   def isspace(self: str) -> bool:
      """
      Doc
      """
      ...

test_str.seq:

def test_isspace():
    assert ' '.isspace() == True
    assert 'x'.isspace() == False
    # ... etc

Please check the function once done:

inumanag commented 5 years ago

Next step: https://docs.python.org/3/library/math.html https://docs.python.org/3/library/random.html https://docs.python.org/3/library/statistics.html

jordanwatson1 commented 5 years ago

Math

jordanwatson1 commented 5 years ago

Random

jordanwatson1 commented 5 years ago

itertools

inumanag commented 5 years ago

Next steps:

jordanwatson1 commented 4 years ago

bisect

jordanwatson1 commented 4 years ago

collections

class collections.Counter([iterable-or-mapping])

class collections.deque([iterable[, maxlen]])

jordanwatson1 commented 4 years ago

heapq

jordanwatson1 commented 4 years ago

statistics

jordanwatson1 commented 4 years ago

os

Process Parameters

File Object Creation

File Descriptor Operations

Querying the size of a terminal

Inheritance of File Descriptors

Files and Directories

Linux extended attributes

Process Management

Interface to the scheduler

Miscellaneous System Information

Random numbers

jordanwatson1 commented 4 years ago

getopt

inumanag commented 4 years ago

BioPython / pyVCF

Align