Índice
- O Curso R
-
- Tutoriais
-
- Apostila
-
- 6. Testes de Hipótese (em preparação!)
- Exercícios
-
- Material de Apoio
-
- Área dos Alunos
-
- Cursos Anteriores
-
IBUSP
Outras Insitutições
Linques
Visitantes
Outras Insitutições
Vinicius Magalhães Borges
Doutorando do Programa de Genética do IB-USP.
A tese do meu projeto é intitulada “Estudos de Associação Baseados em Famílias dos Fenótipos Obesidade e Hipertensão em Indivíduos Afro-Descendentes de Remanescentes de Quilombos”.
I. Página de exercícios:
II. Propostas
Proposta A: Escolhendo o melhor combustível
Introdução
Atualmente quase 95% dos carros novos vendidos no Brasil são movidos a álcool ou gasolina, denominados flex. O primeiro carro movido a álcool comercialmente vendido no mundo foi o Ford modelo T, produzido entre 1908 e 1927 (HUNT, 1981). Usando a tecnologia criada por Ford e aperfeiçoando os motores à demanda e realidade do Brasil, o CTA (Centro Técnico Aeroespacial), braço científico da aeronáutica brasileira, lançou adaptações no motor a combustão a gasolina comumente utilizado no Brasil em 1975, despertando interesse e apoio do então presidente Ernesto Geisel que por sua vez lançou o Programa Nacional do Álcool. O programa foi um sucesso e muitos carros movidos apenas a álcool foram lançados à época, mas devido a baixa do preço do petróleo e, consequentemente da gasolina, aliado com a melhor autonomia deste combustível o álcool perdeu o apelo e carros apenas a álcool foram esquecidos. Os carros a álcool até resistiram durante os anos 1990 e chegaram a cruzar a virada do século, mas eram vendidos por encomenda e a demanda era baixíssima, finalmente sucumbindo em 2003, quando a Volkswagen lançou o primeiro modelo flex brasileiro, o Gol.
Objetivo da função
A função irá apontar qual a melhor opção para abastecer carros com motores flex.
Entrada de dados
O “modo simples” da função irá requerer os valores do litro do álcool e da gasolina no posto a escolha do usuário. O “modo avançado” poderá ser utilizado ao ser informado, em adição, 4 valores quantitativos correspondentes ao consumo do carro do usuário com gasolina e álcool, na estrada e na cidade. Em caso de viagem, será solicitado a cidade de origem e destino.
Argumentos
Saída de dados
Quando usada com os argumentos mínimos obrigatórios, a função irá retornar o valor qualitativo de qual o combustível indicado e gráficos de rendimento para cada combustível. Quando usada com todos os argumentos disponíveis, a função irá retornar com o que a entrada básica já resulta, mais valores quantitativos da distância a ser percorrida, quantidade de combustível necessária para tal.
Referências
Hunt, V, D, The Gasohol Handbook, Industrial Press Inc., 1981, pp 9, 420,421, 442
Comentários Lucas Teixeira
Resposta:
Olá Lucas,
O gráfico inicial seria a autonomia do carro com 50L (tamanho médio dos tanques) de álcool e com gasolina, em colunas (tanque cheio (50L) x rendimento). A ideia da função é, de forma básica, apontar com um gráfico a melhor opção de combustível e, caso o usuário deseje adicionar mais informações, obter autonomia em estrada e na cidade, quantos litros e paradas serão necessárias até o destino a depender do combustível. As distâncias entre cidades serão obtidas a partir de uma arquivo que eu criarei entre as distâncias em km entre as capitais do país (em caráter de teste, entre capitais, ainda não consegui pensar numa forma eficiente de fazer isso entre quaisquer cidades). Se o usuário for dirigir dentro de cidades e em estrada, eu posso fazer a media da autonomia.
Pseudo codigo
Eu não consegui pensar numa forma de fazer os argumentos entrarem dentro de uma função só, então pensei em dividir em duas…
Modo simples: -Cria os objetos ALC e GAS. -Dentro da função F1, multiplica ALCx50 e GASx50 pra em seguida plotar em colunas, num mesmo gráfico.
Modo avançado: -Cria os objetos ALC, GAS, CAE, CAC, CGC, CGE, alem de CID1 (nome da cidade de origem e CID2 (nome da cidade de destino). Se o uso for urbano, CID1 será igual a CID2
-Dentro da função F2, multiplica ALCx50 e GASx50 pra em seguida plotar em colunas, num mesmo gráfico. Retorna a distância entre as cidades, a quantidade de combustível necessária para o trajeto se for viagem e o número de paradas necessárias para reabastecimento para cumprir o trajeto.
Comentários Lucas Teixeira
Proposta B: Checando parâmetros de amostras de DNA e calculando volumes
Introdução
Parte importante do preparo de amostras de DNA para realização de amplificação (PCR, por exemplo) ou para genotipagem (array de SNPs, por ex) é a padronização. Independente do objetivo e do protocolo, existem parâmetros exigidos para assegurar a qualidade e pureza da amostra.
Objetivo da função: Otimizar o tempo na padronização das amostras ao indicar se a amostra está adequada ou não para prosseguir com o protocolo, bem como calcular o volume final a ser utilizado considerando possível diluição em buffer.
Entrada de dados
Será necessário carregar um objeto data frame com o nome das amostras, as concentrações de DNA em ng/uL e os valores das razões de pureza 260/230 e 260/280, obtidos através de quantificadores de DNA.
Argumentos
Saída de dados
Será devolvido ao usuário informações em data frame com a aprovação ou não das amostras. Em caso negativo, será apontado o parâmetro inadequado. Em caso positivo será apontado o volume de amostra a ser utilizada e o volume de buffer necessário.
Comentários Lucas Teixeira
Olá novamente,
Array de SNPs é uma técnica de varredura genomica, mas especifica para identificação de bases nucleotidicas em posições que frequentemente apresentam opções de bases, chamado de polimorfismo. De forma simples é uma forma de se obter o genotipo de SNPs espalhados por todo o genoma do indivíduo. É uma técnica bastante utilizada em estudos de doenças quando se tem populações específicas ou não, sendo crucial para realização de análise de ligação e estudos de associação (técnicas que tentam descobrir onde está o gene responsável pela condição). Para que essa varredura genomica seja eficaz, as empresas que executam a análise pedem que a amostra de DNA extraida esteja dentro de certos padrões, com uma concentração adequada, volume adequado, sem contaminação por proteina ou outras moléculas. Checar se a amostra está ou não obedecendo esses parâmetros e calcular se e em quanto a alicota precisa ser diluída é uma etapa que leva bastante tempo, daí minha ideia de fazer uma função pra isso. Este é apenas um exemplo, a padronização de amostras de DNA é necessária para realização de amplificação por PCR, por exemplo. Amostras contaminadas (com razões de pureza inadequadas) não amplificam. Em todos os casos, avaliar se a amostra de DNA está ou não dentro dos parâmetros requeridos é etapa crucial em qualquer técnica de manipulação de DNA.
Pseudo Código
-Criação dos objetos PUR1, PUR2, VOL e CONC, atribuindo a cada um o valor informado ao chamar a função. Se o usuário não informar os valores dos argumentos serão atribuídos os valores default.
-Criação dos objetos PUR1V, PUR2V, CONCV, CONCI e VOLI com NAs.
-Entrada do data.frame X, com os valores de concentração e razões de pureza por coluna, linha a linha com o nome da amostra.
-Inicia um for, onde j será cada linha de X.
-Compara os valores das posições da linha carregada j com os valores de limite atribuídos aos objetos PUR1, PUR2 e CONC. Atribui o resultado de cada comparação a 3 novos objetos PUR1V, PUR2V e CONCV, sendo valores booleanos de TRUES e FALSES pra cada objeto.
-Retorna um data frame com o nome da amostra obtido da posição 1 de j, confere se PUR1V, PUR2V e CONCV são todos TRUE, se for retorna na posição 2 “amostra adequada”, caso contrário retorna “amostra inadequada devido a x”, onde x será o(s) objeto(s) com valor FALSE.
-Inicie um if, onde se PUR1V, PUR2V e CONCV todos TRUE, obtém o valor de concentração da posição referente ao mesmo em j (linha carregada) e atribui a CONCI, calcula Vi x Ci = Vf x Cf (onde Ci será CONCI , Vf será VOL, Cf será CONC) e atribui a VOLI.
-Retorna VOLI na posição 3 do data frame.
-Calcula 55-VOLI e retorna na posição 4 do data frame (correspondente a quantidade de buffer a ser adicionada a alicota).
Comentários Lucas Teixeira
III. Trabalho Final
Link para a função → AQUI
Link para o help da função → AQUI