2012-06-07 6 views
7

Ich baue ein R-Paket zum ersten Mal und habe einige Probleme. Ich mache eine R CMD Check und bekomme folgende Fehlermeldung:Gebäude R-Paket: keine sichtbare globale Funktionsdefinition für 'Betreff'

get.AlignedPositions: no visible global function definition for 'subject' 

Ich bin mir nicht sicher, was das verursacht. Ich habe nicht einmal eine "Subjekt" -Variable in meinem Code. Der Code ist ziemlich lang, also füge ich nicht alles ein, es sei denn jemand fragt in einem Kommentar. Gibt es etwas Bestimmtes, wonach ich suchen sollte? Das einzige, was ich denken kann, ist, dass ich eine Zeile wie diese haben:

alignment <-pairwiseAlignment(pattern = canonical.protein, subject=protein.extracted, patternQuality=patternQuality, 
          subjectQuality=subjectQuality,type = type, substitutionMatrix= substitutionMatrix, 
          fuzzyMatrix=fuzzyMatrix,gapOpening=gapOpening,gapExtension=gapExtension, 
          scoreOnly=scoreOnly) 

aber Gegenstand von der pairwiseAlignment Funktion im Biostrings Paket definiert ist. Danke für Ihre Hilfe!

+0

Schauen Sie in Ihrer Funktion 'get.AlignedPosition', könnten Sie in der Lage sein zu erkennen, dass' subject' als Funktion verwendet wird, im Sinne von 'subject (foo)'. Die Bioconductor [Entwickler-Mailing-Liste] (http://bioconductor.org/help/mailing-list/) wurde entwickelt, um auch den (im Entstehen begriffenen) Bioconductor-Entwicklern zu dienen. –

+0

In der Funktion, wo Sie dieses Bit Code haben, ganz oben, legen Sie in der nächsten Zeile ein 'Thema <- NA' und dann' rm (Betreff) '. Dann mach nochmal einen Build und schau was passiert. – Maiasaura

Antwort

6

R entdeckte eine Funktion, subject, die ohne eine Funktion namens subject verwendet wird. Ein möglicher Grund dafür ist in this discussion on R-devel erläutert. In diesem Fall wird Code bedingt verwendet, z. Wenn ein bestimmtes Paket installiert ist, verwenden wir dessen Funktionalität. Wenn Sie das Paket auf einem System überprüfen, auf dem dieses Paket nicht installiert ist, führen wir diese Art von Warnungen aus. Bitte überprüfen Sie, ob dies der Fall ist. Alternativ könnten Sie einen Fehler begangen haben, indem Sie das Subjekt aufgerufen haben, während keine Funktion existierte, z. subject war keine Funktion, sondern nur ein Objekt.

Verwandte Themen