Skip to content

Commit d39d8ca

Browse files
committed
fixed tutorials
1 parent 3c61998 commit d39d8ca

File tree

4 files changed

+207
-4
lines changed

4 files changed

+207
-4
lines changed

_portfolio/portfolio-1.md

Lines changed: 194 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,198 @@
1+
12
---
2-
title: "Tutorial 1"
3-
excerpt: "Tutorial de bash"
3+
title: "BASH scripting para principiantes"
4+
excerpt: "Tutorial de BASH scripting para alunos de iniciação científica e pós-graduação"
45
collection: portfolio
56
---
67

8+
#Bash Scripting
9+
##Bourne-Again Shell (Bash)
10+
Bash é um acrônimo para “Bourne-Again Shell”, o nome de um interpretador de
11+
código e uma linguagem de programação bastante usada em Química Computacional.
12+
Você pode usar o Bash em computadores com sistemas operacionais baseados em
13+
Linux/Unix ou até mesmo em computadores com [Windows 10](https://apps.microsoft.com/store/detail/ubuntu-on-windows/9NBLGGH4MSV6?hl=pt-br&gl=BR).
14+
Em um sistema operacional Linux, como o Ubuntu usado no LMSC, você deve procurar
15+
o aplicativo do terminal ou pressionar o atalho `Control+Alt+T`. Caso tenha o
16+
terminal do Ubuntu instalado em seu computador com Windows, pode acessá-lo da
17+
mesma forma que acessa outros programas no Windows.
18+
19+
Quando o terminal é aberto, o interpretador (`shell`) é inicializado. O seu
20+
computador roda arquivos de inicialização (`.bashrc`, `.bash_profile` etc) que
21+
permitem que tudo seja acessado e executado de forma simples. Usuários avançados
22+
podem modificar seus arquivos de inicialização de acordo com suas necessidades,
23+
mas esse é um tópico para tutoriais futuros.
24+
25+
Com a `shell` aberta, tudo que digitamos é interpretado e resulta em uma
26+
resposta. Se, por acaso, digitamos:
27+
```
28+
pwd
29+
```
30+
a `shell` escreverá na tela um texto como `/home/guilherme`. Esse é chamado de caminho para a pasta onde você está trabalhando. Para ver o conteúdo da pasta,
31+
basta digitar:
32+
```
33+
ls
34+
```
35+
O resultado será uma lista de arquivos e pastas como o exemplo abaixo:
36+
```
37+
exemplo.txt
38+
Documents
39+
Downloads
40+
Music
41+
Pictures
42+
Templates
43+
Videos
44+
```
45+
Normalmente o terminal dá cores diferentes para distinguir pastas de arquivos.
46+
No caso acima, `exemplo.txt` é um arquivo e os demais membros da lista são
47+
pastas. Uma lista de comandos pode ser encontrada [neste link](http://ringo.ams.stonybrook.edu/index.php/Unix),
48+
mas vale a pena ressaltar alguns mais frequentemente usados:
49+
```
50+
pwd # mostra na tela o caminho para a pasta em que o usuário se encontra.
51+
ls # lista o conteúdo da pasta em que o usuário se encontra
52+
cd # permite trocar de pasta.
53+
```
54+
`cd` significa _change directory_ e permite que o usuário entre em outra pasta.
55+
Por exemplo, se eu estiver em `/home/guilherme` e quiser ir para `Documents`
56+
eu digito no terminal
57+
```
58+
cd Documents
59+
```
60+
Caso exista uma pasta chamada `Documents` na pasta em que estou, a `shell`
61+
automaticamente me moverá para essa pasta. Isso pode ser confirmado usando o
62+
comando `pwd`, que deverá mostrar na tela `/home/guilherme/Documents`.
63+
Mais comandos:
64+
```
65+
mkdir # Cria pasta nova
66+
rm # remove arquivos/pastas
67+
cp # copia arquivos/pastas
68+
mv # move a localização de arquivos e pastas, podendo mudar seus nomes
69+
cat # monstra o conteúdo de um arquivo na tela
70+
touch # cria arquivo em branco
71+
```
72+
Um tutorial completo de comandos no Unix pode ser encontrado [neste link](http://www.ee.surrey.ac.uk/Teaching/Unix/).
73+
74+
### Tarefa 1
75+
Faça os tutoriais 1, 2, 3 e 4 [deste link](http://www.ee.surrey.ac.uk/Teaching/Unix/unix1.html)
76+
e responda as perguntas. Escreve suas respostas no seu caderno de laboratório no
77+
[Notion](https://www.notion.so), uma ferramenta gratuita bastante útil para organizar dados e
78+
fazer anotações.
79+
80+
* O que acontece se digitarmos `mkdir trabalho` no terminal? Há erro?
81+
* O que acontece se digitarmos `touch trabalho/texto` no terminal? Há erro?
82+
* O que acontece se digitarmos `rm trabalho` no terminal? Há erro?
83+
* O que acontece se digitarmos `rm -r trabalho` no terminal? Há erro?
84+
* Crie uma pasta com o seu nome. Como você faria isso?
85+
* Como posso entrar no diretório com seu nome?
86+
* Como posso voltar para o diretório-pai?
87+
* Como posso saber em que diretório estou trabalhando?
88+
* O que ocorre se digitar `echo "Estou aprendendo bash" > arquivo`? Teste sua
89+
hipótese digitando `cat arquivo` no terminal.
90+
91+
## Script em bash
92+
Um script em bash (ou bash script) é um arquivo de texto contendo uma série de
93+
instruções na linguagem bash. Você pode criar um script escrevendo o seguinte
94+
comando no terminal:
95+
```
96+
touch meu_primeiro_script.sh
97+
```
98+
Para abrir o arquivo recém criado, você pode usar o editor de texto que quiser.
99+
Eu gosto de usar o `Vim`, mas você pode usar o [`Atom`](https://atom.io), `Nano`, `EMACS`. Para
100+
conhecer mais comandos do `Vim`, acesse [este link](http://ringo.ams.stonybrook.edu/index.php/Vi).
101+
Usando o seu editor de texto favorito, você deve adicionar a seguinte linha ao
102+
topo do arquivo:
103+
```
104+
#!/bin/sh
105+
```
106+
Esta linha sinaliza ao interpretador que o arquivo que a contém é um bash script.
107+
O script é rodado no terminal por meio do comando:
108+
```
109+
bash meu_primeiro_script.sh
110+
```
111+
Como o script que criamos não tem nada além da primeira linha, nada deve acontecer.
112+
Vamos modificá-lo. Usando o seu editor de texto favorito, certifique-se que seu
113+
script contenha as seguintes linhas:
114+
```
115+
#!/bin/sh
116+
117+
number=6
118+
for ((i=0;i<${number};i++))
119+
do
120+
echo "Hello world ${i}"
121+
done
122+
```
123+
Por razões de compatibilidade, scripts normalmente são escritos com variáveis
124+
sem acentuação gráfica. Eu gosto de escrevê-los em inglês porque sou acostumado
125+
mas não é uma exigência. Apenas jamais use caracteres especiais da língua
126+
portuguesa em seu trabalho computacional.
127+
128+
Se você executar seu script digitando `bash meu_primeiro_script.sh` no terminal,
129+
a `shell` mostrará na sua tela as seguintes linhas:
130+
```
131+
Hello world 0
132+
Hello world 1
133+
Hello world 2
134+
Hello world 3
135+
Hello world 4
136+
Hello world 5
137+
```
138+
139+
O processo de imprimir a mesma frase seguida por um número é chamado de iteração
140+
e pode ser usado para fazer uma tarefa repetitiva. Copie e cole no terminal (não
141+
use `control+c` e `control+v` no Linux porque não funciona) as seguintes linhas:
142+
```
143+
cat <<EOF > lista_de_proteinas.txt
144+
1EVE
145+
1H22
146+
1J07
147+
1Q84
148+
1ZGC
149+
1EQG
150+
1EQH
151+
1HT5
152+
1HT8
153+
1Q4G
154+
4COX
155+
EOF
156+
```
157+
O comando acima cria um arquivo chamado `lista_de_proteinas.txt` em que cada
158+
linha entre o nome do arquivo (`lista_de_proteinas.txt`) e a linha `EOF` (end-of-file)
159+
estará no arquivo. Confirme digitando `cat lista_de_proteinas.txt`.
160+
161+
Para evitar processos repetidos, você pode usar iterações como a do script
162+
`meu_primeiro_script.sh`. Crie outro script chamado `mostrar_proteinas.sh` com
163+
os seguintes comandos:
164+
```
165+
#!/bin/sh
166+
167+
for line in $(cat lista_de_proteinas.txt)
168+
do
169+
echo ${line}
170+
done
171+
```
172+
Ao executar o script (`bash mostrar_proteinas.sh`), o terminal mostrará na tela:
173+
```
174+
1EVE
175+
1H22
176+
1J07
177+
1Q84
178+
1ZGC
179+
1EQG
180+
1EQH
181+
1HT5
182+
1HT8
183+
1Q4G
184+
4COX
185+
```
186+
Tudo num script que é iniciado com `$` é uma referência a uma variável. No script
187+
`meu_primeiro_script.sh`, definimos `number=6` e, em seguida escrevemos uma
188+
iteração que significa "para cada `i` inteiro, de i=0 até i<6", escreva na tela
189+
`Hello world` e o valor de `i`". Isso é equivalente à expressão `((i=0;i<${number};i++))`.
190+
Da mesma forma, no script `mostrar_proteinas.sh`, o comando dado quer dizer que
191+
para cada linha (`line`) em `lista_de_proteinas.txt` o comando de mostrar na tela
192+
deve ser usado para mostrar cada linha (`${line}`). As chaves `{}` são usadas
193+
para evitar ambiguidades na leitura do código.
194+
195+
### Tarefa 2
196+
197+
* Escreva um pequeno script que leia `lista_de_proteinas.txt` e que imprima cada
198+
linha cinco vezes.

_portfolio/portfolio-2.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
# Dinâmica Molecular
1+
2+
---
3+
title: "O quê devo instalar na minha estação de trabalho?"
4+
excerpt: "Instalação do Miniconda e outros programas importantes para simulações moleculares"
5+
collection: portfolio
6+
---
27

38
## Tutorial para instalação dos pacotes necessários
49

_portfolio/portfolio-3.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
---
2+
title: "Dinâmica molecular de proteína e ligante em solvente "
3+
excerpt: "Tutorial de preparação para docking de ligante em proteína "
4+
collection: portfolio
5+
---
6+
17
# Tutorial simulações proteína + ligante + solvente
28

39
Created: March 18, 2022 11:01 AM

_portfolio/portfolio-4.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: "Tutorial 3"
2+
title: "Preparação para docking com o DOCK 6"
33
excerpt: "Tutorial de preparação para docking de ligante em proteína "
44
collection: portfolio
55
---

0 commit comments

Comments
 (0)