python quickstart.py
Welcome to Signa library source code.
Signa reimplements a series of methods for building structural signatures based on work carried out by researchers at the Bioinformatics and Systems Laboratory of the Department of Computer Science at the Universidade Federal de Minas Gerais.
Signa was developed using the Python language, which guarantees a simple and friendly syntax, in addition to high performance and a fast running time.
Requirements:
- Numpy
- Scipy
Clone the repository using the command-line terminal, GitHub Desktop, or click the Code > Download ZIP button. Next, install the library and then import signa into your Python script (we do not provide support for the installation process).
However, the fastest way to test Signa is to copy the signa.py file (it is inside the Signa folder) to the same directory as your PDB files (to test, copy the file 2lzm.pdb that is inside docs/examples). Then create a python file in the same directory and add the following command:
import signa
signature = signa.read('2lzm.pdb', 'signa-charge')
print(signature)
The signa.read() function accepts the following parameters:
read(
pdbID, # address and name of the input PDB file
signa_type='csm', # signature type, can be: signa-charge, csm, acsm, acsm-all, acsm-hp
cutoff_limit = 30, # maximum search limit radius
cutoff_step = 0.2, # value of the search interval
output_csv = True, # saves the result as a csv file
chain='ALL', # filters the chain from the pdb file
verbose=True, # displays messages on the screen while the program runs
cumulative=True, # cumulative or non-cumulative signatures
separator=",", # output file separator
forcefield='AMBER' # forcefield used in signa-charge
)
To handle multiple files, add the PDB file names into a CSV file (one per line). Then use the following command:
import signa
#To process multiple PDB files, use:
signa.read_csv('lista.csv', 'signa-charge')
You can also use the function read_folder() to read all pdb files in a folder:
signa.read_folder(
folder='./docs/case_studies/all_pdbs',
signa_type='acsm-all',
cumulative=True,
output='./docs/case_studies/output.csv',
cutoff_limit=20,
cutoff_step=0.2,
format='pdb'
)
The contact calculation script is inside the Signa directory. You can run it as follows:
python contacts.py [file-name].pdb [optional: -hb -hy -ar -re -at -sb -db -csv]
Optional parameters:
-hb hydrogen bonds
-hy hydrophobic
-ar aromatic
-re repulsive
-at attractive
-sb salt bridge
-db disulfide bonds
-csv (save as csv)
If no parameter is entered, SIGNA-contacts will calculate all contacts.
- SIGNA-CHARGE
- SIGNA-ELEMENTAL
- CSM
- aCSM
- aCSM-HP
- aCSM-ALL
- SSV
- Contacts
Bem-vindo(a) ao código-fonte da biblioteca Signa.
Signa reimplementa uma série de métodos para construção de assinaturas estruturais com base em trabalhos realizados por pesquisadores do Laboratório de Bioinformática e Sistemas do Departamento de Ciência da Computação da Universidade Federal de Minas Gerais.
Signa foi desenvolvido utilizando a linguagem Python, o que garante uma sintaxe simples e amigável, além de alta performance e um rápido tempo de execução.
Requisitos:
- Numpy
- Scipy
Clone o repositório usando o terminal de linhas de comando, GitHub Desktop ou clique no botão Code > Download ZIP. Em seguida, faça a instalação da biblioteca e depois importe signa para seu script Python (não fornecemos suporte para o processo de instalação).
Entretanto, a maneira mais rápida de testar Signa é copiando o arquivo signa.py (ele está dentro da pasta Signa) para o mesmo diretório dos seus arquivos PDB (para testar, copie o arquivo 2lzm.pdb que está dentro de docs/examples). Em seguida, crie um arquivo python no mesmo diretório e adicione o comando a seguir:
import signa
entry = '2lzm.pdb'
signature = signa.read(entry, 'signa-charge')
print(signature)
A função signa.read() aceita os seguintes parâmetros:
read(
pdbID, # endereço e nome do arquivo PDB de entrada
signa_type='csm', # tipo de assinatura, pode ser: signa-charge, csm, acsm, acsm-all, acsm-hp
cutoff_limit = 30, # raio máximo de limite de busca
cutoff_step = 0.2, # valor do intervalo de busca
output_csv = True, # salva o resultado como um arquivo csv
chain='ALL', # filtra a cadeia do arquivo pdb
verbose=True, # exibe mensagens na tela enquanto o programa roda
cumulative=True, # assinaturas cumulativas ou não cumulativas
separator=",", # separador do arquivo de saída
forcefield='AMBER' # campo de força usado em signa-charge
)
Para lidar com múltiplos arquivos, adicione os nomes dos arquivos PDB em um arquivo CSV (um por linha). Em seguida, use o seguinte comando:
import signa
#Para processar múltiplos arquivos PDB, use:
signa.read_csv('lista.csv', 'signa-charge')
Você pode ainda usar a função read_folder() para ler todos os pdbs em uma pasta:
signa.read_folder(
folder='./docs/case_studies/all_pdbs',
signa_type='acsm-all',
cumulative=True,
output='./docs/case_studies/output.csv',
cutoff_limit=20,
cutoff_step=0.2,
format='pdb'
)
O script de cálculo de contatos está dentro do diretório Signa. Você pode executá-lo da seguinte forma:
python contacts.py [file-name].pdb [optional: -hb -hy -ar -re -at -sb -db -csv]
Parâmetros opcionais:
-hb hydrogen bonds
-hy hydrophobic
-ar aromatic
-re repulsive
-at attractive
-sb salt bridge
-db disulfide bonds
-csv (save as csv)
Se nenhum parâmetro for informado, SIGNA irá calcular todos os contatos.
- SIGNA-CHARGE
- SIGNA-ELEMENTAL
- CSM
- aCSM
- aCSM-HP
- aCSM-ALL
- SSV
- Contacts
Contributions by:
- Diego Mariano
- Eduardo Utsch Madureira Moreira
- Frederico Chaves Carvalho
- Lucas Moraes
- Raquel Cardoso de Melo Minardi
- and many others.

