Nantes Université
Skip to content
GitLab
Explorer
Connexion
S'inscrire
Navigation principale
Rechercher ou aller à…
Projet
P
pyBlast
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Wiki
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Compilation
Pipelines
Jobs
Planifications de pipeline
Artéfacts
Déploiement
Releases
Registre de modèles
Opération
Environnements
Surveillance
Incidents
Service d'assistance
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse CI/CD
Données d'analyse du dépôt
Expériences du modèle
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
adrien
pyBlast
Validations
5ad46016
Valider
5ad46016
rédigé
il y a 10 ans
par
Adrien Leger
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
Correct assertion test in BlastHit
parent
c78adf4b
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Modifications
2
Masquer les modifications d'espaces
En ligne
Côte à côte
Affichage de
2 fichiers modifiés
BlastHit.py
+27
-27
27 ajouts, 27 suppressions
BlastHit.py
test_pyBlast.py
+11
-11
11 ajouts, 11 suppressions
test_pyBlast.py
avec
38 ajouts
et
38 suppressions
BlastHit.py
+
27
−
27
Voir le fichier @
5ad46016
...
...
@@ -35,32 +35,32 @@ class BlastHit(object):
q_id
=
"
query
"
,
s_id
=
"
subject
"
,
identity
=
100
,
length
=
0
,
length
=
1
0
,
mis
=
0
,
gap
=
0
,
q_start
=
0
,
q_end
=
0
,
s_start
=
0
,
s_end
=
0
,
q_start
=
1
,
q_end
=
1
0
,
s_start
=
1
,
s_end
=
1
0
,
evalue
=
0
,
bscore
=
0
,
q_seq
=
"
ATCG
"
):
"""
Create a BlastHit object which is automatically added to the class tracking instance list
The object with the following parameters are required for object initialisation
@param q_id Query sequence name
@param s_id Subject sequence name
@param identity % of identity in the hit
@param length length of the hit
@param mis Number of mismatch in the hit
@param gap Number of gap in the hit
@param q_start Hit start position of the query
@param q_end Hit end position of the query
@param s_start Hit start position of the subject
@param s_end Hit end position of the subject
@param evalue E value of the alignement
@param bscore Bit score of the alignement
@param q_seq Sequence of the query aligned on the subject sequence
@param q_id Query sequence name
[STR]
@param s_id Subject sequence name
[STR]
@param identity % of identity in the hit
[FLOAT 0:100]
@param length length of the hit
[INT >=1]
@param mis Number of mismatch in the hit
[INT >=0]
@param gap Number of gap in the hit
[INT >=0]
@param q_start Hit start position of the query
(1 based) [INT >=1]
@param q_end Hit end position of the query
(1 based) [INT >=1]
@param s_start Hit start position of the subject
(1 based) [INT >=1]
@param s_end Hit end position of the subject
(1 based) [INT >=1]
@param evalue E value of the alignement
[FLOAT >=0]
@param bscore Bit score of the alignement
[FLOAT >=0]
@param q_seq Sequence of the query aligned on the subject sequence
[STR]
"""
# Store parameters in self variables
...
...
@@ -112,12 +112,12 @@ class BlastHit(object):
def
_test_arg
(
self
):
assert
0
<=
self
.
identity
<=
100
,
"
Identity value out of range [0:100]
"
assert
self
.
length
>
-
1
,
"
length value out of range [>=
0
]
"
assert
self
.
mis
>
-
1
,
"
mis value out of range [>= 0]
"
assert
self
.
gap
>
-
1
,
"
gap value out of range [>= 0]
"
assert
self
.
q_start
>
-
1
,
"
q_start value out of range [>=
0
]
"
assert
self
.
q_end
>
-
1
,
"
q_end value out of range [>=
0
]
"
assert
self
.
s_start
>
-
1
,
"
s_start value out of range [>=
0
]
"
assert
self
.
s_end
>
-
1
,
"
s_end value out of range [>=
0
]
"
assert
self
.
evalue
>
-
1
,
"
evalue value out of range [>= 0]
"
assert
self
.
bscore
>
-
1
,
"
bscore value out of range [>= 0]
"
assert
self
.
length
>
=
1
,
"
length value out of range [>=
1
]
"
assert
self
.
mis
>
=
0
,
"
mis value out of range [>= 0]
"
assert
self
.
gap
>
=
0
,
"
gap value out of range [>= 0]
"
assert
self
.
q_start
>
=
0
,
"
q_start value out of range [>=
1
]
"
assert
self
.
q_end
>
=
0
,
"
q_end value out of range [>=
1
]
"
assert
self
.
s_start
>
=
0
,
"
s_start value out of range [>=
1
]
"
assert
self
.
s_end
>
=
0
,
"
s_end value out of range [>=
1
]
"
assert
self
.
evalue
>
=
0
,
"
evalue value out of range [>= 0]
"
assert
self
.
bscore
>
=
0
,
"
bscore value out of range [>= 0]
"
This diff is collapsed.
Cliquez pour l'agrandir.
test_pyBlast.py
+
11
−
11
Voir le fichier @
5ad46016
...
...
@@ -80,17 +80,17 @@ class rand_subject_query_files (object):
# Define parameters for the test_BlastHit function with a pytest decorator
@pytest.mark.parametrize
(
"
identity, length, mis, gap, q_start, q_end, s_start, s_end, evalue, bscore
"
,
[
(
rf
(
0
,
100
),
ri
(
1
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
rf
(
0
,
10
),
rf
(
0
,
100
)),
pytest
.
mark
.
xfail
((
-
1
,
ri
(
1
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
rf
(
0
,
100
),
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
-
1
,
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
rf
(
0
,
100
),
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
ri
(
1
,
100
),
-
1
,
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
rf
(
0
,
100
),
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
ri
(
1
,
100
),
ri
(
0
,
100
),
-
1
,
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
rf
(
0
,
100
),
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
ri
(
1
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
-
1
,
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
rf
(
0
,
100
),
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
ri
(
1
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
-
1
,
ri
(
0
,
100
),
ri
(
0
,
100
),
rf
(
0
,
100
),
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
ri
(
1
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
-
1
,
ri
(
0
,
100
),
rf
(
0
,
100
),
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
ri
(
1
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
-
1
,
rf
(
0
,
100
),
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
ri
(
1
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
-
1
,
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
ri
(
1
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
rf
(
0
,
100
),
-
1
))
(
rf
(
0
,
100
),
ri
(
1
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
rf
(
0
,
10
),
rf
(
0
,
100
)),
pytest
.
mark
.
xfail
((
-
1
,
ri
(
1
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
rf
(
0
,
100
),
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
-
1
,
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
rf
(
0
,
100
),
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
ri
(
1
,
100
),
-
1
,
ri
(
0
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
rf
(
0
,
100
),
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
ri
(
1
,
100
),
ri
(
0
,
100
),
-
1
,
ri
(
1
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
rf
(
0
,
100
),
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
ri
(
1
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
-
1
,
ri
(
1
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
rf
(
0
,
100
),
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
ri
(
1
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
1
,
100
),
-
1
,
ri
(
1
,
100
),
ri
(
1
,
100
),
rf
(
0
,
100
),
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
ri
(
1
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
-
1
,
ri
(
1
,
100
),
rf
(
0
,
100
),
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
ri
(
1
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
-
1
,
rf
(
0
,
100
),
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
ri
(
1
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
-
1
,
rf
(
0
,
100
))),
pytest
.
mark
.
xfail
((
rf
(
0
,
100
),
ri
(
1
,
100
),
ri
(
0
,
100
),
ri
(
0
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
ri
(
1
,
100
),
rf
(
0
,
100
),
-
1
))
])
# Test BlastHit success and with failure with various parameters
...
...
This diff is collapsed.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter